Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

FastShower::S0HadEarlyHcalEc1 Class Reference

#include <S0HadEarlyHcalEc1.h>

Inheritance diagram for FastShower::S0HadEarlyHcalEc1:

Inheritance graph
[legend]
Collaboration diagram for FastShower::S0HadEarlyHcalEc1:

Collaboration graph
[legend]
List of all members.

Public Methods

 S0HadEarlyHcalEc1 (IProcessedDist *, IProcessedDist *, IInTail *)
 S0HadEarlyHcalEc1 (const IConfigurer *, const std::string &)
virtual ISamplerclone () 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< IProcessedDistm_peak
SP< IProcessedDistm_tail
SP< IInTailm_inTail

Constructor & Destructor Documentation

FastShower::S0HadEarlyHcalEc1::S0HadEarlyHcalEc1 IProcessedDist  ,
IProcessedDist  ,
IInTail  
 

Definition at line 24 of file S0HadEarlyHcalEc1.cxx.

Referenced by clone().

00026                                                    :
00027     ISampler(), ISlice0(), DebugBase("S0HadEarlyHcalEc1"), 
00028     m_peak(peak), m_tail(tail), m_inTail(it){}

FastShower::S0HadEarlyHcalEc1::S0HadEarlyHcalEc1 const IConfigurer  ,
const std::string &   
 

Definition at line 30 of file S0HadEarlyHcalEc1.cxx.

References m_inTail, m_peak, m_tail, FastShower::IConfigurer::makeIInTail(), FastShower::IConfigurer::makeProcessedFlat(), and FastShower::DebugBase::text().

00031                                                           :
00032     DebugBase(s), m_peak(0), m_tail(0), m_inTail(0){
00033     m_peak           = configurer->makeProcessedFlat( text() ) ;
00034     m_tail           = configurer->makeProcessedFlat( text() );
00035     m_inTail         = configurer->makeIInTail( text() );
00036     cout<<text()<<" finishing construction"<<endl;
00037   }

Member Function Documentation

ISampler * FastShower::S0HadEarlyHcalEc1::clone   const [virtual]
 

ISampler Interface.

Implements FastShower::ISampler.

Definition at line 39 of file S0HadEarlyHcalEc1.cxx.

References S0HadEarlyHcalEc1().

00039 {return new S0HadEarlyHcalEc1(*this);}

void FastShower::S0HadEarlyHcalEc1::sample const PolyArgs  ,
CoreSamples  
const [virtual]
 

sample and fill CoreSamples.

Implements FastShower::ISampler.

Definition at line 41 of file S0HadEarlyHcalEc1.cxx.

00041                                                                         {
00042 
00043     if( m_inTail->operator()(pa) ){
00044       cs.fill(this, evalTail(pa));
00045     }else{
00046       cs.fill(this, evalPeak(pa));
00047     }
00048   }

double FastShower::S0HadEarlyHcalEc1::lastValue const CoreSamples   const [virtual]
 

read back last deposit - used by monitoring code.

Implements FastShower::ISampler.

Definition at line 74 of file S0HadEarlyHcalEc1.cxx.

References FastShower::CoreSamples::give().

00074                                                                  {
00075     return cs.give(this);
00076   }

void FastShower::S0HadEarlyHcalEc1::components IDebug::Cpts   const [virtual]
 

Reimplemented from FastShower::DebugBase.

Definition at line 78 of file S0HadEarlyHcalEc1.cxx.

References m_inTail, m_peak, and m_tail.

00078                                                        {
00079     v.push_back(m_peak);
00080     v.push_back(m_tail);
00081     v.push_back(m_inTail);
00082   }

double FastShower::S0HadEarlyHcalEc1::evalTail const PolyArgs   const [private]
 

Definition at line 50 of file S0HadEarlyHcalEc1.cxx.

References FastShower::ParticleParameters::delEta(), FastShower::SplitDecision::lower(), m_tail, and FastShower::PolyArgs::pp().

00050                                                              {
00051     
00052     double lLimit, uLimit;
00053 
00054     double aDEta = fabs(pa.pp()->delEta());
00055     double fraction = 0.28752 + 7.9588*aDEta;
00056 
00057     SplitDecision whichTail(fraction);
00058     if (whichTail.lower()) {
00059       lLimit = 0.0;
00060       uLimit = 0.1;
00061     }else {
00062       lLimit = 0.9;
00063       uLimit = 1.0;
00064     }
00065     LinearProcessor lp((uLimit-lLimit), lLimit);
00066     return  m_tail->sample(&lp);
00067   }

double FastShower::S0HadEarlyHcalEc1::evalPeak const PolyArgs   const [private]
 

Definition at line 69 of file S0HadEarlyHcalEc1.cxx.

00069                                                         {
00070     LinearProcessor lp(0.8, 0.1);
00071     return m_peak->sample(&lp);
00072   }

Member Data Documentation

SP<IProcessedDist> FastShower::S0HadEarlyHcalEc1::m_peak [private]
 

Definition at line 78 of file S0HadEarlyHcalEc1.h.

Referenced by components(), and S0HadEarlyHcalEc1().

SP<IProcessedDist> FastShower::S0HadEarlyHcalEc1::m_tail [private]
 

Definition at line 79 of file S0HadEarlyHcalEc1.h.

Referenced by components(), evalTail(), and S0HadEarlyHcalEc1().

SP<IInTail> FastShower::S0HadEarlyHcalEc1::m_inTail [private]
 

Definition at line 80 of file S0HadEarlyHcalEc1.h.

Referenced by components(), and S0HadEarlyHcalEc1().


The documentation for this class was generated from the following files:
Generated on Tue Mar 18 11:57:58 2003 for FastShowerUtils by doxygen1.3-rc1