#include <SNEmEcalEc2.h>
Inheritance diagram for FastShower::SNEmEcalEc2:
Public Methods | |
SNEmEcalEc2 (IUpdatingGaussian *, IProcessedDist *, IInTail *) | |
SNEmEcalEc2 (const IConfigurer *, const std::string &) | |
virtual ISampler * | clone () const |
ISampler interface. | |
virtual void | sample (const PolyArgs &, CoreSamples &) const |
sample and fill CoreSamples. | |
virtual double | lastValue (const CoreSamples &) const |
read back last deposit - used by monitoring code. | |
virtual void | components (IDebug::Cpts &) const |
Private Methods | |
double | evalTail (const PolyArgs &) const |
double | evalPeak (const PolyArgs &) const |
Private Attributes | |
SP< IUpdatingGaussian > | m_peak |
SP< IProcessedDist > | m_tail |
SP< IInTail > | m_inTail |
Static Private Attributes | |
const double | s_nSigma |
|
Definition at line 25 of file SNEmEcalEc2.cxx. Referenced by clone().
|
|
Definition at line 31 of file SNEmEcalEc2.cxx. References FastShower::IConfigurer::findIUG(), m_inTail, m_peak, m_tail, FastShower::IConfigurer::makeIInTail(), FastShower::IConfigurer::makeProcessedFlat(), and FastShower::DebugBase::text().
|
|
ISampler interface.
Implements FastShower::ISampler. Definition at line 40 of file SNEmEcalEc2.cxx. References SNEmEcalEc2().
00040 {return new SNEmEcalEc2(*this);} |
|
sample and fill CoreSamples.
Implements FastShower::ISampler. Definition at line 43 of file SNEmEcalEc2.cxx. References evalPeak(), evalTail(), FastShower::CoreSamples::fill(), and m_inTail.
|
|
read back last deposit - used by monitoring code.
Implements FastShower::ISampler. Definition at line 88 of file SNEmEcalEc2.cxx. References FastShower::CoreSamples::give().
00088 { 00089 return cs.give(this); 00090 } |
|
Reimplemented from FastShower::DebugBase. Definition at line 92 of file SNEmEcalEc2.cxx. References m_inTail, m_peak, and m_tail.
|
|
Definition at line 52 of file SNEmEcalEc2.cxx. References FastShower::ParticleParameters::energy(), m_peak, m_tail, FastShower::PolyArgs::pp(), and s_nSigma. Referenced by sample().
00052 { 00053 00054 pair<double, double> peakParams = m_peak->parameters(pa); 00055 double peakMean = peakParams.first; 00056 double peakSigma = peakParams.second; 00057 00058 //calculate the upper and lower limits of the tails 00059 double uLimit = peakMean - s_nSigma*peakSigma; 00060 // 00061 double energy = pa.pp()->energy(); 00062 00063 double lLimit = 0.0; 00064 if (energy<30.0){ 00065 lLimit = 0.10*peakMean; 00066 }else if (energy<70.0){ 00067 lLimit = 0.70*peakMean; 00068 }else{ 00069 lLimit = 0.0; 00070 } 00071 // 00072 if(lLimit<0.){lLimit=0.;} 00073 //IMPROVEME - the logic of setting limits to be made clearer 00074 if(uLimit<0.){ uLimit=peakMean;} 00075 if(uLimit<=lLimit){ uLimit=peakMean;} 00076 // 00077 LinearProcessor lp( (uLimit-lLimit), lLimit ); 00078 return m_tail->sample(&lp); 00079 } |
|
Definition at line 81 of file SNEmEcalEc2.cxx. References m_peak, and s_nSigma. Referenced by sample().
|
|
Definition at line 71 of file SNEmEcalEc2.h. Referenced by components(), evalPeak(), evalTail(), and SNEmEcalEc2(). |
|
Definition at line 72 of file SNEmEcalEc2.h. Referenced by components(), evalTail(), and SNEmEcalEc2(). |
|
Definition at line 73 of file SNEmEcalEc2.h. Referenced by components(), sample(), and SNEmEcalEc2(). |
|
Referenced by evalPeak(), and evalTail(). |