ATLAS Offline Software
TrackInformation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MCTRUTH_TRACKINFORMATION_H
6 #define MCTRUTH_TRACKINFORMATION_H
7 
8 #include "VTrackInformation.h"
9 #include "TruthUtils/MagicNumbers.h" //HepMC::INVALID_PARTICLE_BARCODE
11 
12 namespace ISF {
13  class ISFParticle;
14 }
15 
42 public:
58  virtual void SetCurrentGenParticle(HepMC::GenParticlePtr) override;
59 
64  virtual const ISF::ISFParticle *GetBaseISFParticle() const override {return m_theBaseISFParticle;}
72  virtual void SetBaseISFParticle(ISF::ISFParticle*) override;
73 
78  virtual bool GetReturnedToISF() const override {return m_returnedToISF;}
83  virtual void SetReturnedToISF(bool returned) override {m_returnedToISF=returned;}
84 
90  int GetRegenerationNr() const {return m_regenerationNr;}
97 
98  virtual int GetParticleBarcode() const override; // TODO Drop this once UniqueID and Status are used instead
99  virtual int GetParticleUniqueID() const override;
100  virtual int GetParticleStatus() const override;
101 private:
104  mutable int m_barcode ATLAS_THREAD_SAFE = HepMC::INVALID_PARTICLE_BARCODE; // TODO Drop this once UniqueID and Status are used instead
107  bool m_returnedToISF{false};
108 };
109 
110 #endif // MCTRUTH_TRACKINFORMATION_H
TrackInformation::SetReturnedToISF
virtual void SetReturnedToISF(bool returned) override
Flag whether the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF...
Definition: TrackInformation.h:83
TrackInformation::m_currentGenParticle
HepMC::GenParticlePtr m_currentGenParticle
Definition: TrackInformation.h:103
TrackInformation::SetCurrentGenParticle
virtual void SetCurrentGenParticle(HepMC::GenParticlePtr) override
set m_currentGenParticle, the pointer to the GenParticle corresponding to the current G4Track.
Definition: TrackInformation.cxx:55
TrackInformation::SetBaseISFParticle
virtual void SetBaseISFParticle(ISF::ISFParticle *) override
set the pointer to the ISFParticle corresponding to the current G4Track.
Definition: TrackInformation.cxx:62
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TrackInformation::m_returnedToISF
bool m_returnedToISF
Definition: TrackInformation.h:107
TrackInformation::GetCurrentGenParticle
virtual HepMC::GenParticlePtr GetCurrentGenParticle() override
Definition: TrackInformation.h:50
HepMC::GenParticlePtr
GenParticle * GenParticlePtr
Definition: GenParticle.h:37
ISF::ISFParticle
Definition: ISFParticle.h:42
TrackInformation::GetParticleUniqueID
virtual int GetParticleUniqueID() const override
Definition: TrackInformation.cxx:36
HepMC::INVALID_PARTICLE_BARCODE
constexpr int INVALID_PARTICLE_BARCODE
Definition: MagicNumbers.h:51
TrackInformation::ATLAS_THREAD_SAFE
int m_barcode ATLAS_THREAD_SAFE
Definition: TrackInformation.h:104
TrackInformation::GetBaseISFParticle
virtual ISF::ISFParticle * GetBaseISFParticle() override
Definition: TrackInformation.h:65
lumiFormat.i
int i
Definition: lumiFormat.py:92
TrackInformation::GetReturnedToISF
virtual bool GetReturnedToISF() const override
Is the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF?
Definition: TrackInformation.h:78
TrackInformation::TrackInformation
TrackInformation()
Definition: TrackInformation.cxx:10
TrackInformation::SetRegenerationNr
void SetRegenerationNr(int i)
update the number of times the particle represented by the G4Track has undergone a non-destructive in...
Definition: TrackInformation.h:96
TrackInformation
Implementation of VTrackInformation. Instances of this class are attached as UserInformation to G4Tra...
Definition: TrackInformation.h:41
TrackInformation::GetRegenerationNr
int GetRegenerationNr() const
return the number of times the particle represented by the G4Track has undergone a non-destructive in...
Definition: TrackInformation.h:90
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
MagicNumbers.h
VTrackInformation.h
TrackInformation::GetParticleBarcode
virtual int GetParticleBarcode() const override
Definition: TrackInformation.cxx:26
TrackInformation::GetBaseISFParticle
virtual const ISF::ISFParticle * GetBaseISFParticle() const override
return a pointer to the ISFParticle corresponding to the current G4Track.
Definition: TrackInformation.h:64
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
TrackInformation::GetParticleStatus
virtual int GetParticleStatus() const override
Definition: TrackInformation.cxx:47
TrackInformation::m_theBaseISFParticle
ISF::ISFParticle * m_theBaseISFParticle
Definition: TrackInformation.h:106
TrackInformation::m_regenerationNr
int m_regenerationNr
Definition: TrackInformation.h:102
VTrackInformation
Instances of classes derived from this class are attached as UserInformation to G4Tracks....
Definition: VTrackInformation.h:30
checker_macros.h
Define macros for attributes used to control the static checker.
TrackInformation::GetCurrentGenParticle
virtual HepMC::ConstGenParticlePtr GetCurrentGenParticle() const override
return a pointer to the GenParticle corresponding to the current G4Track (if there is one).
Definition: TrackInformation.h:49