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
80 virtual const ISF::ISFParticle *GetBaseISFParticle() const {return nullptr;}
81 virtual ISF::ISFParticle *GetBaseISFParticle() {return nullptr;}
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 {}
106private:
109};
110
111#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
HepMC::GenParticlePtr GetPrimaryGenParticle()
void SetPrimaryGenParticle(HepMC::GenParticlePtr)
set the pointer to the GenParticle used to create the initial G4PrimaryParticle from which the curren...
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 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
GenParticle * GenParticlePtr
Definition GenParticle.h:37
const GenParticle * ConstGenParticlePtr
Definition GenParticle.h:38
ISFParticleOrderedQueue.