#include <UpdatingGaussian.h>
Inheritance diagram for FastShower::UpdatingGaussian:
Public Methods | |
UpdatingGaussian (IFn *meanFunction, IFn *sigmaFunction, IProcessedDist *norm) | |
UpdatingGaussian (const std::string &samplerName, const IConfigurer &) | |
~UpdatingGaussian () | |
virtual IUpdatingGaussian * | clone () const |
virtual double | sample (double phyiscalLow, double nSigmaLow, double physicalUp, double nSigmaUp, const PolyArgs &) const |
sample a processed normal dist. | |
virtual std::pair< double, double > | parameters (const PolyArgs &) const |
Tail distributions (eg) need to get peak mean, sigma (eg) to establish their own range. | |
virtual void | components (std::vector< const IDebug * > &) const |
Private Attributes | |
SP< IFn > | m_mean |
Two functions to supply the DistProcessors with parameters. | |
SP< IFn > | m_sigma |
SP< IProcessedDist > | m_normal |
|
Definition at line 5 of file UpdatingGaussian.cxx. Referenced by clone().
|
|
Definition at line 10 of file UpdatingGaussian.cxx. References FastShower::IConfigurer::findFn(), m_mean, m_normal, m_sigma, and FastShower::IConfigurer::makeProcessedNormal().
|
|
Definition at line 54 of file UpdatingGaussian.h.
00054 {}; |
|
Implements FastShower::IUpdatingGaussian. Definition at line 50 of file UpdatingGaussian.cxx. References UpdatingGaussian().
00050 { 00051 IUpdatingGaussian* nug= new UpdatingGaussian(*this); 00052 return nug; 00053 } |
|
sample a processed normal dist. The procesed norm will be truncated at -nSigmaLow +nSigmaUp, unless physical limits are exceeded. Implements FastShower::IUpdatingGaussian. Definition at line 16 of file UpdatingGaussian.cxx. References m_mean, m_normal, and m_sigma.
00021 { 00022 00023 double mean = m_mean->value(pa); 00024 double sigma = m_sigma->value(pa); 00025 00026 double lowLim = mean-(nSigmaLow*sigma); 00027 if(lowLim<physicalLow){ lowLim=physicalLow;} 00028 00029 double upLim = mean+(nSigmaUp*sigma); 00030 if(upLim>physicalUp){ upLim=physicalUp;} 00031 00032 LinearProcessor lp(sigma, mean); 00033 cout<<"UG limits: "<<lowLim<<" "<<upLim<<endl; 00034 return m_normal->sample(lowLim, upLim, &lp); 00035 } |
|
Tail distributions (eg) need to get peak mean, sigma (eg) to establish their own range.
Implements FastShower::IUpdatingGaussian. Definition at line 38 of file UpdatingGaussian.cxx. References m_mean, and m_sigma. Referenced by FastShower::UpdatingGaussianTester::test().
|
|
Definition at line 44 of file UpdatingGaussian.cxx. References m_mean, m_normal, and m_sigma.
|
|
Two functions to supply the DistProcessors with parameters.
Definition at line 73 of file UpdatingGaussian.h. Referenced by components(), parameters(), sample(), and UpdatingGaussian(). |
|
Definition at line 74 of file UpdatingGaussian.h. Referenced by components(), parameters(), sample(), and UpdatingGaussian(). |
|
Definition at line 75 of file UpdatingGaussian.h. Referenced by components(), sample(), and UpdatingGaussian(). |