#include <RTestParameterGenerator.h>
Collaboration diagram for FastShower::RTestParameterGenerator:
Public Methods | |
RTestParameterGenerator (int nEvents=1) | |
ParticleInfo * | next () |
void | report () |
Private Attributes | |
int | m_nEvents |
int | m_curEvnt |
int | m_nParticles |
vector< double > | m_energies |
vector< double >::const_iterator | m_enIter |
std::vector< int > | m_ids |
vector< int >::const_iterator | m_pidIter |
vector< double > | m_etas |
vector< double >::const_iterator | m_etaIter |
std::vector< double > | m_phis |
vector< double >::const_iterator | m_phiIter |
|
Definition at line 6 of file RTestParameterGenerator.cxx. References m_energies, m_enIter, m_etaIter, m_etas, m_ids, m_phiIter, m_phis, and m_pidIter.
00006 : 00007 m_nEvents(nEvents), m_curEvnt(nEvents), m_nParticles(0){ 00008 00009 cout<<"RTestParameterGenerator begin"<<endl; 00010 00011 double delEnergy = 0.0; 00012 double energy = 0.0; 00013 // generate energies: 0,1,3,6,10,15,21,28,36,45,55,66,78,91,105,120 00014 while(energy < 120.0){ 00015 energy += delEnergy; 00016 m_energies.push_back(energy); 00017 ++delEnergy; 00018 } 00019 m_enIter = m_energies.begin(); 00020 00021 m_ids.push_back(11); 00022 m_ids.push_back(22); 00023 m_ids.push_back(211); 00024 m_pidIter = m_ids.begin(); 00025 00026 double eta; 00027 double cellEtaWidth = 3.2/32; 00028 double delEta = cellEtaWidth/10; 00029 eta = 0.200; 00030 while(eta<(0.200+cellEtaWidth+0.0005)){ 00031 m_etas.push_back(eta); 00032 eta += delEta; 00033 } 00034 eta = 1.900; 00035 while(eta<(1.900+cellEtaWidth+0.0005)){ 00036 m_etas.push_back(eta); 00037 eta += delEta; 00038 } 00039 m_etaIter = m_etas.begin(); 00040 00041 double cellPhiWidth = M_PI/32; 00042 double delPhi = cellPhiWidth/10; 00043 double phi = 0.0; 00044 while(phi<(cellPhiWidth+0.0005)){ 00045 m_phis.push_back(phi); 00046 phi += delPhi; 00047 } 00048 m_phiIter = m_phis.begin(); 00049 00050 00051 std::ostream_iterator<double> dOut(cout, "\n"); 00052 std::ostream_iterator<int> iOut(cout, "\n"); 00053 std::ostream_iterator<double> eOut(cout, "\n"); 00054 std::ostream_iterator<double> pOut(cout, "\n"); 00055 00056 cout<<"RTestParameterGenerator vectors:"<<endl; 00057 00058 cout<<"Energies"<<endl; 00059 std::copy(m_energies.begin(), m_energies.end(), dOut); 00060 00061 cout<<"Ids"<<endl; 00062 std::copy(m_ids.begin(), m_ids.end(), iOut); 00063 00064 cout<<"Etas"<<endl; 00065 std::copy(m_etas.begin(), m_etas.end(), eOut); 00066 00067 cout<<"Phis"<<endl; 00068 std::copy(m_phis.begin(), m_phis.end(), pOut); 00069 00070 cout<<"RTestParameterGenerator Constructor end"<<endl; 00071 } ParticleInfo* RTestParameterGenerator::next(){ |
|
Definition at line 72 of file RTestParameterGenerator.cxx. References m_curEvnt, m_energies, m_enIter, m_etaIter, m_etas, m_ids, m_nEvents, m_nParticles, m_phiIter, m_phis, and m_pidIter. Referenced by FastShower::RTest::execute().
00072 { 00073 if(m_curEvnt == 0){ 00074 m_curEvnt = m_nEvents; 00075 m_nParticles = 0; 00076 return 0; 00077 } 00078 00079 ParticleInfo* p = new ParticleInfo(*m_phiIter, *m_etaIter, *m_enIter, *m_pidIter); 00080 00081 if(++m_enIter == m_energies.end()){ 00082 m_enIter = m_energies.begin(); 00083 ++m_etaIter; 00084 if(m_etaIter == m_etas.end()){ 00085 m_etaIter = m_etas.begin(); 00086 ++m_phiIter; 00087 if(m_phiIter == m_phis.end()){ 00088 m_phiIter = m_phis.begin(); 00089 ++m_pidIter; 00090 if(m_pidIter == m_ids.end()){ 00091 m_pidIter = m_ids.begin(); 00092 --m_curEvnt; 00093 } 00094 } 00095 } 00096 } 00097 00098 ++m_nParticles; 00099 // cout<<m_nParticles<<" Generated in "<<m_nEvents<<" Events"<<endl; 00100 00101 return p; 00102 } |
|
Definition at line 103 of file RTestParameterGenerator.cxx. References m_nEvents, and m_nParticles. Referenced by FastShower::RTest::execute().
00103 { 00104 cout<<m_nParticles<<" Generated in "<<m_nEvents<<" Events"<<endl; 00105 } |
|
Definition at line 22 of file RTestParameterGenerator.h. |
|
Definition at line 23 of file RTestParameterGenerator.h. Referenced by next(). |
|
Definition at line 24 of file RTestParameterGenerator.h. |
|
Definition at line 25 of file RTestParameterGenerator.h. Referenced by next(), and RTestParameterGenerator(). |
|
Definition at line 26 of file RTestParameterGenerator.h. Referenced by next(), and RTestParameterGenerator(). |
|
Definition at line 27 of file RTestParameterGenerator.h. Referenced by next(), and RTestParameterGenerator(). |
|
Definition at line 28 of file RTestParameterGenerator.h. Referenced by next(), and RTestParameterGenerator(). |
|
Definition at line 29 of file RTestParameterGenerator.h. Referenced by next(), and RTestParameterGenerator(). |
|
Definition at line 30 of file RTestParameterGenerator.h. Referenced by next(), and RTestParameterGenerator(). |
|
Definition at line 31 of file RTestParameterGenerator.h. Referenced by next(), and RTestParameterGenerator(). |
|
Definition at line 32 of file RTestParameterGenerator.h. Referenced by next(), and RTestParameterGenerator(). |