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

FastShower::DoubleShowererSelector Class Reference

#include <DoubleShowererSelector.h>

Inheritance diagram for FastShower::DoubleShowererSelector:

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

Collaboration graph
[legend]
List of all members.

Public Methods

 DoubleShowererSelector (const IDoubleShowererSelectorConfig &)
 ~DoubleShowererSelector ()
virtual bool accept (ParticleParameters &, Gridlet *) const
 Implementation of the IShowererSelector interface.

virtual void components (IDebug::Cpts &) const
 overide the DebugBase components:


Private Attributes

SP< IAcceptorm_acceptor
SP< IFnOfParticleParameters2m_ehSharer
SP< IShowererm_lateShowerer
SP< IShowererm_earlyShowerer

Constructor & Destructor Documentation

FastShower::DoubleShowererSelector::DoubleShowererSelector const IDoubleShowererSelectorConfig  
 

Definition at line 15 of file DoubleShowererSelector.cxx.

00015                                              :
00016     DebugBase("DoubleShowererSelector"){
00017     m_acceptor      = conf.acceptor();
00018     m_ehSharer      = conf.ehSharer();
00019     m_earlyShowerer = conf.earlyShowerer();
00020     m_lateShowerer  = conf.lateShowerer();
00021   }
  //

FastShower::DoubleShowererSelector::~DoubleShowererSelector   [inline]
 

Definition at line 46 of file DoubleShowererSelector.h.

00046 {};

Member Function Documentation

bool FastShower::DoubleShowererSelector::accept ParticleParameters  ,
Gridlet  
const [virtual]
 

Implementation of the IShowererSelector interface.

Implements FastShower::IShowererSelector.

Definition at line 23 of file DoubleShowererSelector.cxx.

References m_acceptor, m_earlyShowerer, m_ehSharer, m_lateShowerer, and FastShower::ParticleParameters::rawEnergy().

00024                                                        {
00025     if (m_acceptor->accept(pp)){
00026       std::pair<double, double> ehFracs = m_ehSharer->value(pp);
00027       double energy = pp.rawEnergy();
00028       Normalisations eNs(ehFracs.first * energy);
00029       Normalisations hNs(ehFracs.second * energy);
00030       // based on ECal fraction decide which Showerer to activate
00031       // if ECAL deposit less/greater than 700MeV  -->  late/early shower
00032       if (ehFracs.first*energy < 0.700) {
00033         m_lateShowerer->shower(pp,g,eNs,hNs);
00034       } else {
00035         m_earlyShowerer->shower(pp,g,eNs,hNs);
00036       }
00037       return true;
00038     }
00039     return false;
00040   }

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

overide the DebugBase components:

Reimplemented from FastShower::DebugBase.

Definition at line 42 of file DoubleShowererSelector.cxx.

References m_acceptor, m_earlyShowerer, m_ehSharer, and m_lateShowerer.

00042                                                             {
00043     c.push_back(m_acceptor);
00044     c.push_back(m_ehSharer);
00045     c.push_back(m_lateShowerer);
00046     c.push_back(m_earlyShowerer);
00047   }

Member Data Documentation

SP<IAcceptor> FastShower::DoubleShowererSelector::m_acceptor [private]
 

Definition at line 55 of file DoubleShowererSelector.h.

Referenced by accept(), and components().

SP<IFnOfParticleParameters2> FastShower::DoubleShowererSelector::m_ehSharer [private]
 

Definition at line 56 of file DoubleShowererSelector.h.

Referenced by accept(), and components().

SP<IShowerer> FastShower::DoubleShowererSelector::m_lateShowerer [private]
 

Definition at line 57 of file DoubleShowererSelector.h.

Referenced by accept(), and components().

SP<IShowerer> FastShower::DoubleShowererSelector::m_earlyShowerer [private]
 

Definition at line 58 of file DoubleShowererSelector.h.

Referenced by accept(), and components().


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