#include <TripleShowererSelector.h>
Inheritance diagram for FastShower::TripleShowererSelector:
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< IAcceptor > | m_acceptor |
SP< IFnOfParticleParameters2 > | m_ehSharer |
SP< IShowerer > | m_softShowerer |
SP< IShowerer > | m_lateShowerer |
SP< IShowerer > | m_earlyShowerer |
|
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 } // |
|
Definition at line 46 of file TripleShowererSelector.h.
00046 {}; |
|
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 } |
|
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 } |
|
Definition at line 55 of file TripleShowererSelector.h. Referenced by accept(), and components(). |
|
Definition at line 56 of file TripleShowererSelector.h. Referenced by accept(), and components(). |
|
Definition at line 57 of file TripleShowererSelector.h. Referenced by accept(), and components(). |
|
Definition at line 58 of file TripleShowererSelector.h. Referenced by accept(), and components(). |
|
Definition at line 59 of file TripleShowererSelector.h. Referenced by accept(), and components(). |