ATLAS Offline Software
Tracking
TrkExtrapolation
TrkExInterfaces
TrkExInterfaces
HelperStructs.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRKEXINTERFACES_HELPERSTRUCTS_H
6
#define TRKEXINTERFACES_HELPERSTRUCTS_H
7
8
#include "
TrkParameters/TrackParameters.h
"
9
10
namespace
Trk
{
11
struct
HitInfo
12
{
13
std::unique_ptr<const Trk::TrackParameters>
trackParms
;
// intersection
14
float
time
;
// timing
15
int
detID
;
// sensitive detector id
16
float
deposit
;
// interaction energy deposit (secondaries subtracted)
17
21
HitInfo
(std::unique_ptr<const Trk::TrackParameters> parms,
22
float
time
,
23
int
id
,
24
float
deposit
)
25
:
trackParms
(std::move(parms))
26
,
time
(
time
)
27
,
detID
(
id
)
28
,
deposit
(
deposit
)
29
{
30
}
31
};
32
33
struct
PathLimit
34
{
35
float
x0Max
;
// path limit after which sampled process occurs
36
float
x0Collected
;
// x0 traversed so far
37
float
l0Collected
;
// l0 traversed so far
38
float
weightedZ
;
// type of material traversed (divide by collected x0 to get average Z)
39
int
process
;
// type of pre-sampled material process
40
44
PathLimit
(
float
pathLimit,
int
proc
) :
45
x0Max
(pathLimit),
x0Collected
(0.0),
l0Collected
(0.0),
weightedZ
(0.0),
process
(
proc
)
46
{}
47
51
void
updateMat
(
float
dX0,
float
Z,
float
dL0) {
52
x0Collected
+= dX0;
weightedZ
+= dX0*Z;
53
l0Collected
+= dL0>0. ? dL0 : dX0/0.37/Z;
// use approximation if l0 not available
54
}
55
};
56
57
struct
TimeLimit
58
{
59
float
tMax
;
// pre-sampled life-time
60
float
time
;
// timing
61
int
process
;
// type of pre-sampled decay process
62
66
TimeLimit
(
float
timeMax,
float
time
,
int
proc
) :
67
tMax
(timeMax),
time
(
time
),
process
(
proc
)
68
{}
69
73
void
updateTime
(
float
dt
) {
time
+=
dt
; }
74
};
75
}
76
77
#endif
Trk::HitInfo::detID
int detID
Definition:
HelperStructs.h:15
TrackParameters.h
Trk::PathLimit::process
int process
Definition:
HelperStructs.h:39
Trk::PathLimit::updateMat
void updateMat(float dX0, float Z, float dL0)
collected material update
Definition:
HelperStructs.h:51
Trk::TimeLimit::process
int process
Definition:
HelperStructs.h:61
Trk::HitInfo::HitInfo
HitInfo(std::unique_ptr< const Trk::TrackParameters > parms, float time, int id, float deposit)
Constructor.
Definition:
HelperStructs.h:21
Trk::HitInfo::time
float time
Definition:
HelperStructs.h:14
Trk::HitInfo::trackParms
std::unique_ptr< const Trk::TrackParameters > trackParms
Definition:
HelperStructs.h:13
Trk::TimeLimit::tMax
float tMax
Definition:
HelperStructs.h:59
Trk::PathLimit::weightedZ
float weightedZ
Definition:
HelperStructs.h:38
Trk::PathLimit::x0Collected
float x0Collected
Definition:
HelperStructs.h:36
CaloNoise_fillDB.dt
dt
Definition:
CaloNoise_fillDB.py:58
Trk::PathLimit::PathLimit
PathLimit(float pathLimit, int proc)
Constructor.
Definition:
HelperStructs.h:44
Trk::TimeLimit
Definition:
HelperStructs.h:58
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition:
FakeTrackBuilder.h:9
id
SG::auxid_t id
Definition:
Control/AthContainers/Root/debug.cxx:227
mc.proc
proc
Definition:
mc.PhPy8EG_A14NNPDF23_gg4l_example.py:22
Trk::PathLimit
Definition:
HelperStructs.h:34
Trk::PathLimit::l0Collected
float l0Collected
Definition:
HelperStructs.h:37
Trk::TimeLimit::TimeLimit
TimeLimit(float timeMax, float time, int proc)
Constructor.
Definition:
HelperStructs.h:66
Trk::TimeLimit::time
float time
Definition:
HelperStructs.h:60
Trk::TimeLimit::updateTime
void updateTime(float dt)
timing update
Definition:
HelperStructs.h:73
Trk::HitInfo
Definition:
HelperStructs.h:12
Trk::PathLimit::x0Max
float x0Max
Definition:
HelperStructs.h:35
Trk::HitInfo::deposit
float deposit
Definition:
HelperStructs.h:16
Generated on Sun Dec 22 2024 21:11:05 for ATLAS Offline Software by
1.8.18