ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEvent
TrkMaterialOnTrack
TrkMaterialOnTrack
EnergyLoss.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// EnergyLoss.h, (c) ATLAS Detector software
8
9
#ifndef TRKMATERIALONTRACK_ENERGYLOSS_H
10
#define TRKMATERIALONTRACK_ENERGYLOSS_H
11
12
#include <cassert>
13
#include <cmath>
14
#include <iosfwd>
15
16
class
MsgStream;
17
class
TrackCollectionCnv
;
18
19
namespace
Trk
{
20
33
class
EnergyLoss
34
{
35
friend
class ::TrackCollectionCnv;
36
37
public
:
39
EnergyLoss
() =
default
;
40
EnergyLoss
(
const
EnergyLoss
&) =
default
;
41
EnergyLoss
(
EnergyLoss
&&) noexcept = default;
42
EnergyLoss
& operator=(
const
EnergyLoss
&) = default;
43
EnergyLoss
& operator=(
EnergyLoss
&&) noexcept = default;
44
virtual ~
EnergyLoss
() = default;
46
EnergyLoss
(
double
deltaE
,
47
double
sigmaDeltaE
,
48
double
sigmaMinusDeltaE
= 0.0,
49
double
sigmaPlusDeltaE
= 0.0);
50
52
EnergyLoss
(
double
deltaE
,
53
double
sigmaDeltaE
,
54
double
mean_ioni,
55
double
sigma_ioni,
56
double
mean_rad,
57
double
sigma_rad);
58
60
EnergyLoss
(
double
deltaE
,
61
double
sigmaDeltaE
,
62
double
sigmaMinusDeltaE
,
63
double
sigmaPlusDeltaE
,
64
double
mean_ioni,
65
double
sigma_ioni,
66
double
mean_rad,
67
double
sigma_rad,
68
double
length
);
69
71
virtual
EnergyLoss
*
clone
()
const
;
72
74
double
deltaE
()
const
;
75
77
double
sigmaDeltaE
()
const
;
78
80
double
sigmaMinusDeltaE
()
const
;
81
83
double
sigmaPlusDeltaE
()
const
;
84
85
// access to eloss components
86
double
meanIoni
()
const
;
87
double
sigmaIoni
()
const
;
88
double
meanRad
()
const
;
89
double
sigmaRad
()
const
;
90
double
length
()
const
;
91
92
// update from mean values
93
void
update
(
double
ioni,
94
double
sigi,
95
double
rad,
96
double
sigr,
97
bool
mpv = false);
98
99
// update
100
void
update
(
const
EnergyLoss
&,
bool
mpv = false);
101
102
// set
103
void
set
(
double
eLoss,
104
double
sigde,
105
double
ioni,
106
double
sigi,
107
double
rad,
108
double
sigr);
109
111
virtual MsgStream&
dump
(MsgStream& sl)
const
;
113
virtual
std
::
ostream
&
dump
(
std
::
ostream
& sl)
const
;
114
115
private
:
117
double
m_deltaE
= 0;
119
double
m_sigmaDeltaE
= 0;
121
double
m_sigmaMinusDeltaE
= 0;
123
double
m_sigmaPlusDeltaE
= 0;
124
// additional information about components (cache only, not persistified)
125
double
m_mean_ioni
= 0;
// mean value for ionization
126
double
m_sig_ioni
= 0;
// sigma for ionization
127
double
m_mean_rad
= 0;
// mean value for radiation
128
double
m_sig_rad
= 0;
// sigma for radiation
129
double
m_length
= 0;
// 3D length of material
130
};
131
132
MsgStream&
133
operator<<(MsgStream& sl,
const
EnergyLoss
& eloss);
134
136
std
::
ostream
&
137
operator<<(
std
::
ostream
& sl,
const
EnergyLoss
& eloss);
138
139
}
// end ns
140
141
#include "TrkMaterialOnTrack/EnergyLoss.icc"
142
#endif
// TRKMATERIALONTRACK_ENERGYLOSS_H
TrackCollectionCnv
Definition
TrackCollectionCnv.h:47
Trk::EnergyLoss::m_sigmaMinusDeltaE
double m_sigmaMinusDeltaE
- positive error on the energy loss
Definition
EnergyLoss.h:121
Trk::EnergyLoss::m_sig_ioni
double m_sig_ioni
Definition
EnergyLoss.h:126
Trk::EnergyLoss::EnergyLoss
EnergyLoss()=default
default constructor for POOL
Trk::EnergyLoss::meanRad
double meanRad() const
Trk::EnergyLoss::length
double length() const
Trk::EnergyLoss::update
void update(double ioni, double sigi, double rad, double sigr, bool mpv=false)
Trk::EnergyLoss::m_sigmaPlusDeltaE
double m_sigmaPlusDeltaE
Definition
EnergyLoss.h:123
Trk::EnergyLoss::clone
virtual EnergyLoss * clone() const
Virtual constructor.
Trk::EnergyLoss::sigmaPlusDeltaE
double sigmaPlusDeltaE() const
returns the positive side
Trk::EnergyLoss::m_deltaE
double m_deltaE
- the estimated or measured energy loss
Definition
EnergyLoss.h:117
Trk::EnergyLoss::sigmaMinusDeltaE
double sigmaMinusDeltaE() const
returns the negative side
Trk::EnergyLoss::set
void set(double eLoss, double sigde, double ioni, double sigi, double rad, double sigr)
Trk::EnergyLoss::sigmaIoni
double sigmaIoni() const
Trk::EnergyLoss::EnergyLoss
EnergyLoss(EnergyLoss &&) noexcept=default
Trk::EnergyLoss::EnergyLoss
EnergyLoss(const EnergyLoss &)=default
Trk::EnergyLoss::m_length
double m_length
Definition
EnergyLoss.h:129
Trk::EnergyLoss::m_sigmaDeltaE
double m_sigmaDeltaE
- negative error on the energy loss
Definition
EnergyLoss.h:119
Trk::EnergyLoss::m_mean_ioni
double m_mean_ioni
Definition
EnergyLoss.h:125
Trk::EnergyLoss::meanIoni
double meanIoni() const
Trk::EnergyLoss::sigmaDeltaE
double sigmaDeltaE() const
returns the symmatric error
Trk::EnergyLoss::sigmaRad
double sigmaRad() const
Trk::EnergyLoss::deltaE
double deltaE() const
returns the
Trk::EnergyLoss::m_mean_rad
double m_mean_rad
Definition
EnergyLoss.h:127
Trk::EnergyLoss::m_sig_rad
double m_sig_rad
Definition
EnergyLoss.h:128
ostream
STL class.
const
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
dump
-event-from-file
std
STL namespace.
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0