ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkFitter
TrkGaussianSumFilterUtils
TrkGaussianSumFilterUtils
ElectronCombinedMaterialEffects.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
12
13
#ifndef TrkElectronCombinedMaterialEffects_H
14
#define TrkElectronCombinedMaterialEffects_H
15
16
#include "
TrkGaussianSumFilterUtils/GsfConstants.h
"
17
#include "
TrkGaussianSumFilterUtils/GsfMaterial.h
"
18
//
19
#include "
TrkEventPrimitives/PropDirection.h
"
20
#include "
TrkGeometry/MaterialProperties.h
"
21
#include "
TrkParameters/ComponentParameters.h
"
22
23
namespace
Trk
{
24
25
class
ElectronCombinedMaterialEffects
26
{
27
public
:
29
struct
ComponentValues
30
{
31
double
weight
;
32
double
mean
;
33
double
variance
;
34
};
35
using
MixtureParameters
= std::array<ComponentValues, GSFConstants::maxNumberofMatComponents>;
36
using
Polynomial
= std::array<double, GSFConstants::polynomialCoefficients>;
37
38
// ctor with arguments
39
ElectronCombinedMaterialEffects
(
40
const
std::string& parameterisationFileName,
41
const
std::string& parameterisationFileNameHighX0);
42
43
void
compute
(
GsfMaterial::Combined
&,
44
const
Trk::ComponentParameters
&,
45
const
Trk::MaterialProperties
&,
46
double
,
47
Trk::PropDirection
=
anyDirection
)
const
;
48
49
private
:
50
/* brief Electron energy loss due to Bremsstrahlung*/
51
void
BetheHeitler
(
GsfMaterial::EnergyLoss
&
cache
,
52
const
ComponentParameters
& componentParameters,
53
const
MaterialProperties
& materialProperties,
54
double
pathLenght,
55
PropDirection
direction
=
anyDirection
)
const
;
56
57
//Actual number of Material components
58
int
m_BHnumberOfComponents
{};
59
int
m_BHnumberOfComponentsHighX0
{};
60
//These are nested std arrays.
61
std::array<Polynomial, GSFConstants::maxNumberofMatComponents>
m_BHpolynomialWeights
{};
62
std::array<Polynomial, GSFConstants::maxNumberofMatComponents>
m_BHpolynomialMeans
{};
63
std::array<Polynomial, GSFConstants::maxNumberofMatComponents>
m_BHpolynomialVariances
{};
64
std::array<Polynomial, GSFConstants::maxNumberofMatComponents>
m_BHpolynomialWeightsHighX0
{};
65
std::array<Polynomial, GSFConstants::maxNumberofMatComponents>
m_BHpolynomialMeansHighX0
{};
66
std::array<Polynomial, GSFConstants::maxNumberofMatComponents>
m_BHpolynomialVariancesHighX0
{};
67
};
68
69
}
// end Trk namespace
70
71
#endif
ComponentParameters.h
Definition of component parameters for use in a mixture of many components. In this regime each track...
GsfConstants.h
GsfMaterial.h
MaterialProperties.h
PropDirection.h
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialMeansHighX0
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialMeansHighX0
Definition
ElectronCombinedMaterialEffects.h:65
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialVariances
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialVariances
Definition
ElectronCombinedMaterialEffects.h:63
Trk::ElectronCombinedMaterialEffects::m_BHnumberOfComponentsHighX0
int m_BHnumberOfComponentsHighX0
Definition
ElectronCombinedMaterialEffects.h:59
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialVariancesHighX0
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialVariancesHighX0
Definition
ElectronCombinedMaterialEffects.h:66
Trk::ElectronCombinedMaterialEffects::BetheHeitler
void BetheHeitler(GsfMaterial::EnergyLoss &cache, const ComponentParameters &componentParameters, const MaterialProperties &materialProperties, double pathLenght, PropDirection direction=anyDirection) const
Definition
ElectronCombinedMaterialEffects.cxx:325
Trk::ElectronCombinedMaterialEffects::compute
void compute(GsfMaterial::Combined &, const Trk::ComponentParameters &, const Trk::MaterialProperties &, double, Trk::PropDirection=anyDirection) const
Definition
ElectronCombinedMaterialEffects.cxx:265
Trk::ElectronCombinedMaterialEffects::ElectronCombinedMaterialEffects
ElectronCombinedMaterialEffects(const std::string ¶meterisationFileName, const std::string ¶meterisationFileNameHighX0)
Definition
ElectronCombinedMaterialEffects.cxx:221
Trk::ElectronCombinedMaterialEffects::Polynomial
std::array< double, GSFConstants::polynomialCoefficients > Polynomial
Definition
ElectronCombinedMaterialEffects.h:36
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialWeightsHighX0
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialWeightsHighX0
Definition
ElectronCombinedMaterialEffects.h:64
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialWeights
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialWeights
Definition
ElectronCombinedMaterialEffects.h:61
Trk::ElectronCombinedMaterialEffects::m_BHnumberOfComponents
int m_BHnumberOfComponents
Definition
ElectronCombinedMaterialEffects.h:58
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialMeans
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialMeans
Definition
ElectronCombinedMaterialEffects.h:62
Trk::ElectronCombinedMaterialEffects::MixtureParameters
std::array< ComponentValues, GSFConstants::maxNumberofMatComponents > MixtureParameters
Definition
ElectronCombinedMaterialEffects.h:35
Trk::MaterialProperties
Material with information about thickness of material.
Definition
MaterialProperties.h:40
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::direction
const Amg::Vector3D & direction() const
Method to retrieve the direction at the Intersection.
Trk::cache
const IIntersectionCache * cache() const
Retrieve the associated cache block, if it exists.
GsfMaterial::Combined
Helper struct for combined material effects, multicomponent description.
Definition
GsfMaterial.h:49
GsfMaterial::EnergyLoss
Helper struct for energy loss effects, multicomponent description.
Definition
GsfMaterial.h:23
Trk::ComponentParameters
Definition
ComponentParameters.h:22
Trk::ElectronCombinedMaterialEffects::ComponentValues
Helper Struct for multiple Gaussian components.
Definition
ElectronCombinedMaterialEffects.h:30
Trk::ElectronCombinedMaterialEffects::ComponentValues::weight
double weight
Definition
ElectronCombinedMaterialEffects.h:31
Trk::ElectronCombinedMaterialEffects::ComponentValues::mean
double mean
Definition
ElectronCombinedMaterialEffects.h:32
Trk::ElectronCombinedMaterialEffects::ComponentValues::variance
double variance
Definition
ElectronCombinedMaterialEffects.h:33
Generated on
for ATLAS Offline Software by
1.17.0