#include <UpdatingGaussian0LP.h>
Inheritance diagram for FastShower::UpdatingGaussian0LP:
Public Methods | |
UpdatingGaussian0LP (const std::string &samplerName, const IConfigurer &) | |
virtual | ~UpdatingGaussian0LP () |
virtual std::pair< double, double > | getLims (double phyiscalLow, double nSigmaLow, double physicalUp, double nSigmaUp, const PolyArgs &) const |
find limits for sampling. | |
virtual IDistProcessor * | makeIDistProcessor (const PolyArgs &) const |
virtual IUpdatingGaussian * | clone () const |
|
Definition at line 5 of file UpdatingGaussian0LP.cxx. Referenced by clone().
00006 : 00007 UpdatingGaussianBase(label, c){ 00008 } // |
|
Definition at line 52 of file UpdatingGaussian0LP.h.
00052 {}; |
|
find limits for sampling. The distribution will be truncated at -nSigmaLow +nSigmaUp, unless physical limits are exceeded, in which case the physical limits will be used. Implements FastShower::UpdatingGaussianBase. Definition at line 10 of file UpdatingGaussian0LP.cxx. References FastShower::IUpdatingGaussian::parameters().
00015 { 00016 std::pair<double, double> params = this->parameters(pa); 00017 double mean = params.first; 00018 double sigma = params.second; 00019 00020 double lowLim = mean-(nSigmaLow*sigma); 00021 if(lowLim<physicalLow){ lowLim=physicalLow;} 00022 00023 double upLim = mean+(nSigmaUp*sigma); 00024 if(upLim>physicalUp){ upLim=physicalUp;} 00025 00026 return std::pair<double, double>(lowLim, upLim); 00027 } |
|
Implements FastShower::UpdatingGaussianBase. Definition at line 29 of file UpdatingGaussian0LP.cxx. References FastShower::IUpdatingGaussian::parameters().
00029 { 00030 std::pair<double, double> params = this->parameters(pa); //get mean, sigma 00031 //mult by sigma, add mean 00032 return new LinearProcessor(params.second, params.first); 00033 } |
|
Implements FastShower::IUpdatingGaussian. Definition at line 34 of file UpdatingGaussian0LP.cxx. References UpdatingGaussian0LP().
00034 { 00035 IUpdatingGaussian* nug= new UpdatingGaussian0LP(*this); 00036 return nug; 00037 } |