#include <McParticle.h>
Inheritance diagram for Event::McParticle:
Public Types | |
enum | StatusBits { DECAYED = 1, DECAYFLT = 1<<1, PRIMARY = 1<<2, LEAF = 1<<3, ERROR = 1<<4 } |
status bits modeled More... | |
enum | StatusBits { DECAYED = 1, DECAYFLT = 1<<1, PRIMARY = 1<<2, LEAF = 1<<3, ERROR = 1<<4 } |
status bits modeled More... | |
typedef int | StdHepId |
typedef int | StdHepId |
Public Member Functions | |
void | addDaughter (const SmartRef< McParticle > d) |
add a daugther particle to this particle | |
void | addDaughter (const SmartRef< McParticle > d) |
add a daugther particle to this particle | |
void | addStatusFlag (unsigned int flag) |
add a new flag to the status flags | |
void | addStatusFlag (unsigned int flag) |
add a new flag to the status flags | |
virtual const CLID & | clID () const |
virtual const CLID & | clID () const |
const SmartRefVector< McParticle > & | daughterList () const |
access to the list of daughters | |
const SmartRefVector< McParticle > & | daughterList () const |
access to the list of daughters | |
bool | decayFromGenerator () const |
Decayed from generator. | |
bool | decayFromGenerator () const |
Retrieve whether decayed from generator. | |
bool | decayInFlight () const |
Decayed in flight. | |
bool | decayInFlight () const |
Retrieve wheter decayed in flight. | |
void | finalize (const HepLorentzVector &finalPosition) |
Set the final attributes of the McParticle. | |
void | finalize (const HepLorentzVector &finalPosition) |
Set the final attributes of the McParticle. | |
const HepLorentzVector & | finalPosition () const |
const HepLorentzVector & | finalPosition () const |
void | init (McParticle *mother, StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &finalMomentum, const HepLorentzVector &initialPosition, const HepLorentzVector &finalPosition, const std::string process="") |
void | init (McParticle *mother, StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &finalMomentum, const HepLorentzVector &initialPosition, const HepLorentzVector &finalPosition, const std::string process="") |
const HepLorentzVector & | initialFourMomentum () const |
const HepLorentzVector & | initialFourMomentum () const |
void | initialize (McParticle *mother, StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &initialPosition, const std::string process="") |
void | initialize (StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &initialPosition, const std::string process="") |
Set the initial attributes of the McParticle. | |
void | initialize (McParticle *mother, StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &initialPosition, const std::string process="") |
void | initialize (StdHepId id, unsigned int statusBits, const HepLorentzVector &initialMomentum, const HepLorentzVector &initialPosition, const std::string process="") |
Set the initial attributes of the McParticle. | |
const HepLorentzVector & | initialPosition () const |
Retrieve pointer to the start, end vertex positions. | |
const HepLorentzVector & | initialPosition () const |
Retrieve pointer to the start, end vertex positions. | |
bool | leafParticle () const |
Retrieve whether this is a leaf particle. | |
bool | leafParticle () const |
Retrieve whether this is a leave particle. | |
McParticle () | |
Constructors. | |
McParticle () | |
Constructors. | |
const McParticle & | mother () const |
access to the mother particle | |
const McParticle & | mother () const |
access to the mother particle | |
StdHepId | particleProperty () const |
Retrieve particle property. | |
StdHepId | particleProperty () const |
Retrieve particle property. | |
bool | primaryParticle () const |
bool | primaryParticle () const |
Retrieve whether this is a primary particle. | |
void | removeDaughter (const SmartRef< McParticle > mcPart) |
Used for pruning. | |
void | removeDaughter (const SmartRef< McParticle > mcPart) |
Remove daughters when in prune mode. | |
void | setMother (const SmartRef< McParticle > m) |
set the mother particle | |
void | setMother (const SmartRef< McParticle > m) |
set the mother particle | |
void | setTrackIndex (int trackIndex) |
void | setTrackIndex (int trackIndex) |
void | setVertexIndex0 (int index0) |
methods for setting and getting vertex indexes | |
void | setVertexIndex0 (int index0) |
methods for setting and getting vertex indexes | |
void | setVertexIndex1 (int index1) |
void | setVertexIndex1 (int index1) |
unsigned int | statusFlags () const |
retrieve all of status flags for const object | |
unsigned int | statusFlags () const |
retrieve all of status flags for const object | |
int | trackIndex () const |
int | trackIndex () const |
int | vertexIndex0 () const |
int | vertexIndex0 () const |
int | vertexIndex1 () const |
int | vertexIndex1 () const |
virtual | ~McParticle () |
Destructor. | |
virtual | ~McParticle () |
Destructor. | |
Static Public Member Functions | |
const CLID & | classID () |
const CLID & | classID () |
Private Attributes | |
SmartRefVector< McParticle > | m_daughters |
Vector of pointers to daughter particles. | |
SmartRefVector< McParticle > | m_daughters |
Vector of pointers to daughter particles. | |
HepLorentzVector | m_finalFourMomentum |
Final 4-momentum. | |
HepLorentzVector | m_finalPosition |
Final position. | |
HepLorentzVector | m_initialFourMomentum |
Initial 4-momentum. | |
HepLorentzVector | m_initialPosition |
Initial position. | |
SmartRef< McParticle > | m_mother |
Pointer to mother particle. | |
SmartRef< McParticle > | m_mother |
Pointer to mother particle. | |
StdHepId | m_particleID |
particle property (such as electron or proton or ....) ID | |
std::string | m_process |
String with the process name that poduces this particle. | |
unsigned long | m_statusFlags |
Bit-field status flag. | |
int | m_trackIndex |
int | m_vertexIndex0 |
the index for the vertex where the particle starts | |
int | m_vertexIndex1 |
the index for the vertex where the particle stops |
|
|
|
|
|
status bits modeled
00034 { 00035 DECAYED =1 , 00036 DECAYFLT=1<<1, 00037 PRIMARY =1<<2, 00038 LEAF = 1<<3, 00039 ERROR = 1<<4 00040 //MISSED= 1<<2, //! Does not hit detector 00041 //NOINTER =1<<3, //! Traverses detector w/o interacting 00042 //STOPPED =1<<4, //! Energy below cut; other bits may say why 00043 //INTERACT=1<<5, //! Interacted, no further decision to be made 00044 //INTSHDEP=1<<6, //! Interacted, further decision depends on ! selection of shower deposition 00045 //PRIMARY =1<<7, //! primary particle 00046 //SWERROR =1<<8, //! Error occurred in swimming the track 00047 //BCKSPL=1<<9, //! The particle is backsplashed from the CAL back in the TKR region 00048 //POSHIT =1<<10, //! The particle released a hit a PositionHit detector 00049 //NOTTRACK=1<<11, //! Not tracked by user request 00050 //Swum = 1<<12, //! this particle was produced by the swimmer 00051 //LEAF = 1<<13 //! this particle is a leaf in the particle tree 00052 };
|
|
status bits modeled
00034 { 00035 DECAYED =1 , 00036 DECAYFLT=1<<1, 00037 PRIMARY =1<<2, 00038 LEAF = 1<<3, 00039 ERROR = 1<<4 00040 //MISSED= 1<<2, //! Does not hit detector 00041 //NOINTER =1<<3, //! Traverses detector w/o interacting 00042 //STOPPED =1<<4, //! Energy below cut; other bits may say why 00043 //INTERACT=1<<5, //! Interacted, no further decision to be made 00044 //INTSHDEP=1<<6, //! Interacted, further decision depends on ! selection of shower deposition 00045 //PRIMARY =1<<7, //! primary particle 00046 //SWERROR =1<<8, //! Error occurred in swimming the track 00047 //BCKSPL=1<<9, //! The particle is backsplashed from the CAL back in the TKR region 00048 //POSHIT =1<<10, //! The particle released a hit a PositionHit detector 00049 //NOTTRACK=1<<11, //! Not tracked by user request 00050 //Swum = 1<<12, //! this particle was produced by the swimmer 00051 //LEAF = 1<<13 //! this particle is a leaf in the particle tree 00052 };
|
|
Constructors.
00058 : 00059 m_statusFlags(0) 00060 {}
|
|
Destructor.
00062 {}
|
|
Constructors.
00058 : 00059 m_statusFlags(0) 00060 {}
|
|
Destructor.
00062 {}
|
|
add a daugther particle to this particle
00147 {m_daughters.push_back(d);};
|
|
add a daugther particle to this particle
00147 {m_daughters.push_back(d);};
|
|
add a new flag to the status flags
00103 {m_statusFlags |= flag;};
|
|
add a new flag to the status flags
00103 {m_statusFlags |= flag;};
|
|
00056 { return CLID_McParticle; }
|
|
00056 { return CLID_McParticle; }
|
|
00055 { return McParticle::classID(); }
|
|
00055 { return McParticle::classID(); }
|
|
access to the list of daughters
00164 {return m_daughters;};
|
|
access to the list of daughters
00164 {return m_daughters;};
|
|
Decayed from generator.
|
|
Retrieve whether decayed from generator.
00026 { 00027 return (m_statusFlags & DECAYED)==DECAYED; 00028 }
|
|
Decayed in flight.
|
|
Retrieve wheter decayed in flight.
00032 { 00033 return (m_statusFlags & DECAYFLT)==DECAYFLT; 00034 }
|
|
Set the final attributes of the McParticle.
|
|
Set the final attributes of the McParticle.
00086 { 00087 m_finalPosition = finalPosition; 00088 }
|
|
|
|
00100 {
00101 return m_finalPosition;
00102 }
|
|
completely initialize a newed object. No other way to set most attributes. it will be replaced by the following methods (left here just in the transition) |
|
completely initialize a newed object. No other way to set most attributes. it will be replaced by the following methods (left here just in the transition) 00044 { 00045 initialize(mother, id, flags, initialMomentum, initialPosition,process); 00046 //finalize(finalMomentum, finalPosition); 00047 finalize(finalPosition); 00048 }
|
|
|
|
00104 {
00105 return m_initialFourMomentum;
00106 }
|
|
|
|
Set the initial attributes of the McParticle.
|
|
00068 { 00069 m_mother = mother; 00070 m_particleID = id; 00071 m_statusFlags = flags; 00072 m_initialFourMomentum = initialMomentum; 00073 m_initialPosition = initialPosition; 00074 m_process = process; 00075 if( mother != this) mother->m_daughters.push_back(this); 00076 }
|
|
Set the initial attributes of the McParticle.
00055 { 00056 m_particleID = id; 00057 m_statusFlags = flags; 00058 m_initialFourMomentum = initialMomentum; 00059 m_initialPosition = initialPosition; 00060 m_process = process; 00061 }
|
|
Retrieve pointer to the start, end vertex positions.
|
|
Retrieve pointer to the start, end vertex positions.
00096 {
00097 return m_initialPosition;
00098 }
|
|
Retrieve whether this is a leaf particle.
|
|
Retrieve whether this is a leave particle.
00020 { 00021 return (m_statusFlags & LEAF)==LEAF; 00022 }
|
|
access to the mother particle
|
|
access to the mother particle
00118 {
00119 return *m_mother;
00120 }
|
|
Retrieve particle property.
|
|
Retrieve particle property.
00008 {
00009 return m_particleID;
00010 }
|
|
Retrieve whether this is a primary particle: there's no mother for a primary particle |
|
Retrieve whether this is a primary particle. Retrieve whether this is a primary particle: there's no mother for a primary particle 00014 { 00015 return (m_statusFlags & PRIMARY)==PRIMARY; 00016 }
|
|
Used for pruning.
|
|
Remove daughters when in prune mode.
00124 { 00125 SmartRefVector<Event::McParticle>::iterator daughtIter; 00126 for(daughtIter = m_daughters.begin();daughtIter != m_daughters.end();daughtIter++) 00127 { 00128 if (mcPart == *daughtIter) 00129 { 00130 m_daughters.erase(daughtIter); 00131 break; 00132 } 00133 } 00134 return; 00135 }
|
|
set the mother particle
|
|
set the mother particle
00091 { 00092 m_mother = m; 00093 }
|
|
00128 { m_trackIndex = trackIndex; }
|
|
00128 { m_trackIndex = trackIndex; }
|
|
methods for setting and getting vertex indexes
00119 { m_vertexIndex0 = index0; }
|
|
methods for setting and getting vertex indexes
00119 { m_vertexIndex0 = index0; }
|
|
00123 { m_vertexIndex1 = index1; }
|
|
00123 { m_vertexIndex1 = index1; }
|
|
retrieve all of status flags for const object
|
|
retrieve all of status flags for const object
00112 {
00113 return m_statusFlags;
00114 }
|
|
00131 {return m_trackIndex;}
|
|
00131 {return m_trackIndex;}
|
|
00121 {return m_vertexIndex0;}
|
|
00121 {return m_vertexIndex0;}
|
|
00125 {return m_vertexIndex1;}
|
|
00125 {return m_vertexIndex1;}
|
|
Vector of pointers to daughter particles.
|
|
Vector of pointers to daughter particles.
|
|
Final 4-momentum.
|
|
Final position.
|
|
Initial 4-momentum.
|
|
Initial position.
|
|
Pointer to mother particle.
|
|
Pointer to mother particle.
|
|
particle property (such as electron or proton or ....) ID
|
|
String with the process name that poduces this particle.
|
|
Bit-field status flag.
|
|
|
|
the index for the vertex where the particle starts
|
|
the index for the vertex where the particle stops
|