ATLAS Offline Software
MuonSpectrometer
MuonSimEvent
MuonSimEvent
MMSimHit.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONSIMEVENT_MMSimHit_H
6
#define MUONSIMEVENT_MMSimHit_H
7
8
#include "
GeoPrimitives/GeoPrimitives.h
"
9
#include "
GeneratorObjects/HepMcParticleLink.h
"
10
11
#include <string>
12
13
typedef
int
HitID
;
14
15
class
MMSimHit
{
16
public
:
17
//
18
// construction/destruction
19
//
20
// needed by athenaRoot
21
MMSimHit
();
22
23
// Destructor:
24
~MMSimHit
()=
default
;
25
MMSimHit
(
HitID
id
,
double
time
,
const
Amg::Vector3D
& position,
26
const
int
particleEncoding
,
const
double
kineticEnergy
,
27
const
Amg::Vector3D
& direction,
const
double
depositEnergy
,
28
const
int
truthBarcode
);
29
MMSimHit
(
HitID
id
,
double
time
,
const
Amg::Vector3D
& position,
30
const
int
particleEncoding
,
const
double
kineticEnergy
,
31
const
Amg::Vector3D
& direction,
const
double
depositEnergy
,
32
const
HepMcParticleLink
& hmpl);
33
34
//postStep globalTime
35
double
globalTime
()
const
{
return
(
double
)
m_globalTime
; }
36
37
//postStep Global and Local Position
38
const
Amg::Vector3D
&
globalPosition
()
const
{
return
m_globalPosition
; }
39
int
particleEncoding
()
const
{
return
m_particleEncoding
; }
40
double
kineticEnergy
()
const
{
return
(
double
)
m_kineticEnergy
; }
41
const
Amg::Vector3D
&
globalDirection
()
const
{
return
m_globalDirection
; }
42
double
depositEnergy
()
const
{
return
(
double
)
m_depositEnergy
; }
43
44
HitID
MMId
()
const
{
return
m_MMId
; }
45
std::string
print
()
const
;
46
47
bool
operator<
(
const
MMSimHit
& rhs)
const
48
{
return
m_MMId
< rhs.
m_MMId
; }
49
50
double
meanTime
()
const
;
51
52
void
setGlobalTime
(
const
double
time
) {
m_globalTime
=
time
; }
53
void
setDepositEnergy
(
const
double
depositEnergy
) {
m_depositEnergy
=
depositEnergy
;}
54
void
setGlobalPosition
(
const
Amg::Vector3D
&
globalPosition
) {
m_globalPosition
=
globalPosition
;}
55
void
setGlobalDirection
(
const
Amg::Vector3D
&
globalDirection
) {
m_globalDirection
=
globalDirection
;}
56
void
setKineticEnergy
(
const
double
kineticEnergy
) {
m_kineticEnergy
=
kineticEnergy
;}
57
58
// truth barcode of the track which released this energy:
59
int
truthBarcode
()
const
;
60
61
// GenParticle::id of the track which released this energy:
62
int
truthID
()
const
;
63
64
// link to the particle generating the hit
65
const
HepMcParticleLink
&
particleLink
()
const
;
66
67
private
:
68
//
69
// member data
70
//
71
HitID
m_MMId
;
72
double
m_globalTime
;
73
// postStep
74
Amg::Vector3D
m_globalPosition
;
75
76
int
m_particleEncoding
;
// PDG id
77
double
m_kineticEnergy
;
// kinetic energy of the particle
78
79
Amg::Vector3D
m_globalDirection
;
80
double
m_depositEnergy
;
81
82
HepMcParticleLink
m_partLink
;
83
};
84
85
//inline methods
86
87
inline
const
HepMcParticleLink
&
MMSimHit::particleLink
()
const
88
{
return
m_partLink
; }
89
inline
double
MMSimHit::meanTime
()
const
90
{
return
(
double
)
m_globalTime
; }
91
inline
float
hitTime
(
const
MMSimHit
& hit)
92
{
return
(
float
) hit.
meanTime
(); }
93
94
#endif // MUONSIMEVENT_MMSimHit_H
MMSimHit
Definition:
MMSimHit.h:15
MMSimHit::~MMSimHit
~MMSimHit()=default
MMSimHit::operator<
bool operator<(const MMSimHit &rhs) const
Definition:
MMSimHit.h:47
HepMcParticleLink.h
MMSimHit::setDepositEnergy
void setDepositEnergy(const double depositEnergy)
Definition:
MMSimHit.h:53
MMSimHit::m_particleEncoding
int m_particleEncoding
Definition:
MMSimHit.h:76
hitTime
float hitTime(const MMSimHit &hit)
Definition:
MMSimHit.h:91
MMSimHit::particleLink
const HepMcParticleLink & particleLink() const
Definition:
MMSimHit.h:87
MMSimHit::m_kineticEnergy
double m_kineticEnergy
Definition:
MMSimHit.h:77
MMSimHit::m_partLink
HepMcParticleLink m_partLink
Definition:
MMSimHit.h:82
MMSimHit::setKineticEnergy
void setKineticEnergy(const double kineticEnergy)
Definition:
MMSimHit.h:56
MMSimHit::meanTime
double meanTime() const
Definition:
MMSimHit.h:89
MMSimHit::globalDirection
const Amg::Vector3D & globalDirection() const
Definition:
MMSimHit.h:41
MMSimHit::m_globalDirection
Amg::Vector3D m_globalDirection
Definition:
MMSimHit.h:79
MMSimHit::print
std::string print() const
Definition:
MMSimHit.cxx:52
GeoPrimitives.h
HepMcParticleLink
a link optimized in size for a GenParticle in a McEventCollection
Definition:
HepMcParticleLink.h:72
MMSimHit::m_globalPosition
Amg::Vector3D m_globalPosition
Definition:
MMSimHit.h:74
MMSimHit::truthBarcode
int truthBarcode() const
Definition:
MMSimHit.cxx:69
MMSimHit::globalTime
double globalTime() const
Definition:
MMSimHit.h:35
MMSimHit::particleEncoding
int particleEncoding() const
Definition:
MMSimHit.h:39
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition:
GeoPrimitives.h:47
MMSimHit::MMId
HitID MMId() const
Definition:
MMSimHit.h:44
MMSimHit::MMSimHit
MMSimHit()
Definition:
MMSimHit.cxx:8
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition:
CaloSwCorrections.py:242
MMSimHit::truthID
int truthID() const
Definition:
MMSimHit.cxx:72
MMSimHit::depositEnergy
double depositEnergy() const
Definition:
MMSimHit.h:42
MMSimHit::globalPosition
const Amg::Vector3D & globalPosition() const
Definition:
MMSimHit.h:38
MMSimHit::setGlobalDirection
void setGlobalDirection(const Amg::Vector3D &globalDirection)
sets the direction expressed in global coordinates
Definition:
MMSimHit.h:55
HitID
int HitID
Definition:
MMSimHit.h:13
MMSimHit::m_depositEnergy
double m_depositEnergy
Definition:
MMSimHit.h:80
HitID
int HitID
Definition:
GenericMuonSimHit.h:13
MMSimHit::m_globalTime
double m_globalTime
Definition:
MMSimHit.h:72
MMSimHit::setGlobalPosition
void setGlobalPosition(const Amg::Vector3D &globalPosition)
sets the position expressed in global coordinates
Definition:
MMSimHit.h:54
MMSimHit::kineticEnergy
double kineticEnergy() const
Definition:
MMSimHit.h:40
MMSimHit::m_MMId
HitID m_MMId
Definition:
MMSimHit.h:71
MMSimHit::setGlobalTime
void setGlobalTime(const double time)
Definition:
MMSimHit.h:52
Generated on Sun Dec 22 2024 21:14:38 for ATLAS Offline Software by
1.8.18