ATLAS Offline Software
|
#include <Geant4TruthIncident.h>
Public Member Functions | |
Geant4TruthIncident (const G4Step *, const ISF::ISFParticle &baseISP, AtlasDetDescr::AtlasRegion geoID, AtlasG4EventUserInfo *atlasG4EvtUserInfo) | |
virtual | ~Geant4TruthIncident () |
const HepMC::FourVector & | position () const override final |
Return HepMC position of the truth vertex. More... | |
int | physicsProcessCategory () const override final |
Return category of the physics process represented by the truth incident (eg hadronic, em, ..) More... | |
int | physicsProcessCode () const override final |
Return specific physics process code of the truth incident (eg ionisation, bremsstrahlung, ..) More... | |
double | parentP2 () const override final |
Return p^2 of the parent particle. More... | |
double | parentPt2 () const override final |
Return pT^2 of the parent particle. More... | |
double | parentEkin () const override final |
Return Ekin of the parent particle. More... | |
int | parentPdgCode () const override final |
Return the PDG Code of the parent particle. More... | |
int | parentBarcode () override final |
Return the barcode of the parent particle. More... | |
int | parentUniqueID () override final |
Return the unique ID of the parent particle. More... | |
int | parentStatus () override final |
Return the status of the parent particle. More... | |
bool | parentSurvivesIncident () const override final |
Return a boolean whether or not the parent particle survives the incident. More... | |
HepMC::GenParticlePtr | parentParticleAfterIncident (int newBC) override final |
Return the parent particle after the TruthIncident vertex (and give it a new barcode) More... | |
const G4ThreeVector | childP (unsigned short index) const |
Return p of the i-th child particle. More... | |
double | childP2 (unsigned short index) const override final |
Return p^2 of the i-th child particle. More... | |
double | childPt2 (unsigned short index) const override final |
Return pT^2 of the i-th child particle. More... | |
double | childEkin (unsigned short index) const override final |
Return Ekin of the i-th child particle. More... | |
int | childPdgCode (unsigned short index) const override final |
Return the PDG Code of the i-th child particle. More... | |
int | childBarcode (unsigned short index) const override final |
Return the barcode of the i-th child particle (if defined as part of the TruthIncident) otherwise return 0. More... | |
ISF::InteractionClass_t | interactionClassification () const override final |
The interaction classifications are described as follows: STD_VTX: interaction of a particle without a pre-defined decay; QS_SURV_VTX: a particle with a pre-defined decay under-going a non-destructive interaction; QS_DEST_VTX: a particle with a pre-defined decay under-going a destructive interaction other than its pre-defined decay; QS_PREDEF_VTX: a particle under-going its pre-defined decay. More... | |
HepMC::GenParticlePtr | parentParticle () override final |
Return the parent particle as a HepMC particle type. More... | |
HepMC::GenParticlePtr | childParticle (unsigned short index, int bc) override final |
Return the i-th child as a HepMC particle type and assign the given Barcode to the simulator particle. More... | |
AtlasDetDescr::AtlasRegion | geoID () |
Return the SimGeoID corresponding to the vertex of the truth incident. More... | |
unsigned short | numberOfChildren () const |
Return total number of child particles. More... | |
bool | childrenP2Pass (double p2cut) |
Return true if at least one child particle passes the given p^2 cut (= at least one child with p^2 >= pt2cut) More... | |
bool | childrenPt2Pass (double pt2cut) |
Return true if at least one child particle passes the given pT^2 cut (= at least one child with pT^2 >= pt2cut) More... | |
bool | childrenEkinPass (double ekincut) |
Return true if at least one child particle passes the given Ekin cut (= at least one child with Ekin >= ekincut) More... | |
void | setChildPassedFilters (unsigned short index) |
Record that a particular child passed a check. More... | |
bool | childPassedFilters (unsigned short index) const |
Should a particular child be written out to the GenEvent. More... | |
void | setPassWholeVertices (bool passWholeVertex) |
Set whether this TruthIncident should pass the vertex as a whole or individual children. More... | |
Protected Attributes | |
int | m_numChildren |
bool | m_passWholeVertex |
std::vector< bool > | m_childPassedFilters |
Private Member Functions | |
Geant4TruthIncident () | |
void | prepareChildren () |
prepare the child particles More... | |
bool | particleAlive (const G4Track *track) const |
check if the given G4Track represents a particle that is alive in ISF or ISF-G4 More... | |
HepMC::GenParticlePtr | convert (const G4Track *particle, const int barcode, const bool secondary) const |
Private Attributes | |
bool | m_positionSet |
HepMC::FourVector | m_position |
const G4Step * | m_step {} |
const ISF::ISFParticle & | m_baseISP |
AtlasG4EventUserInfo *m_atlasG4EvtUserInfo | ATLAS_THREAD_SAFE {} |
std::vector< const G4Track * > | m_children |
HepMC::GenParticlePtr | m_parentParticleAfterIncident {} |
AtlasDetDescr::AtlasRegion | m_geoID |
region that the TruthIncident is located in More... | |
ISF_Geant4 specific implementation of the ISF::ITruthIncident
Definition at line 44 of file Geant4TruthIncident.h.
iGeant4::Geant4TruthIncident::Geant4TruthIncident | ( | const G4Step * | step, |
const ISF::ISFParticle & | baseISP, | ||
AtlasDetDescr::AtlasRegion | geoID, | ||
AtlasG4EventUserInfo * | atlasG4EvtUserInfo | ||
) |
Definition at line 61 of file Geant4TruthIncident.cxx.
|
inlinevirtual |
Definition at line 50 of file Geant4TruthIncident.h.
|
private |
|
finaloverridevirtual |
Return the barcode of the i-th child particle (if defined as part of the TruthIncident) otherwise return 0.
Implements ISF::ITruthIncident.
Definition at line 211 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return Ekin of the i-th child particle.
Implements ISF::ITruthIncident.
Definition at line 203 of file Geant4TruthIncident.cxx.
const G4ThreeVector iGeant4::Geant4TruthIncident::childP | ( | unsigned short | index | ) | const |
Return p of the i-th child particle.
Definition at line 193 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return p^2 of the i-th child particle.
Implements ISF::ITruthIncident.
Definition at line 188 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return the i-th child as a HepMC particle type and assign the given Barcode to the simulator particle.
Implements ISF::ITruthIncident.
Definition at line 228 of file Geant4TruthIncident.cxx.
|
inlineinherited |
Should a particular child be written out to the GenEvent.
Definition at line 186 of file ITruthIncident.h.
|
finaloverridevirtual |
Return the PDG Code of the i-th child particle.
Implements ISF::ITruthIncident.
Definition at line 207 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return pT^2 of the i-th child particle.
Implements ISF::ITruthIncident.
Definition at line 198 of file Geant4TruthIncident.cxx.
|
inlineinherited |
Return true if at least one child particle passes the given Ekin cut (= at least one child with Ekin >= ekincut)
Definition at line 170 of file ITruthIncident.h.
|
inlineinherited |
Return true if at least one child particle passes the given p^2 cut (= at least one child with p^2 >= pt2cut)
Definition at line 146 of file ITruthIncident.h.
|
inlineinherited |
Return true if at least one child particle passes the given pT^2 cut (= at least one child with pT^2 >= pt2cut)
Definition at line 158 of file ITruthIncident.h.
|
private |
Definition at line 276 of file Geant4TruthIncident.cxx.
|
inlineinherited |
Return the SimGeoID corresponding to the vertex of the truth incident.
Definition at line 53 of file ITruthIncident.h.
|
finaloverridevirtual |
The interaction classifications are described as follows: STD_VTX: interaction of a particle without a pre-defined decay; QS_SURV_VTX: a particle with a pre-defined decay under-going a non-destructive interaction; QS_DEST_VTX: a particle with a pre-defined decay under-going a destructive interaction other than its pre-defined decay; QS_PREDEF_VTX: a particle under-going its pre-defined decay.
Reimplemented from ISF::ITruthIncident.
Definition at line 344 of file Geant4TruthIncident.cxx.
|
inlineinherited |
Return total number of child particles.
Definition at line 139 of file ITruthIncident.h.
|
finaloverridevirtual |
Return the barcode of the parent particle.
Implements ISF::ITruthIncident.
Definition at line 116 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return Ekin of the parent particle.
Implements ISF::ITruthIncident.
Definition at line 108 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return p^2 of the parent particle.
Implements ISF::ITruthIncident.
Definition at line 98 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return the parent particle as a HepMC particle type.
Implements ISF::ITruthIncident.
Definition at line 134 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return the parent particle after the TruthIncident vertex (and give it a new barcode)
Implements ISF::ITruthIncident.
Definition at line 149 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return the PDG Code of the parent particle.
Implements ISF::ITruthIncident.
Definition at line 112 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return pT^2 of the parent particle.
Implements ISF::ITruthIncident.
Definition at line 103 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return the status of the parent particle.
Implements ISF::ITruthIncident.
Definition at line 128 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return a boolean whether or not the parent particle survives the incident.
Implements ISF::ITruthIncident.
Definition at line 138 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return the unique ID of the parent particle.
Implements ISF::ITruthIncident.
Definition at line 122 of file Geant4TruthIncident.cxx.
|
inlineprivate |
check if the given G4Track represents a particle that is alive in ISF or ISF-G4
Definition at line 255 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return category of the physics process represented by the truth incident (eg hadronic, em, ..)
Implements ISF::ITruthIncident.
Definition at line 86 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return specific physics process code of the truth incident (eg ionisation, bremsstrahlung, ..)
Implements ISF::ITruthIncident.
Definition at line 92 of file Geant4TruthIncident.cxx.
|
finaloverridevirtual |
Return HepMC position of the truth vertex.
Implements ISF::ITruthIncident.
Definition at line 82 of file Geant4TruthIncident.cxx.
|
inlineprivate |
|
inlineinherited |
Record that a particular child passed a check.
Definition at line 181 of file ITruthIncident.h.
|
inlineinherited |
Set whether this TruthIncident should pass the vertex as a whole or individual children.
Definition at line 190 of file ITruthIncident.h.
|
private |
Definition at line 125 of file Geant4TruthIncident.h.
|
private |
Definition at line 123 of file Geant4TruthIncident.h.
|
protectedinherited |
Definition at line 131 of file ITruthIncident.h.
|
private |
Definition at line 126 of file Geant4TruthIncident.h.
|
privateinherited |
region that the TruthIncident is located in
Definition at line 127 of file ITruthIncident.h.
|
protectedinherited |
Definition at line 129 of file ITruthIncident.h.
|
private |
Definition at line 128 of file Geant4TruthIncident.h.
|
protectedinherited |
Definition at line 130 of file ITruthIncident.h.
|
private |
Definition at line 121 of file Geant4TruthIncident.h.
|
private |
Definition at line 120 of file Geant4TruthIncident.h.
|
private |
Definition at line 122 of file Geant4TruthIncident.h.