#include <SNEmEcalBar2.h>
Inheritance diagram for FastShower::SNEmEcalBar2:
Public Methods | |
SNEmEcalBar2 (IUpdatingGaussian *, IProcessedDist *, IInTail *, IFn *) | |
SNEmEcalBar2 (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 &cs) 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 |
SP< IFn > | m_tailLowerBound |
Static Private Attributes | |
const double | s_nSigma |
|
Definition at line 24 of file SNEmEcalBar2.cxx. Referenced by clone().
00027 : 00028 ISampler(), ICellSN(), DebugBase("SNEmEcalBar2"), 00029 m_peak(g), m_tail(f), m_inTail(it), m_tailLowerBound(tlb){} |
|
Definition at line 31 of file SNEmEcalBar2.cxx. References FastShower::IConfigurer::findFn(), FastShower::IConfigurer::findIUG(), m_inTail, m_peak, m_tail, m_tailLowerBound, FastShower::IConfigurer::makeIInTail(), FastShower::IConfigurer::makeProcessedFlat(), and FastShower::DebugBase::text().
00033 : 00034 DebugBase("SN2"), m_peak(0), m_tail(0), m_inTail(0), m_tailLowerBound(0){ 00035 m_peak = configurer->findIUG( text()+"Peak" ) ; 00036 m_tail = configurer->makeProcessedFlat( text() ); 00037 m_inTail = configurer->makeIInTail( text() ); 00038 m_tailLowerBound = configurer->findFn( text()+"TailLowerBound"); 00039 cout<<text()<<" finishing construction"<<endl; 00040 } |
|
ISampler interface.
Implements FastShower::ISampler. Definition at line 42 of file SNEmEcalBar2.cxx. References SNEmEcalBar2().
00042 {return new SNEmEcalBar2(*this);} |
|
sample and fill CoreSamples.
Implements FastShower::ISampler. Definition at line 45 of file SNEmEcalBar2.cxx. References evalPeak(), evalTail(), FastShower::CoreSamples::fill(), and m_inTail.
|
|
read back last deposit - used by monitoring code.
Implements FastShower::ISampler. Definition at line 81 of file SNEmEcalBar2.cxx. References FastShower::CoreSamples::give().
00081 { 00082 return cs.give(this); 00083 } |
|
Reimplemented from FastShower::DebugBase. Definition at line 85 of file SNEmEcalBar2.cxx. References m_inTail, m_peak, m_tail, and m_tailLowerBound.
00085 { 00086 v.push_back(m_peak); 00087 v.push_back(m_tail); 00088 v.push_back(m_inTail); 00089 v.push_back(m_tailLowerBound); 00090 } |
|
Definition at line 54 of file SNEmEcalBar2.cxx. References m_peak, m_tail, m_tailLowerBound, and s_nSigma. Referenced by sample().
00054 { 00055 00056 pair<double, double> peakParams = m_peak->parameters(pa); 00057 double peakMean = peakParams.first; 00058 double peakSigma = peakParams.second; 00059 00060 //calculate the upper and lower limits of the tail 00061 double uLimit = peakMean - s_nSigma*peakSigma; 00062 // 00063 double lLimit = m_tailLowerBound->value(pa); 00064 // 00065 if(lLimit<0.){lLimit=0.;} 00066 //IMPROVEME - the logic of setting limits to be made clearer 00067 if(uLimit<0.){ uLimit=peakMean;} 00068 if(uLimit<=lLimit){ uLimit=peakMean;} 00069 // 00070 LinearProcessor lp( (uLimit- lLimit), lLimit ); 00071 return m_tail->sample(&lp); 00072 } |
|
Definition at line 74 of file SNEmEcalBar2.cxx. References m_peak, and s_nSigma. Referenced by sample().
|
|
Definition at line 76 of file SNEmEcalBar2.h. Referenced by components(), evalPeak(), evalTail(), and SNEmEcalBar2(). |
|
Definition at line 77 of file SNEmEcalBar2.h. Referenced by components(), evalTail(), and SNEmEcalBar2(). |
|
Definition at line 78 of file SNEmEcalBar2.h. Referenced by components(), sample(), and SNEmEcalBar2(). |
|
Definition at line 79 of file SNEmEcalBar2.h. Referenced by components(), evalTail(), and SNEmEcalBar2(). |
|
Referenced by evalPeak(), and evalTail(). |