|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ISF_EVENT_ITRUTHINCIDENT_H
6 #define ISF_EVENT_ITRUTHINCIDENT_H 1
56 virtual const HepMC::FourVector&
position()
const = 0;
140 return m_numChildren;
149 for (
unsigned short i=0; !(pass && m_passWholeVertex) && (
i<m_numChildren); ++
i) {
150 bool thispassed = (childP2(
i) >= p2cut);
151 if(thispassed) { setChildPassedFilters(
i); }
161 for (
unsigned short i=0; !(pass && m_passWholeVertex) && (
i<m_numChildren); ++
i) {
162 bool thispassed = (childPt2(
i) >= pt2cut);
163 if(thispassed) { setChildPassedFilters(
i); }
173 for (
unsigned short i=0; !(pass && m_passWholeVertex) && (
i<m_numChildren); ++
i) {
174 bool thispassed = (childEkin(
i) >= ekincut);
175 if(thispassed) { setChildPassedFilters(
i); }
182 m_childPassedFilters[
index] =
true;
187 return m_childPassedFilters[
index];
191 m_passWholeVertex=passWholeVertex;
196 #endif //> !ISF_EVENT_ITRUTHINCIDENT_H
virtual const HepMC::FourVector & position() const =0
Return HepMC position of the truth vertex.
virtual HepMC::GenParticlePtr childParticle(unsigned short index, int bc=HepMC::UNDEFINED_ID)=0
Return the i-th child as a HepMC particle type and assign the given Barcode to the simulator particle...
virtual int parentStatus()=0
virtual int physicsProcessCode() const =0
Return specific physics process code of the truth incident (eg ionisation, bremsstrahlung,...
virtual int parentPdgCode() const =0
Return the PDG Code of the parent particle.
ITruthIncident(AtlasDetDescr::AtlasRegion geoID, unsigned short numChildren)
GenParticle * GenParticlePtr
virtual int childBarcode(unsigned short index) const =0
Return the barcode of the i-th child particle (if defined as part of the TruthIncident) otherwise ret...
virtual ISF::InteractionClass_t interactionClassification() const
The interaction classifications are described as follows: STD_VTX: interaction of a particle without ...
virtual double childEkin(unsigned short index) const =0
Return Ekin of the i-th child particle.
virtual double childP2(unsigned short index) const =0
Return p^2 of the i-th child particle.
virtual HepMC::GenParticlePtr parentParticleAfterIncident(int newBC)=0
Return the parent particle after the TruthIncident vertex (and assign a new barcode to it)
virtual HepMC::GenParticlePtr parentParticle()=0
Return the parent particle as a HepMC particle type (only called for particles that will enter the He...
unsigned short numberOfChildren() const
Return total number of child particles.
AtlasDetDescr::AtlasRegion m_geoID
region that the TruthIncident is located in
virtual double childPt2(unsigned short index) const =0
Return pT^2 of the i-th child particle.
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 ...
virtual bool parentSurvivesIncident() const =0
Return a boolean whether or not the parent particle survives the incident.
virtual double parentPt2() const =0
Return pT^2 of the parent particle.
constexpr int UNDEFINED_ID
InteractionClass_t
The interaction classifications are described as follows: STD_VTX: interaction of a particle without ...
virtual double parentEkin() const =0
Return Ekin of the parent particle.
virtual int childPdgCode(unsigned short index) const =0
Return the PDG Code of the i-th child particle.
bool childrenEkinPass(double ekincut)
Return true if at least one child particle passes the given Ekin cut (= at least one child with Ekin ...
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 >=...
bool childPassedFilters(unsigned short index) const
Should a particular child be written out to the GenEvent.
virtual int parentBarcode()=0
Return the barcode of the parent particle.
void setPassWholeVertices(bool passWholeVertex)
Set whether this TruthIncident should pass the vertex as a whole or individual children.
virtual int physicsProcessCategory() const =0
Return category of the physics process represented by the truth incident (eg hadronic,...
void setChildPassedFilters(unsigned short index)
Record that a particular child passed a check.
virtual double parentP2() const =0
Return p^2 of the parent particle.
virtual int parentUniqueID()=0
Return the unique ID of the parent particle.
std::vector< bool > m_childPassedFilters
AtlasDetDescr::AtlasRegion geoID()
Return the SimGeoID corresponding to the vertex of the truth incident.