ATLAS Offline Software
Loading...
Searching...
No Matches
Simulation
G4Sim
MCTruth
MCTruth
PrimaryParticleInformation.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_PRIMARYPARTICLEINFORMATION_H
6
#define MCTRUTH_PRIMARYPARTICLEINFORMATION_H
7
8
#include "G4VUserPrimaryParticleInformation.hh"
9
#include "
AtlasHepMC/GenParticle_fwd.h
"
10
#include "
TruthUtils/MagicNumbers.h
"
//HepMC::INVALID_PARTICLE_BARCODE
11
#include "
CxxUtils/checker_macros.h
"
12
13
namespace
ISF
{
14
class
ISFParticle
;
15
}
16
39
class
PrimaryParticleInformation
:
public
G4VUserPrimaryParticleInformation {
40
public
:
41
PrimaryParticleInformation
();
42
PrimaryParticleInformation
(
HepMC::GenParticlePtr
p,
ISF::ISFParticle
*isp=
nullptr
);
43
47
HepMC::ConstGenParticlePtr
GetHepMCParticle
()
const
{
return
m_theParticle
; }
48
HepMC::GenParticlePtr
GetHepMCParticle
() {
return
m_theParticle
; }
49
55
int
GetRegenerationNr
() {
return
m_regenerationNr
;}
61
void
SetRegenerationNr
(
int
i) {
m_regenerationNr
=i;}
62
66
const
ISF::ISFParticle
*
GetISFParticle
()
const
{
return
m_theISFParticle
; }
67
ISF::ISFParticle
*
GetISFParticle
() {
return
m_theISFParticle
; }
68
void
SetISFParticle
(
ISF::ISFParticle
* isp);
69
70
int
GetParticleBarcode
()
const
;
71
int
GetParticleUniqueID
()
const
;
72
void
Print
()
const
{}
73
private
:
74
HepMC::GenParticlePtr
m_theParticle
{};
75
ISF::ISFParticle
*
m_theISFParticle
{};
76
77
int
m_regenerationNr
{0};
78
mutable
int
m_barcode
ATLAS_THREAD_SAFE
=
HepMC::INVALID_PARTICLE_BARCODE
;
79
mutable
int
m_uniqueID
ATLAS_THREAD_SAFE
=
HepMC::INVALID_PARTICLE_BARCODE
;
80
};
81
82
#endif
// MCTRUTH_PRIMARYPARTICLEINFORMATION_H
GenParticle_fwd.h
MagicNumbers.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
PrimaryParticleInformation::Print
void Print() const
Definition
PrimaryParticleInformation.h:72
PrimaryParticleInformation::GetISFParticle
const ISF::ISFParticle * GetISFParticle() const
return a pointer to the ISFParticle used to create the G4PrimaryParticle
Definition
PrimaryParticleInformation.h:66
PrimaryParticleInformation::ATLAS_THREAD_SAFE
int m_barcode ATLAS_THREAD_SAFE
Definition
PrimaryParticleInformation.h:78
PrimaryParticleInformation::m_theParticle
HepMC::GenParticlePtr m_theParticle
Definition
PrimaryParticleInformation.h:74
PrimaryParticleInformation::GetParticleUniqueID
int GetParticleUniqueID() const
Definition
PrimaryParticleInformation.cxx:28
PrimaryParticleInformation::GetISFParticle
ISF::ISFParticle * GetISFParticle()
Definition
PrimaryParticleInformation.h:67
PrimaryParticleInformation::GetRegenerationNr
int GetRegenerationNr()
return the number of times the particle represented by the G4PrimaryParticle has undergone a non-dest...
Definition
PrimaryParticleInformation.h:55
PrimaryParticleInformation::GetParticleBarcode
int GetParticleBarcode() const
Definition
PrimaryParticleInformation.cxx:18
PrimaryParticleInformation::m_theISFParticle
ISF::ISFParticle * m_theISFParticle
Definition
PrimaryParticleInformation.h:75
PrimaryParticleInformation::SetRegenerationNr
void SetRegenerationNr(int i)
update the number of times the particle represented by the G4PrimaryParticle has undergone a non-dest...
Definition
PrimaryParticleInformation.h:61
PrimaryParticleInformation::m_regenerationNr
int m_regenerationNr
Definition
PrimaryParticleInformation.h:77
PrimaryParticleInformation::GetHepMCParticle
HepMC::GenParticlePtr GetHepMCParticle()
Definition
PrimaryParticleInformation.h:48
PrimaryParticleInformation::SetISFParticle
void SetISFParticle(ISF::ISFParticle *isp)
Definition
PrimaryParticleInformation.cxx:39
PrimaryParticleInformation::PrimaryParticleInformation
PrimaryParticleInformation()
Definition
PrimaryParticleInformation.cxx:8
PrimaryParticleInformation::GetHepMCParticle
HepMC::ConstGenParticlePtr GetHepMCParticle() const
return a pointer to the GenParticle used to create the G4PrimaryParticle
Definition
PrimaryParticleInformation.h:47
HepMC::INVALID_PARTICLE_BARCODE
constexpr int INVALID_PARTICLE_BARCODE
Definition
MagicNumbers.h:55
HepMC::GenParticlePtr
GenParticle * GenParticlePtr
Definition
GenParticle.h:37
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition
GenParticle.h:38
ISF
ISFParticleOrderedQueue.
Definition
PrimaryParticleInformation.h:13
Generated on
for ATLAS Offline Software by
1.14.0