ATLAS Offline Software
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 
13 #ifndef TrkElectronCombinedMaterialEffects_H
14 #define TrkElectronCombinedMaterialEffects_H
15 
18 //
22 
23 namespace Trk {
24 
26 {
27 public:
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 
49 private:
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
Trk::anyDirection
@ anyDirection
Definition: PropDirection.h:22
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialWeightsHighX0
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialWeightsHighX0
Definition: ElectronCombinedMaterialEffects.h:64
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::ElectronCombinedMaterialEffects
ElectronCombinedMaterialEffects(const std::string &parameterisationFileName, const std::string &parameterisationFileNameHighX0)
Definition: ElectronCombinedMaterialEffects.cxx:221
Trk::ElectronCombinedMaterialEffects::Polynomial
std::array< double, GSFConstants::polynomialCoefficients > Polynomial
Definition: ElectronCombinedMaterialEffects.h:36
GsfMaterial::EnergyLoss
Helper struct for energy loss effects, multicomponent description.
Definition: GsfMaterial.h:23
MaterialProperties.h
Trk::ElectronCombinedMaterialEffects::m_BHnumberOfComponents
int m_BHnumberOfComponents
Definition: ElectronCombinedMaterialEffects.h:58
PropDirection.h
GsfMaterial.h
Trk::ElectronCombinedMaterialEffects::MixtureParameters
std::array< ComponentValues, GSFConstants::maxNumberofMatComponents > MixtureParameters
Definition: ElectronCombinedMaterialEffects.h:35
Trk::ElectronCombinedMaterialEffects::compute
void compute(GsfMaterial::Combined &, const Trk::ComponentParameters &, const Trk::MaterialProperties &, double, Trk::PropDirection=anyDirection) const
Definition: ElectronCombinedMaterialEffects.cxx:265
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
Trk::ElectronCombinedMaterialEffects
Definition: ElectronCombinedMaterialEffects.h:26
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialVariances
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialVariances
Definition: ElectronCombinedMaterialEffects.h:63
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialMeansHighX0
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialMeansHighX0
Definition: ElectronCombinedMaterialEffects.h:65
Trk::ElectronCombinedMaterialEffects::ComponentValues::mean
double mean
Definition: ElectronCombinedMaterialEffects.h:32
Trk::ElectronCombinedMaterialEffects::ComponentValues::weight
double weight
Definition: ElectronCombinedMaterialEffects.h:31
GsfMaterial::Combined
Helper struct for combined material effects, multicomponent description.
Definition: GsfMaterial.h:49
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ComponentParameters
Definition: ComponentParameters.h:22
ComponentParameters.h
Definition of component parameters for use in a mixture of many components. In this regime each track...
Trk::ElectronCombinedMaterialEffects::m_BHnumberOfComponentsHighX0
int m_BHnumberOfComponentsHighX0
Definition: ElectronCombinedMaterialEffects.h:59
Trk::MaterialProperties
Definition: MaterialProperties.h:40
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialVariancesHighX0
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialVariancesHighX0
Definition: ElectronCombinedMaterialEffects.h:66
Trk::ElectronCombinedMaterialEffects::ComponentValues::variance
double variance
Definition: ElectronCombinedMaterialEffects.h:33
Trk::ElectronCombinedMaterialEffects::ComponentValues
Helper Struct for multiple Gaussian components.
Definition: ElectronCombinedMaterialEffects.h:30
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialWeights
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialWeights
Definition: ElectronCombinedMaterialEffects.h:61
GsfConstants.h
Trk::ElectronCombinedMaterialEffects::m_BHpolynomialMeans
std::array< Polynomial, GSFConstants::maxNumberofMatComponents > m_BHpolynomialMeans
Definition: ElectronCombinedMaterialEffects.h:62