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

FastShower::TripleShowererSelector Class Reference

#include <TripleShowererSelector.h>

Inheritance diagram for FastShower::TripleShowererSelector:

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

Collaboration graph
[legend]
List of all members.

Public Methods

 TripleShowererSelector (const ITripleShowererSelectorConfig &)
 ~TripleShowererSelector ()
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_softShowerer
SP< IShowererm_lateShowerer
SP< IShowererm_earlyShowerer

Constructor & Destructor Documentation

FastShower::TripleShowererSelector::TripleShowererSelector const ITripleShowererSelectorConfig  
 

Definition at line 15 of file TripleShowererSelector.cxx.

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

FastShower::TripleShowererSelector::~TripleShowererSelector   [inline]
 

Definition at line 46 of file TripleShowererSelector.h.

00046 {};

Member Function Documentation

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

Implementation of the IShowererSelector interface.

Implements FastShower::IShowererSelector.

Definition at line 24 of file TripleShowererSelector.cxx.

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

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

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

overide the DebugBase components:

Reimplemented from FastShower::DebugBase.

Definition at line 49 of file TripleShowererSelector.cxx.

References m_acceptor, m_earlyShowerer, m_ehSharer, m_lateShowerer, and m_softShowerer.

00049                                                             {
00050     c.push_back(m_acceptor);
00051     c.push_back(m_ehSharer);
00052     c.push_back(m_softShowerer);
00053     c.push_back(m_lateShowerer);
00054     c.push_back(m_earlyShowerer);
00055   }

Member Data Documentation

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

Definition at line 55 of file TripleShowererSelector.h.

Referenced by accept(), and components().

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

Definition at line 56 of file TripleShowererSelector.h.

Referenced by accept(), and components().

SP<IShowerer> FastShower::TripleShowererSelector::m_softShowerer [private]
 

Definition at line 57 of file TripleShowererSelector.h.

Referenced by accept(), and components().

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

Definition at line 58 of file TripleShowererSelector.h.

Referenced by accept(), and components().

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

Definition at line 59 of file TripleShowererSelector.h.

Referenced by accept(), and components().


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