#include <Showerer.h>
Inheritance diagram for FastShower::Showerer:
Public Methods | |
Showerer (IConfigurer *) | |
Showerer (vector< IDepositor * >, vector< IDepositor * >, INormaliser *, INormaliser *) | |
Showerer (const IConfigurer *, const std::string &) | |
Showerer (const Showerer &) | |
Showerer & | operator= (const Showerer &) |
~Showerer () | |
virtual void | shower (ParticleParameters &, Gridlet *, Normalisations &, Normalisations &) const |
virtual void | normalise (const ParticleParameters &, Normalisations &, Normalisations &) const |
virtual void | components (IDebug::Cpts &) const |
overide the DebugBase components: | |
Private Attributes | |
std::vector< IDepositor * > | m_eDepositors |
dont need the copy constructor Ecal Depositor container (core, halo, pencil .....depositors) | |
std::vector< IDepositor * > | m_hDepositors |
Hcal Depositor container. | |
SP< INormaliser > | m_eNormaliser |
Combination of all noramilisation Functions. | |
SP< INormaliser > | m_hNormaliser |
SP< EnergyLimiter > | m_eLimiter |
To be passed to ParicleParameters to giev limited energy range. |
|
|
|
Definition at line 33 of file Showerer.cxx.
00034 : 00035 IShowerer(), DebugBase("Showerer"), 00036 m_eDepositors(e), m_hDepositors(h), 00037 m_eNormaliser(eN), m_hNormaliser(hN), 00038 m_eLimiter(new EnergyLimiter(10., 100.)){} |
|
Definition at line 20 of file Showerer.cxx. References FastShower::IConfigurer::eDepositors(), FastShower::IConfigurer::energyLimiter(), FastShower::IConfigurer::findNormaliser(), FastShower::IConfigurer::hDepositors(), m_eDepositors, m_eLimiter, m_eNormaliser, m_hDepositors, and m_hNormaliser.
00020 : 00021 IShowerer(), DebugBase(s), m_eDepositors(), m_hDepositors(), 00022 m_eNormaliser(0), m_hNormaliser(0), m_eLimiter(0){ 00023 00024 configurer->eDepositors(m_eDepositors); 00025 configurer->hDepositors(m_hDepositors); 00026 m_eNormaliser = configurer->findNormaliser("EcalNormaliser"); 00027 m_hNormaliser = configurer->findNormaliser("HcalNormaliser"); 00028 m_eLimiter = configurer->energyLimiter(); 00029 00030 } |
|
Definition at line 41 of file Showerer.cxx. References m_eDepositors, m_eLimiter, m_eNormaliser, m_hDepositors, and m_hNormaliser.
00041 : IShowerer(), DebugBase(s){ 00042 00043 std::vector<IDepositor*>::const_iterator iter; 00044 std::vector<IDepositor*>::const_iterator end; 00045 00046 iter =s.m_eDepositors.begin(); 00047 end =s.m_eDepositors.end(); 00048 for(;iter!=end;++iter){m_eDepositors.push_back((*iter)->clone());} 00049 00050 iter =s.m_hDepositors.begin(); 00051 end =s.m_hDepositors.end(); 00052 for(;iter!=end;++iter){m_hDepositors.push_back((*iter)->clone());} 00053 00054 m_eNormaliser = s.m_eNormaliser; 00055 m_hNormaliser = s.m_hNormaliser; 00056 00057 m_eLimiter = s.m_eLimiter; 00058 } |
|
Definition at line 88 of file Showerer.cxx. References m_eDepositors, m_eNormaliser, m_hDepositors, and m_hNormaliser.
00088 { 00089 00090 vector<IDepositor*>::iterator it; 00091 vector<IDepositor*>::iterator end; 00092 00093 it = m_eDepositors.begin(); 00094 end = m_eDepositors.end(); 00095 for(; it!= end; ++it){delete (*it);} 00096 00097 it = m_hDepositors.begin(); 00098 end = m_hDepositors.end(); 00099 for(; it!= end; ++it){delete (*it);} 00100 00101 delete m_eNormaliser; 00102 delete m_hNormaliser; 00103 } |
|
Definition at line 60 of file Showerer.cxx. References m_eDepositors, m_eNormaliser, m_hDepositors, and m_hNormaliser.
00060 { 00061 00062 // update if not copyin to self 00063 if (&s != this){ 00064 00065 DebugBase::operator=(s); 00066 //erase the old depositors 00067 m_eDepositors.clear(); 00068 m_hDepositors.clear(); 00069 00070 std::vector<IDepositor*>::const_iterator iter, end; 00071 00072 //copy the new depositors 00073 iter =s.m_eDepositors.begin(); 00074 end =s.m_eDepositors.end(); 00075 for(;iter!=end;++iter){m_eDepositors.push_back((*iter)->clone());} 00076 00077 iter =s.m_hDepositors.begin(); 00078 end =s.m_hDepositors.end(); 00079 for(;iter!=end;++iter){m_hDepositors.push_back((*iter)->clone());} 00080 00081 m_eNormaliser = s.m_eNormaliser->clone(); 00082 m_hNormaliser = s.m_hNormaliser->clone(); 00083 } 00084 00085 return *this; 00086 } |
|
calo dependent normalisations (scale input eNorms/hNorms) set this the energy limiter in ParticleParamerters to the one appropriate to the Samplers of this showerer. Implements FastShower::IShowerer. Definition at line 105 of file Showerer.cxx. References FastShower::Gridlet::emDeposits(), FastShower::Gridlet::hadDeposits(), m_eDepositors, m_eLimiter, m_hDepositors, normalise(), and FastShower::ParticleParameters::setEnergyLimiter().
00108 { 00111 pp.setEnergyLimiter(m_eLimiter); 00112 00114 this->normalise(pp, eNorms, hNorms); 00115 // 00116 vector<IDepositor*>::const_iterator it; 00117 //Loop through Deposits. Give a reference to the em Dposits in 00118 //Gridlet, fill these deposits, and normalise them; 00119 it = m_eDepositors.begin(); 00120 for(; it!= m_eDepositors.end(); ++it){ 00121 (*it)->deposit(pp, eNorms, g->emDeposits()); 00122 } 00123 // 00124 // repeat for hadron cal deposits. 00125 it = m_hDepositors.begin(); 00126 for(; it!= m_hDepositors.end(); ++it){ 00127 (*it)->deposit(pp, hNorms, g->hadDeposits()); 00128 } 00129 } |
|
Implements FastShower::IShowerer. Definition at line 131 of file Showerer.cxx. References m_eNormaliser, and m_hNormaliser. Referenced by shower().
00133 { 00134 // 00135 //normalise Gridlet deposits 00136 m_eNormaliser->scale(eNorms,pp); 00137 m_hNormaliser->scale(hNorms,pp); 00138 } |
|
overide the DebugBase components:
Reimplemented from FastShower::DebugBase. Definition at line 140 of file Showerer.cxx. References m_eDepositors, m_eNormaliser, m_hDepositors, and m_hNormaliser.
00140 { 00141 c.push_back(m_eNormaliser); 00142 c.push_back(m_hNormaliser); 00143 std::copy(m_eDepositors.begin(), m_eDepositors.end(), back_inserter(c)); 00144 std::copy(m_hDepositors.begin(), m_hDepositors.end(), back_inserter(c)); 00145 } |
|
dont need the copy constructor Ecal Depositor container (core, halo, pencil .....depositors)
Definition at line 64 of file Showerer.h. Referenced by components(), operator=(), shower(), Showerer(), and ~Showerer(). |
|
Hcal Depositor container.
Definition at line 66 of file Showerer.h. Referenced by components(), operator=(), shower(), Showerer(), and ~Showerer(). |
|
Combination of all noramilisation Functions.
Definition at line 68 of file Showerer.h. Referenced by components(), normalise(), operator=(), Showerer(), and ~Showerer(). |
|
Definition at line 69 of file Showerer.h. Referenced by components(), normalise(), operator=(), Showerer(), and ~Showerer(). |
|
To be passed to ParicleParameters to giev limited energy range.
Definition at line 71 of file Showerer.h. Referenced by shower(), and Showerer(). |