ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkFitter
TrkGaussianSumFilter
TrkGaussianSumFilter
ElectronMaterialMixtureConvolution.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
11
12
#ifndef TrkElectronMaterialMixtureConvolution_H
13
#define TrkElectronMaterialMixtureConvolution_H
14
15
#include "
TrkGaussianSumFilter/IMaterialMixtureConvolution.h
"
16
//
17
#include "
TrkGaussianSumFilterUtils/ElectronCombinedMaterialEffects.h
"
18
#include "
TrkGaussianSumFilterUtils/GsfMaterial.h
"
19
#include "
TrkParameters/ComponentParameters.h
"
20
//
21
#include "
AthenaBaseComps/AthAlgTool.h
"
22
#include "GaudiKernel/ToolHandle.h"
23
24
namespace
Trk
{
25
class
Layer
;
26
class
MaterialProperties
;
27
28
class
ElectronMaterialMixtureConvolution
final
29
:
public
AthAlgTool
30
,
virtual
public
IMaterialMixtureConvolution
31
{
32
33
public
:
34
enum
MaterialUpdateType
35
{
36
Normal
= 0,
37
Preupdate
= 1,
38
Postupdate
= 2
39
};
40
42
ElectronMaterialMixtureConvolution
(
const
std::string&,
43
const
std::string&,
44
const
IInterface*);
45
47
virtual
~ElectronMaterialMixtureConvolution
();
48
50
virtual
StatusCode
initialize
() override final;
51
53
virtual
MultiComponentState
update
(
std
::
vector
<
GsfMaterial
::
Combined
>&,
54
const
MultiComponentState
&,
55
const
Layer
&,
56
PropDirection
direction
=
anyDirection
)
const
override final;
57
59
virtual
MultiComponentState
preUpdate
(
std
::
vector
<
GsfMaterial
::
Combined
>&,
60
const
MultiComponentState
&,
61
const
Layer
&,
62
PropDirection
direction
=
anyDirection
)
const
override final;
63
65
virtual
MultiComponentState
postUpdate
(
std
::
vector
<
GsfMaterial
::
Combined
>&,
66
const
MultiComponentState
&,
67
const
Layer
&,
68
PropDirection
direction
=
anyDirection
)
const
override final;
69
70
virtual
Trk
::
ParticleHypothesis
particleHypothesis
()
const
override final {
71
return
Trk::electron
;
72
}
73
74
private
:
75
Trk::MultiComponentState
update
(std::vector<GsfMaterial::Combined>&,
76
const
Trk::MultiComponentState
& inputState,
77
const
Trk::Layer
& layer,
78
Trk::PropDirection
direction
,
79
double
updateFactor)
const
;
80
81
//pimpl
82
std::unique_ptr<ElectronCombinedMaterialEffects>
m_materialEffects
;
83
84
Gaudi::Property<unsigned int>
m_maximumNumberOfComponents
{
85
this
,
86
"MaximumNumberOfComponents"
,
87
12,
88
"Maximum number of components"
89
};
90
91
Gaudi::Property<std::string>
m_parameterisationFileName
{
92
this
,
93
"BetheHeitlerParameterisationFileName"
,
94
"GeantSim_LT01_cdf_nC6_O5.par"
,
95
"Parametrization of Bethe Heitler material effects"
96
};
97
98
Gaudi::Property<std::string>
m_parameterisationFileNameHighX0
{
99
this
,
100
"BetheHeitlerParameterisationFileNameHighX0"
,
101
"GeantSim_GT01_cdf_nC6_O5.par"
,
102
"Parametrization of Bethe Heitler material effects for high X0"
103
};
104
};
105
106
}
// end Trk namespace
107
108
#endif
AthAlgTool.h
ComponentParameters.h
Definition of component parameters for use in a mixture of many components. In this regime each track...
ElectronCombinedMaterialEffects.h
GsfMaterial.h
IMaterialMixtureConvolution.h
Abstract base class for convolution of material effects.
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
Trk::ElectronMaterialMixtureConvolution::~ElectronMaterialMixtureConvolution
virtual ~ElectronMaterialMixtureConvolution()
AlgTool initialise method.
Trk::ElectronMaterialMixtureConvolution::preUpdate
virtual MultiComponentState preUpdate(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction=anyDirection) const override final
Convolution with post-measurement-update material properties.
Definition
ElectronMaterialMixtureConvolution.cxx:218
Trk::ElectronMaterialMixtureConvolution::m_parameterisationFileName
Gaudi::Property< std::string > m_parameterisationFileName
Definition
ElectronMaterialMixtureConvolution.h:91
Trk::ElectronMaterialMixtureConvolution::update
virtual MultiComponentState update(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction=anyDirection) const override final
Convolution with pre-measurement-update material properties.
Definition
ElectronMaterialMixtureConvolution.cxx:197
Trk::ElectronMaterialMixtureConvolution::particleHypothesis
virtual Trk::ParticleHypothesis particleHypothesis() const override final
Definition
ElectronMaterialMixtureConvolution.h:70
Trk::ElectronMaterialMixtureConvolution::m_materialEffects
std::unique_ptr< ElectronCombinedMaterialEffects > m_materialEffects
Definition
ElectronMaterialMixtureConvolution.h:82
Trk::ElectronMaterialMixtureConvolution::m_parameterisationFileNameHighX0
Gaudi::Property< std::string > m_parameterisationFileNameHighX0
Definition
ElectronMaterialMixtureConvolution.h:98
Trk::ElectronMaterialMixtureConvolution::initialize
virtual StatusCode initialize() override final
Convolution with full material properties.
Definition
ElectronMaterialMixtureConvolution.cxx:180
Trk::ElectronMaterialMixtureConvolution::MaterialUpdateType
MaterialUpdateType
Definition
ElectronMaterialMixtureConvolution.h:35
Trk::ElectronMaterialMixtureConvolution::Postupdate
@ Postupdate
Definition
ElectronMaterialMixtureConvolution.h:38
Trk::ElectronMaterialMixtureConvolution::Preupdate
@ Preupdate
Definition
ElectronMaterialMixtureConvolution.h:37
Trk::ElectronMaterialMixtureConvolution::Normal
@ Normal
Definition
ElectronMaterialMixtureConvolution.h:36
Trk::ElectronMaterialMixtureConvolution::ElectronMaterialMixtureConvolution
ElectronMaterialMixtureConvolution(const std::string &, const std::string &, const IInterface *)
Destructor.
Definition
ElectronMaterialMixtureConvolution.cxx:168
Trk::ElectronMaterialMixtureConvolution::postUpdate
virtual MultiComponentState postUpdate(std::vector< GsfMaterial::Combined > &, const MultiComponentState &, const Layer &, PropDirection direction=anyDirection) const override final
The particle hypothesis we implement material effects for.
Definition
ElectronMaterialMixtureConvolution.cxx:243
Trk::ElectronMaterialMixtureConvolution::m_maximumNumberOfComponents
Gaudi::Property< unsigned int > m_maximumNumberOfComponents
Definition
ElectronMaterialMixtureConvolution.h:84
Trk::IMaterialMixtureConvolution
Definition
IMaterialMixtureConvolution.h:30
Trk::Layer
Base Class for a Detector Layer in the Tracking realm.
Definition
Layer.h:72
Trk::MaterialProperties
Material with information about thickness of material.
Definition
MaterialProperties.h:40
vector
Definition
MultiHisto.h:13
const
GsfMaterial
Collect Structs we use for material effects in GSF and their meaning in one place.
Definition
GsfMaterial.h:19
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::PropDirection
PropDirection
PropDirection, enum for direction of the propagation.
Definition
PropDirection.h:19
Trk::anyDirection
@ anyDirection
Definition
PropDirection.h:22
Trk::MultiComponentState
std::vector< ComponentParameters > MultiComponentState
Definition
ComponentParameters.h:27
Trk::Combined
@ Combined
Definition
Tracking/TrkTools/TrkTrackSummaryTool/TrkTrackSummaryTool/TrackSummaryTool.h:32
Trk::direction
const Amg::Vector3D & direction() const
Method to retrieve the direction at the Intersection.
Trk::ParticleHypothesis
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
Definition
ParticleHypothesis.h:28
Trk::electron
@ electron
Definition
ParticleHypothesis.h:30
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0