ATLAS Offline Software
Loading...
Searching...
No Matches
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
11namespace ISF {
12 class ISFParticle;
13}
14
30class VTrackInformation: public G4VUserTrackInformation {
31public:
34
46
62
67 virtual HepMC::ConstGenParticlePtr GetCurrentGenParticle() const {return nullptr;}
68 virtual HepMC::GenParticlePtr GetCurrentGenParticle() {return nullptr;}
75
87
92 virtual const ISF::ISFParticle *GetBaseISFParticle() const {return nullptr;}
93 virtual ISF::ISFParticle *GetBaseISFParticle() {return nullptr;}
101
106 virtual bool GetReturnedToISF() const;
111 virtual void SetReturnedToISF(bool) ;
112
113 virtual int GetParticleBarcode() const = 0; // TODO Drop this once UniqueID and Status are used instead
114 virtual int GetParticleUniqueID() const = 0;
115 virtual int GetParticleStatus() const = 0;
116
117 virtual void Print() const {}
118private:
121};
122
123#endif // MCTRUTH_VTRACKINFORMATION_H
static Double_t tc
The generic ISF particle definition,.
Definition ISFParticle.h:42
virtual HepMC::ConstGenParticlePtr GetCurrentGenParticle() const
return a pointer to the GenParticle corresponding to the current G4Track (if there is one).
virtual void SetBaseISFParticle(ISF::ISFParticle *)
set the pointer to the ISFParticle corresponding to the current G4Track.
virtual void Print() const
virtual void SetGenerationZeroGenParticle(HepMC::GenParticlePtr)
set the pointer to the simulation truth particle before any regeneration happened.
HepMC::GenParticlePtr GetPrimaryGenParticle()
void SetPrimaryGenParticle(HepMC::GenParticlePtr)
set the pointer to the GenParticle used to create the initial G4PrimaryParticle from which the curren...
virtual HepMC::GenParticlePtr GetGenerationZeroGenParticle()
void SetClassification(TrackClassification tc)
update the classification of the currently tracked particle, usually called when a new G4Track is cre...
virtual bool GetReturnedToISF() const
Is the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF?
TrackClassification m_classify
virtual HepMC::ConstGenParticlePtr GetGenerationZeroGenParticle() const
return a pointer to the simulation truth particle before any regeneration happened.
virtual ISF::ISFParticle * GetBaseISFParticle()
HepMC::GenParticlePtr m_primaryGenParticle
virtual HepMC::GenParticlePtr GetCurrentGenParticle()
VTrackInformation(TrackClassification tc=Primary)
virtual void SetReturnedToISF(bool)
Flag whether the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF...
virtual const ISF::ISFParticle * GetBaseISFParticle() const
return a pointer to the ISFParticle corresponding to the current G4Track.
HepMC::ConstGenParticlePtr GetPrimaryGenParticle() const
return a pointer to the GenParticle used to create the initial G4PrimaryParticle from which the curre...
TrackClassification GetClassification() const
return the classification of the current G4Ttrack (Primary, Regenerated Primary, Registered Secondary...
virtual void SetCurrentGenParticle(HepMC::GenParticlePtr)
set the pointer to the GenParticle corresponding to the current G4Track.
virtual int GetParticleStatus() const =0
virtual int GetParticleBarcode() const =0
virtual int GetParticleUniqueID() const =0
HepMC3::GenParticlePtr GenParticlePtr
Definition GenParticle.h:19
HepMC3::ConstGenParticlePtr ConstGenParticlePtr
Definition GenParticle.h:20
ISFParticleOrderedQueue.