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

FastShower::RTestParameterGenerator Class Reference

#include <RTestParameterGenerator.h>

Collaboration diagram for FastShower::RTestParameterGenerator:

Collaboration graph
[legend]
List of all members.

Public Methods

 RTestParameterGenerator (int nEvents=1)
ParticleInfonext ()
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

Constructor & Destructor Documentation

FastShower::RTestParameterGenerator::RTestParameterGenerator int    nEvents = 1
 

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(){

Member Function Documentation

ParticleInfo * FastShower::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   }

void FastShower::RTestParameterGenerator::report  
 

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   }

Member Data Documentation

int FastShower::RTestParameterGenerator::m_nEvents [private]
 

Definition at line 22 of file RTestParameterGenerator.h.

Referenced by next(), and report().

int FastShower::RTestParameterGenerator::m_curEvnt [private]
 

Definition at line 23 of file RTestParameterGenerator.h.

Referenced by next().

int FastShower::RTestParameterGenerator::m_nParticles [private]
 

Definition at line 24 of file RTestParameterGenerator.h.

Referenced by next(), and report().

vector<double> FastShower::RTestParameterGenerator::m_energies [private]
 

Definition at line 25 of file RTestParameterGenerator.h.

Referenced by next(), and RTestParameterGenerator().

vector<double>::const_iterator FastShower::RTestParameterGenerator::m_enIter [private]
 

Definition at line 26 of file RTestParameterGenerator.h.

Referenced by next(), and RTestParameterGenerator().

std::vector<int> FastShower::RTestParameterGenerator::m_ids [private]
 

Definition at line 27 of file RTestParameterGenerator.h.

Referenced by next(), and RTestParameterGenerator().

vector<int>::const_iterator FastShower::RTestParameterGenerator::m_pidIter [private]
 

Definition at line 28 of file RTestParameterGenerator.h.

Referenced by next(), and RTestParameterGenerator().

vector<double> FastShower::RTestParameterGenerator::m_etas [private]
 

Definition at line 29 of file RTestParameterGenerator.h.

Referenced by next(), and RTestParameterGenerator().

vector<double>::const_iterator FastShower::RTestParameterGenerator::m_etaIter [private]
 

Definition at line 30 of file RTestParameterGenerator.h.

Referenced by next(), and RTestParameterGenerator().

std::vector<double> FastShower::RTestParameterGenerator::m_phis [private]
 

Definition at line 31 of file RTestParameterGenerator.h.

Referenced by next(), and RTestParameterGenerator().

vector<double>::const_iterator FastShower::RTestParameterGenerator::m_phiIter [private]
 

Definition at line 32 of file RTestParameterGenerator.h.

Referenced by next(), and RTestParameterGenerator().


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