ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Sim
MCTruth
MCTruth
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
10
#include "
CxxUtils/checker_macros.h
"
11
12
namespace
ISF
{
13
class
ISFParticle
;
14
}
15
44
class
TrackInformation
:
public
VTrackInformation
{
45
public
:
46
TrackInformation
();
47
TrackInformation
(
HepMC::GenParticlePtr
p,
ISF::ISFParticle
* baseIsp=
nullptr
);
52
virtual
HepMC::ConstGenParticlePtr
GetCurrentGenParticle
()
const override
{
return
m_currentGenParticle
;}
53
virtual
HepMC::GenParticlePtr
GetCurrentGenParticle
()
override
{
return
m_currentGenParticle
;}
61
virtual
void
SetCurrentGenParticle
(
HepMC::GenParticlePtr
)
override
;
62
67
virtual
HepMC::ConstGenParticlePtr
GetGenerationZeroGenParticle
()
const override
{
return
m_generationZeroGenParticle
;}
68
virtual
HepMC::GenParticlePtr
GetGenerationZeroGenParticle
()
override
{
return
m_generationZeroGenParticle
;}
73
virtual
void
SetGenerationZeroGenParticle
(
HepMC::GenParticlePtr
)
override
;
74
79
virtual
const
ISF::ISFParticle
*
GetBaseISFParticle
()
const override
{
return
m_theBaseISFParticle
;}
80
virtual
ISF::ISFParticle
*
GetBaseISFParticle
()
override
{
return
m_theBaseISFParticle
;}
87
virtual
void
SetBaseISFParticle
(
ISF::ISFParticle
*)
override
;
88
93
virtual
bool
GetReturnedToISF
()
const override
{
return
m_returnedToISF
;}
98
virtual
void
SetReturnedToISF
(
bool
returned)
override
{
m_returnedToISF
=returned;}
99
105
int
GetRegenerationNr
()
const
{
return
m_regenerationNr
;}
111
void
SetRegenerationNr
(
int
i) {
m_regenerationNr
=i;}
112
113
virtual
int
GetParticleBarcode
()
const override
;
// TODO Drop this once UniqueID and Status are used instead
114
virtual
int
GetParticleUniqueID
()
const override
;
115
virtual
int
GetParticleStatus
()
const override
;
116
private
:
117
int
m_regenerationNr
{0};
118
HepMC::GenParticlePtr
m_currentGenParticle
{};
119
HepMC::GenParticlePtr
m_generationZeroGenParticle
{};
120
mutable
int
m_barcode
ATLAS_THREAD_SAFE
=
HepMC::INVALID_PARTICLE_BARCODE
;
// TODO Drop this once UniqueID and Status are used instead
121
mutable
int
m_uniqueID
ATLAS_THREAD_SAFE
=
HepMC::INVALID_PARTICLE_BARCODE
;
122
ISF::ISFParticle
*
m_theBaseISFParticle
{};
123
bool
m_returnedToISF
{
false
};
124
};
125
126
#endif
// MCTRUTH_TRACKINFORMATION_H
MagicNumbers.h
VTrackInformation.h
checker_macros.h
Define macros for attributes used to control the static checker.
ISF::ISFParticle
The generic ISF particle definition,.
Definition
ISFParticle.h:42
TrackInformation::ATLAS_THREAD_SAFE
int m_barcode ATLAS_THREAD_SAFE
Definition
TrackInformation.h:120
TrackInformation::SetBaseISFParticle
virtual void SetBaseISFParticle(ISF::ISFParticle *) override
set the pointer to the ISFParticle corresponding to the current G4Track.
Definition
TrackInformation.cxx:68
TrackInformation::m_generationZeroGenParticle
HepMC::GenParticlePtr m_generationZeroGenParticle
Definition
TrackInformation.h:119
TrackInformation::SetGenerationZeroGenParticle
virtual void SetGenerationZeroGenParticle(HepMC::GenParticlePtr) override
set m_generationZeroGenParticle, the pointer to the simulation truth particle before any regeneration...
Definition
TrackInformation.cxx:63
TrackInformation::TrackInformation
TrackInformation()
Definition
TrackInformation.cxx:9
TrackInformation::GetCurrentGenParticle
virtual HepMC::GenParticlePtr GetCurrentGenParticle() override
Definition
TrackInformation.h:53
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:98
TrackInformation::m_regenerationNr
int m_regenerationNr
Definition
TrackInformation.h:117
TrackInformation::GetParticleStatus
virtual int GetParticleStatus() const override
Definition
TrackInformation.cxx:48
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:52
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:105
TrackInformation::GetParticleUniqueID
virtual int GetParticleUniqueID() const override
Definition
TrackInformation.cxx:37
TrackInformation::m_theBaseISFParticle
ISF::ISFParticle * m_theBaseISFParticle
Definition
TrackInformation.h:122
TrackInformation::GetGenerationZeroGenParticle
virtual HepMC::ConstGenParticlePtr GetGenerationZeroGenParticle() const override
return a pointer to the simulation truth particle before any regeneration happened.
Definition
TrackInformation.h:67
TrackInformation::GetGenerationZeroGenParticle
virtual HepMC::GenParticlePtr GetGenerationZeroGenParticle() override
Definition
TrackInformation.h:68
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:111
TrackInformation::m_currentGenParticle
HepMC::GenParticlePtr m_currentGenParticle
Definition
TrackInformation.h:118
TrackInformation::GetParticleBarcode
virtual int GetParticleBarcode() const override
Definition
TrackInformation.cxx:27
TrackInformation::GetBaseISFParticle
virtual ISF::ISFParticle * GetBaseISFParticle() override
Definition
TrackInformation.h:80
TrackInformation::GetBaseISFParticle
virtual const ISF::ISFParticle * GetBaseISFParticle() const override
return a pointer to the ISFParticle corresponding to the current G4Track.
Definition
TrackInformation.h:79
TrackInformation::SetCurrentGenParticle
virtual void SetCurrentGenParticle(HepMC::GenParticlePtr) override
set m_currentGenParticle, the pointer to the GenParticle corresponding to the current G4Track.
Definition
TrackInformation.cxx:56
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:93
TrackInformation::m_returnedToISF
bool m_returnedToISF
Definition
TrackInformation.h:123
VTrackInformation::VTrackInformation
VTrackInformation(TrackClassification tc=Primary)
Definition
VTrackInformation.cxx:7
HepMC::INVALID_PARTICLE_BARCODE
constexpr int INVALID_PARTICLE_BARCODE
Definition
MagicNumbers.h:55
HepMC::GenParticlePtr
HepMC3::GenParticlePtr GenParticlePtr
Definition
GenParticle.h:19
HepMC::ConstGenParticlePtr
HepMC3::ConstGenParticlePtr ConstGenParticlePtr
Definition
GenParticle.h:20
ISF
ISFParticleOrderedQueue.
Definition
PrimaryParticleInformation.h:13
Generated on
for ATLAS Offline Software by
1.17.0