ATLAS Offline Software
Loading...
Searching...
No Matches
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
12namespace ISF {
13 class ISFParticle;
14}
15
42public:
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;
101private:
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
Define macros for attributes used to control the static checker.
The generic ISF particle definition,.
Definition ISFParticle.h:42
int m_barcode ATLAS_THREAD_SAFE
virtual void SetBaseISFParticle(ISF::ISFParticle *) override
set the pointer to the ISFParticle corresponding to the current G4Track.
virtual HepMC::GenParticlePtr GetCurrentGenParticle() override
virtual void SetReturnedToISF(bool returned) override
Flag whether the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF...
virtual int GetParticleStatus() const override
virtual HepMC::ConstGenParticlePtr GetCurrentGenParticle() const override
return a pointer to the GenParticle corresponding to the current G4Track (if there is one).
int GetRegenerationNr() const
return the number of times the particle represented by the G4Track has undergone a non-destructive in...
virtual int GetParticleUniqueID() const override
ISF::ISFParticle * m_theBaseISFParticle
void SetRegenerationNr(int i)
update the number of times the particle represented by the G4Track has undergone a non-destructive in...
HepMC::GenParticlePtr m_currentGenParticle
virtual int GetParticleBarcode() const override
virtual ISF::ISFParticle * GetBaseISFParticle() override
virtual const ISF::ISFParticle * GetBaseISFParticle() const override
return a pointer to the ISFParticle corresponding to the current G4Track.
virtual void SetCurrentGenParticle(HepMC::GenParticlePtr) override
set m_currentGenParticle, the pointer to the GenParticle corresponding to the current G4Track.
virtual bool GetReturnedToISF() const override
Is the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF?
VTrackInformation(TrackClassification tc=Primary)
constexpr int INVALID_PARTICLE_BARCODE
GenParticle * GenParticlePtr
Definition GenParticle.h:37
const GenParticle * ConstGenParticlePtr
Definition GenParticle.h:38
ISFParticleOrderedQueue.