ATLAS Offline Software
VTrackInformation.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_VTRACKINFORMATION_H
6 #define MCTRUTH_VTRACKINFORMATION_H
7 
8 #include "G4VUserTrackInformation.hh"
10 
11 namespace ISF {
12  class ISFParticle;
13 }
14 
30 class VTrackInformation: public G4VUserTrackInformation {
31 public:
34 
46 
62 
67  virtual HepMC::ConstGenParticlePtr GetCurrentGenParticle() const {return nullptr;}
68  virtual HepMC::GenParticlePtr GetCurrentGenParticle() {return nullptr;}
75 
80  virtual const ISF::ISFParticle *GetBaseISFParticle() const {return nullptr;}
81  virtual ISF::ISFParticle *GetBaseISFParticle() {return nullptr;}
88  virtual void SetBaseISFParticle(ISF::ISFParticle*);
89 
94  virtual bool GetReturnedToISF() const;
99  virtual void SetReturnedToISF(bool) ;
100 
101  virtual int GetParticleBarcode() const = 0; // TODO Drop this once UniqueID and Status are used instead
102  virtual int GetParticleUniqueID() const = 0;
103  virtual int GetParticleStatus() const = 0;
104 
105  virtual void Print() const {}
106 private:
109 };
110 
111 #endif // MCTRUTH_VTRACKINFORMATION_H
VTrackInformation::SetBaseISFParticle
virtual void SetBaseISFParticle(ISF::ISFParticle *)
set the pointer to the ISFParticle corresponding to the current G4Track.
Definition: VTrackInformation.cxx:28
VTrackInformation::GetBaseISFParticle
virtual ISF::ISFParticle * GetBaseISFParticle()
Definition: VTrackInformation.h:81
HepMC::GenParticlePtr
GenParticle * GenParticlePtr
Definition: GenParticle.h:37
VTrackInformation::SetReturnedToISF
virtual void SetReturnedToISF(bool)
Flag whether the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF...
Definition: VTrackInformation.cxx:34
ISF::ISFParticle
Definition: ISFParticle.h:42
GenParticle_fwd.h
VTrackInformation::GetCurrentGenParticle
virtual HepMC::GenParticlePtr GetCurrentGenParticle()
Definition: VTrackInformation.h:68
VTrackInformation::GetBaseISFParticle
virtual const ISF::ISFParticle * GetBaseISFParticle() const
return a pointer to the ISFParticle corresponding to the current G4Track.
Definition: VTrackInformation.h:80
VTrackInformation::m_primaryGenParticle
HepMC::GenParticlePtr m_primaryGenParticle
Definition: VTrackInformation.h:108
VTrackInformation::m_classify
TrackClassification m_classify
Definition: VTrackInformation.h:107
VTrackInformation::GetParticleStatus
virtual int GetParticleStatus() const =0
VTrackInformation::Primary
@ Primary
Definition: VTrackInformation.h:32
VTrackInformation::SetClassification
void SetClassification(TrackClassification tc)
update the classification of the currently tracked particle, usually called when a new G4Track is cre...
Definition: VTrackInformation.h:45
VTrackInformation::GetPrimaryGenParticle
HepMC::ConstGenParticlePtr GetPrimaryGenParticle() const
return a pointer to the GenParticle used to create the initial G4PrimaryParticle from which the curre...
Definition: VTrackInformation.h:54
VTrackInformation::GetPrimaryGenParticle
HepMC::GenParticlePtr GetPrimaryGenParticle()
Definition: VTrackInformation.h:55
VTrackInformation::Print
virtual void Print() const
Definition: VTrackInformation.h:105
VTrackInformation::GetCurrentGenParticle
virtual HepMC::ConstGenParticlePtr GetCurrentGenParticle() const
return a pointer to the GenParticle corresponding to the current G4Track (if there is one).
Definition: VTrackInformation.h:67
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
VTrackInformation::GetReturnedToISF
virtual bool GetReturnedToISF() const
Is the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF?
Definition: VTrackInformation.cxx:17
VTrackInformation::GetParticleUniqueID
virtual int GetParticleUniqueID() const =0
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
VTrackInformation::TrackClassification
TrackClassification
Definition: VTrackInformation.h:32
VTrackInformation::GetParticleBarcode
virtual int GetParticleBarcode() const =0
VTrackInformation::Secondary
@ Secondary
Definition: VTrackInformation.h:32
VTrackInformation
Instances of classes derived from this class are attached as UserInformation to G4Tracks....
Definition: VTrackInformation.h:30
VTrackInformation::SetCurrentGenParticle
virtual void SetCurrentGenParticle(HepMC::GenParticlePtr)
set the pointer to the GenParticle corresponding to the current G4Track.
Definition: VTrackInformation.cxx:22
VTrackInformation::BarcodeOnly
@ BarcodeOnly
Definition: VTrackInformation.h:32
VTrackInformation::RegisteredSecondary
@ RegisteredSecondary
Definition: VTrackInformation.h:32
VTrackInformation::VTrackInformation
VTrackInformation(TrackClassification tc=Primary)
Definition: VTrackInformation.cxx:7
VTrackInformation::GetClassification
TrackClassification GetClassification() const
return the classification of the current G4Ttrack (Primary, Regenerated Primary, Registered Secondary...
Definition: VTrackInformation.h:39
VTrackInformation::RegeneratedPrimary
@ RegeneratedPrimary
Definition: VTrackInformation.h:32
VTrackInformation::SetPrimaryGenParticle
void SetPrimaryGenParticle(HepMC::GenParticlePtr)
set the pointer to the GenParticle used to create the initial G4PrimaryParticle from which the curren...
Definition: VTrackInformation.cxx:12