ATLAS Offline Software
Loading...
Searching...
No Matches
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
18//
22
23namespace Trk {
24
26{
27public:
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
40 const std::string& parameterisationFileName,
41 const std::string& parameterisationFileNameHighX0);
42
46 double,
48
49private:
50 /* brief Electron energy loss due to Bremsstrahlung*/
52 const ComponentParameters& componentParameters,
53 const MaterialProperties& materialProperties,
54 double pathLenght,
55 PropDirection direction = anyDirection) const;
56
57 //Actual number of Material components
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
Definition of component parameters for use in a mixture of many components. In this regime each track...
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialMeansHighX0
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialVariances
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialVariancesHighX0
void BetheHeitler(GsfMaterial::EnergyLoss &cache, const ComponentParameters &componentParameters, const MaterialProperties &materialProperties, double pathLenght, PropDirection direction=anyDirection) const
void compute(GsfMaterial::Combined &, const Trk::ComponentParameters &, const Trk::MaterialProperties &, double, Trk::PropDirection=anyDirection) const
ElectronCombinedMaterialEffects(const std::string &parameterisationFileName, const std::string &parameterisationFileNameHighX0)
std::array< double, GSFConstants::polynomialCoefficients > Polynomial
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialWeightsHighX0
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialWeights
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialMeans
std::array< ComponentValues, GSFConstants::maxNumberofMatComponents > MixtureParameters
Material with information about thickness of material.
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
@ anyDirection
Helper struct for combined material effects, multicomponent description.
Definition GsfMaterial.h:49
Helper struct for energy loss effects, multicomponent description.
Definition GsfMaterial.h:23