ATLAS Offline Software
GsfMaterial.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3  */
4 
10 #ifndef GSFMATERIAL_H
11 #define GSFMATERIAL_H
12 
14 //
16 //
17 #include <array>
18 
19 namespace GsfMaterial {
20 
22 struct EnergyLoss
23 {
24  struct element
25  {
26  double weight = 0;
27  double deltaP = 0;
28  double deltaQOvePCov = 0;
29  };
30  std::array<element, GSFConstants::maxNumberofMatComponents> elements = {};
31  int numElements = 0;
32 };
33 
35 struct Scattering
36 {
37  double deltaThetaCov = 0;
38  double deltaPhiCov = 0;
39  void reset()
40  {
41  deltaThetaCov = 0;
42  deltaPhiCov = 0;
43  }
44 };
45 
47 struct Combined
48 {
49  std::array<double, GSFConstants::maxNumberofMatComponents> weights = {};
50  std::array<double, GSFConstants::maxNumberofMatComponents> deltaPs = {};
52  AmgVector(5),
55  AmgSymMatrix(5),
57 
58  size_t numEntries = 0;
59 
60 };
61 
62 } // end namespace GSFMaterial
63 
64 #endif
65 
GsfMaterial::Combined::weights
std::array< double, GSFConstants::maxNumberofMatComponents > weights
Definition: GsfMaterial.h:49
GsfMaterial::Scattering
Helper struct for multiple scattering effects single component description.
Definition: GsfMaterial.h:36
GsfMaterial::EnergyLoss::elements
std::array< element, GSFConstants::maxNumberofMatComponents > elements
Definition: GsfMaterial.h:30
GsfMaterial::EnergyLoss
Helper struct for energy loss effects, multicomponent description.
Definition: GsfMaterial.h:23
GsfMaterial::EnergyLoss::element::weight
double weight
Definition: GsfMaterial.h:26
GsfMaterial::Combined::deltaCovariances
std::array< AmgSymMatrix(5), GSFConstants::maxNumberofMatComponents > deltaCovariances
Definition: GsfMaterial.h:56
GsfMaterial::EnergyLoss::element
Definition: GsfMaterial.h:25
AmgSymMatrix
#define AmgSymMatrix(dim)
Definition: EventPrimitives.h:52
GsfMaterial::Scattering::deltaPhiCov
double deltaPhiCov
Definition: GsfMaterial.h:38
GsfMaterial::EnergyLoss::element::deltaQOvePCov
double deltaQOvePCov
Definition: GsfMaterial.h:28
GsfMaterial::Combined::numEntries
size_t numEntries
Definition: GsfMaterial.h:58
GSFConstants::maxNumberofMatComponents
constexpr int8_t maxNumberofMatComponents
Maximum number of Gaussian components for the material effects description.
Definition: GsfConstants.h:50
AmgVector
AmgVector(4) T2BSTrackFilterTool
Definition: T2BSTrackFilterTool.cxx:114
GSFConstants::alignment
constexpr size_t alignment
Alignment used for SIMD operations internally to GSF.
Definition: GsfConstants.h:68
GsfMaterial::Scattering::deltaThetaCov
double deltaThetaCov
Definition: GsfMaterial.h:37
GsfMaterial::Combined
Helper struct for combined material effects, multicomponent description.
Definition: GsfMaterial.h:48
lumiFormat.array
array
Definition: lumiFormat.py:98
EventPrimitives.h
GsfMaterial::Combined::deltaPs
std::array< double, GSFConstants::maxNumberofMatComponents > deltaPs
Definition: GsfMaterial.h:50
GsfMaterial::Scattering::reset
void reset()
Definition: GsfMaterial.h:39
GsfMaterial
Collect Structs we use for material effects in GSF and their meaning in one place.
Definition: GsfMaterial.h:19
GsfMaterial::Combined::deltaParameters
std::array< AmgVector(5), GSFConstants::maxNumberofMatComponents > deltaParameters
Definition: GsfMaterial.h:53
GsfMaterial::EnergyLoss::numElements
int numElements
Definition: GsfMaterial.h:31
GsfConstants.h
GsfMaterial::EnergyLoss::element::deltaP
double deltaP
Definition: GsfMaterial.h:27