#include <S0HadEarlyHcalBar3.h>
Inheritance diagram for FastShower::S0HadEarlyHcalBar3:
Public Methods | |
S0HadEarlyHcalBar3 (IUpdatingGaussian *, IProcessedDist *, IInTail *) | |
S0HadEarlyHcalBar3 (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_nSigma1 |
const double | s_nSigma2 |
|
Definition at line 26 of file S0HadEarlyHcalBar3.cxx. Referenced by clone().
|
|
Definition at line 32 of file S0HadEarlyHcalBar3.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 41 of file S0HadEarlyHcalBar3.cxx. References S0HadEarlyHcalBar3().
00041 { 00042 return new S0HadEarlyHcalBar3(*this); 00043 } |
|
sample and fill CoreSamples.
Implements FastShower::ISampler. Definition at line 45 of file S0HadEarlyHcalBar3.cxx.
|
|
read back last deposit - used by monitoring code.
Implements FastShower::ISampler. Definition at line 82 of file S0HadEarlyHcalBar3.cxx. References FastShower::CoreSamples::give().
00082 { 00083 return cs.give(this); 00084 } |
|
Reimplemented from FastShower::DebugBase. Definition at line 86 of file S0HadEarlyHcalBar3.cxx. References m_inTail, m_peak, and m_tail.
|
|
Definition at line 55 of file S0HadEarlyHcalBar3.cxx. References FastShower::ParticleParameters::energy(), m_peak, m_tail, FastShower::PolyArgs::pp(), s_nSigma1, and s_nSigma2.
00055 { 00056 00057 pair<double, double> peakParams = m_peak->parameters(pa); 00058 double peakMean = peakParams.first; 00059 double peakSigma = peakParams.second; 00060 00061 double energy = pa.pp()->energy(); 00062 00063 //calculate ther upper and lower limits of the tail 00064 double uLimit = peakMean - s_nSigma1*peakSigma; 00065 uLimit = max(uLimit, 0.0); 00066 uLimit = min(uLimit, 1.0); 00067 // 00068 double lLimit = (energy<30.0)? 0.0 : peakMean - s_nSigma2*peakSigma; 00069 lLimit = max(lLimit, 0.0); 00070 if (lLimit>uLimit) lLimit=0.0; 00071 00072 // Sample 00073 if (!(uLimit>0.0)) uLimit = 1.0; 00074 LinearProcessor lp((uLimit-lLimit), lLimit); 00075 return m_tail->sample(&lp); 00076 } |
|
Definition at line 78 of file S0HadEarlyHcalBar3.cxx.
00078 { 00079 return m_peak->sample(0.0, 100, 1.0, 100, pa); 00080 } |
|
Definition at line 82 of file S0HadEarlyHcalBar3.h. Referenced by components(), evalTail(), and S0HadEarlyHcalBar3(). |
|
Definition at line 83 of file S0HadEarlyHcalBar3.h. Referenced by components(), evalTail(), and S0HadEarlyHcalBar3(). |
|
Definition at line 84 of file S0HadEarlyHcalBar3.h. Referenced by components(), and S0HadEarlyHcalBar3(). |
|
Referenced by evalTail(). |
|
Referenced by evalTail(). |