ATLAS Offline Software
ForwardDetectors
LUCID
LUCID_SimUtils
LUCID_SimEvent
LUCID_SimEvent
LUCID_SimHit.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef LUCID_SIMHIT_H
6
#define LUCID_SIMHIT_H 1
7
8
#include "
GeneratorObjects/HepMcParticleLink.h
"
9
#include "
Identifier/Identifiable.h
"
10
#include "CLHEP/Vector/ThreeVector.h"
11
#include <string>
12
#include "CLHEP/Random/RandFlat.h"
13
14
// LUCID_SimHit hold all information needed by the digitization algorithms
15
// to construct raw data objects.
16
17
class
LUCID_SimHit
{
18
19
public
:
20
21
LUCID_SimHit
();
22
LUCID_SimHit
(
const
LUCID_SimHit
&);
23
LUCID_SimHit
(
short
tubeID,
24
int
pdgCode,
25
int
truthBarcode
,
26
int
genVolume,
27
float
stepStartPosX,
28
float
stepStartPosY,
29
float
stepStartPosZ,
30
float
stepEndPosX,
31
float
stepEndPosY,
32
float
stepEndPosZ,
33
float
preStepTime,
34
float
postStepTime,
35
float
wavelength,
36
float
energy
);
37
LUCID_SimHit
(
short
tubeID,
38
int
pdgCode,
39
const
HepMcParticleLink
& partLink,
40
int
genVolume,
41
float
stepStartPosX,
42
float
stepStartPosY,
43
float
stepStartPosZ,
44
float
stepEndPosX,
45
float
stepEndPosY,
46
float
stepEndPosZ,
47
float
preStepTime,
48
float
postStepTime,
49
float
wavelength,
50
float
energy
);
51
52
std::string
print
()
const
;
53
54
const
LUCID_SimHit
&
operator=
(
const
LUCID_SimHit
&
t
);
55
56
int
operator ==
(
const
LUCID_SimHit
&)
const
;
57
bool
operator <
(
const
LUCID_SimHit
&)
const
;
58
59
const
HepMcParticleLink
&
particleLink
()
const
;
60
61
inline
float
GetX
()
const
{
return
m_stepStartPosX
; }
62
inline
float
GetY
()
const
{
return
m_stepStartPosY
; }
63
inline
float
GetZ
()
const
{
return
m_stepStartPosZ
; }
64
65
inline
float
GetEPX
()
const
{
return
m_stepEndPosX
; }
66
inline
float
GetEPY
()
const
{
return
m_stepEndPosY
; }
67
inline
float
GetEPZ
()
const
{
return
m_stepEndPosZ
; }
68
69
inline
short
GetTubeID
()
const
{
return
m_tubeID
; }
70
inline
int
truthBarcode
()
const
{
return
m_partLink
.
barcode
(); }
71
inline
int
truthID
()
const
{
return
m_partLink
.
id
(); }
72
inline
int
GetPdgCode
()
const
{
return
m_pdgCode
; }
73
inline
int
GetGenVolume
()
const
{
return
m_genVolume
; }
74
inline
float
GetPreStepTime
()
const
{
return
m_preStepTime
; }
75
inline
float
GetPostStepTime
()
const
{
return
m_postStepTime
; }
76
inline
float
GetWavelength
()
const
{
return
m_wavelength
; }
77
inline
float
GetEnergy
()
const
{
return
m_energy
; }
78
79
bool
isDetected
(CLHEP::HepRandomEngine* rndEngine)
const
;
80
81
private
:
82
83
short
m_tubeID
{};
84
int
m_pdgCode
{};
85
HepMcParticleLink
m_partLink
;
// link to the particle generating the hit
86
int
m_genVolume
{};
87
float
m_stepStartPosX
{};
88
float
m_stepStartPosY
{};
89
float
m_stepStartPosZ
{};
90
float
m_stepEndPosX
{};
91
float
m_stepEndPosY
{};
92
float
m_stepEndPosZ
{};
93
float
m_preStepTime
{};
94
float
m_postStepTime
{};
95
float
m_wavelength
{};
96
float
m_energy
{};
97
};
98
99
inline
const
HepMcParticleLink
&
LUCID_SimHit::particleLink
()
const
{
return
m_partLink
; }
100
101
#endif
LUCID_SimHit::m_stepEndPosX
float m_stepEndPosX
Definition:
LUCID_SimHit.h:90
LUCID_SimHit::GetPdgCode
int GetPdgCode() const
Definition:
LUCID_SimHit.h:72
LUCID_SimHit::m_stepEndPosY
float m_stepEndPosY
Definition:
LUCID_SimHit.h:91
LUCID_SimHit::m_pdgCode
int m_pdgCode
Definition:
LUCID_SimHit.h:84
LUCID_SimHit::operator==
int operator==(const LUCID_SimHit &) const
Definition:
LUCID_SimHit.cxx:135
LUCID_SimHit::GetZ
float GetZ() const
Definition:
LUCID_SimHit.h:63
HepMcParticleLink.h
LUCID_SimHit::m_partLink
HepMcParticleLink m_partLink
Definition:
LUCID_SimHit.h:85
LUCID_SimHit::GetEPY
float GetEPY() const
Definition:
LUCID_SimHit.h:66
LUCID_SimHit::operator<
bool operator<(const LUCID_SimHit &) const
Definition:
LUCID_SimHit.cxx:137
LUCID_SimHit::GetPostStepTime
float GetPostStepTime() const
Definition:
LUCID_SimHit.h:75
LUCID_SimHit::m_stepStartPosZ
float m_stepStartPosZ
Definition:
LUCID_SimHit.h:89
LUCID_SimHit::m_genVolume
int m_genVolume
Definition:
LUCID_SimHit.h:86
LUCID_SimHit::m_preStepTime
float m_preStepTime
Definition:
LUCID_SimHit.h:93
LUCID_SimHit::truthID
int truthID() const
Definition:
LUCID_SimHit.h:71
LUCID_SimHit::print
std::string print() const
Definition:
LUCID_SimHit.cxx:88
LUCID_SimHit::GetEPZ
float GetEPZ() const
Definition:
LUCID_SimHit.h:67
read_hist_ntuple.t
t
Definition:
read_hist_ntuple.py:5
LUCID_SimHit::GetPreStepTime
float GetPreStepTime() const
Definition:
LUCID_SimHit.h:74
Identifiable.h
HepMcParticleLink::barcode
int barcode() const
Return the barcode of the target particle.
Definition:
HepMcParticleLink.cxx:318
LUCID_SimHit::GetEnergy
float GetEnergy() const
Definition:
LUCID_SimHit.h:77
HepMcParticleLink::id
int id() const
Return the id of the target particle.
Definition:
HepMcParticleLink.cxx:291
LUCID_SimHit::GetWavelength
float GetWavelength() const
Definition:
LUCID_SimHit.h:76
LUCID_SimHit::m_stepStartPosY
float m_stepStartPosY
Definition:
LUCID_SimHit.h:88
LUCID_SimHit::GetEPX
float GetEPX() const
Definition:
LUCID_SimHit.h:65
LUCID_SimHit::GetX
float GetX() const
Definition:
LUCID_SimHit.h:61
LUCID_SimHit::GetGenVolume
int GetGenVolume() const
Definition:
LUCID_SimHit.h:73
LUCID_SimHit::m_postStepTime
float m_postStepTime
Definition:
LUCID_SimHit.h:94
HepMcParticleLink
a link optimized in size for a GenParticle in a McEventCollection
Definition:
HepMcParticleLink.h:72
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition:
ParticleGun_FastCalo_ChargeFlip_Config.py:78
LUCID_SimHit::operator=
const LUCID_SimHit & operator=(const LUCID_SimHit &t)
Definition:
LUCID_SimHit.cxx:106
LUCID_SimHit::isDetected
bool isDetected(CLHEP::HepRandomEngine *rndEngine) const
Definition:
LUCID_SimHit.cxx:126
LUCID_SimHit::LUCID_SimHit
LUCID_SimHit()
Definition:
LUCID_SimHit.cxx:9
LUCID_SimHit::GetY
float GetY() const
Definition:
LUCID_SimHit.h:62
LUCID_SimHit
Definition:
LUCID_SimHit.h:17
LUCID_SimHit::m_stepEndPosZ
float m_stepEndPosZ
Definition:
LUCID_SimHit.h:92
LUCID_SimHit::m_energy
float m_energy
Definition:
LUCID_SimHit.h:96
LUCID_SimHit::particleLink
const HepMcParticleLink & particleLink() const
Definition:
LUCID_SimHit.h:99
LUCID_SimHit::GetTubeID
short GetTubeID() const
Definition:
LUCID_SimHit.h:69
LUCID_SimHit::truthBarcode
int truthBarcode() const
Definition:
LUCID_SimHit.h:70
LUCID_SimHit::m_stepStartPosX
float m_stepStartPosX
Definition:
LUCID_SimHit.h:87
LUCID_SimHit::m_tubeID
short m_tubeID
Definition:
LUCID_SimHit.h:83
LUCID_SimHit::m_wavelength
float m_wavelength
Definition:
LUCID_SimHit.h:95
Generated on Sun Dec 22 2024 21:13:56 for ATLAS Offline Software by
1.8.18