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

ParticleParameters.cxx

Go to the documentation of this file.
00001 #include "FastShowerUtils/ParticleParameters.h"
00002 #include <float.h>
00003 #include <iostream>
00004 //
00005 namespace FastShower{
00006 
00008   ParticleParameters::ParticleParameters():
00009     m_phi(0.), 
00010     m_eta(0.), 
00011     m_delPhi(0.), 
00012     m_delEta(0.), 
00013     m_energy(0.), 
00014     m_region(barrel), 
00015     m_eLimiter(new EnergyLimiter(DBL_EPSILON, DBL_MAX)),
00016     m_particleType(ParticleType()),
00017     m_traceBack(new TraceBack()){
00018   }
00020   ParticleParameters::ParticleParameters(double phi,
00021                                          double eta,
00022                                          double delPhi, 
00023                                          double delEta, 
00024                                          double energy, 
00025                                          Region reg,
00026                                          int pdgId):
00027     m_phi(phi), m_eta(eta), m_delPhi(delPhi), m_delEta(delEta), 
00028     m_energy(energy), m_region(reg), m_quadrant(0),
00029     m_eLimiter(new EnergyLimiter(DBL_EPSILON, DBL_MAX)), 
00030     m_particleType(ParticleType(pdgId)), m_traceBack(new TraceBack()){
00031     
00032     this->calcQuadrant();
00033     
00034   }
00036   void ParticleParameters::calcQuadrant(){
00037     if(m_delPhi>=0. && m_delEta>=0. ) m_quadrant=0;
00038     if(m_delPhi>=0. && m_delEta< 0. ) m_quadrant=1;
00039     if(m_delPhi< 0. && m_delEta< 0. ) m_quadrant=2;
00040     if(m_delPhi< 0. && m_delEta>=0. ) m_quadrant=3;
00041   }
00043   void ParticleParameters::fromIDebug(const IDebug* d) const{
00044     m_traceBack->add( d->name()+" "+d->text() );
00045     //this->dumpTrace();
00046   }
00048   void ParticleParameters::dumpTrace() const{
00049     cout<<this;
00050     //m_traceBack->dump();
00051   }
00053   std::ostream& operator<<(std::ostream& ostr, const ParticleParameters& pp){
00054     ostr<<"ParticleParameters:"
00055         <<" eta: "<<pp.eta()
00056         <<" phi: "<<pp.phi()
00057         <<" delEta: "<<pp.delEta()
00058         <<" delPhi: "<<pp.delPhi()
00059         <<" energy: "<<pp.energy()
00060         <<" region: "<<pp.region()
00061         <<" quadrant: "<<pp.quadrant();
00062     if( pp.isElectron() ) {ostr<<" electron ";}
00063     if( pp.isPhoton()   ) {ostr<<" photon ";}
00064     if( pp.isHadron()   ) {ostr<<" hadron ";}
00065     ostr<<endl;
00066     return ostr;
00067   }
00069   std::ostream& operator<<(std::ostream& ostr, const ParticleParameters* pp){
00070     ostr<<*pp;
00071     return ostr;
00072   }
00073 }//namespace
00074 
00075     
00076 

Generated on Tue Mar 18 11:50:01 2003 for FastShowerUtils by doxygen1.3-rc1