ATLAS Offline Software
Loading...
Searching...
No Matches
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
19namespace GsfMaterial {
20
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 //We need to keep track of the actual elements in use
32 int numElements = 0;
33};
34
37{
38 double deltaThetaCov = 0;
39 double deltaPhiCov = 0;
40 void reset()
41 {
42 deltaThetaCov = 0;
43 deltaPhiCov = 0;
44 }
45};
46
49{
50 //weights
51 std::array<double, GSFConstants::maxNumberofMatComponents> weights = {};
52 //difference in momentum due to material effects
53 std::array<double, GSFConstants::maxNumberofMatComponents> deltaPs = {};
54 //parameters after material update
55 alignas(GSFConstants::alignment) std::array< AmgVector(5),
57 //Covariance after material effects
58 //(we hold initially the delta and then sum it with the covariance)
59 alignas(GSFConstants::alignment) std::array<AmgSymMatrix(5),
61 //We need to keep track of the actual elements in use
62 size_t numEntries = 0;
63
64};
65
66} // end namespace GSFMaterial
67
68#endif
69
#define AmgSymMatrix(dim)
#define AmgVector(rows)
constexpr size_t alignment
Alignment used for SIMD operations internally to GSF.
constexpr int8_t maxNumberofMatComponents
Maximum number of Gaussian components for the material effects description.
Collect Structs we use for material effects in GSF and their meaning in one place.
Definition GsfMaterial.h:19
Helper struct for combined material effects, multicomponent description.
Definition GsfMaterial.h:49
std::array< AmgVector(5), GSFConstants::maxNumberofMatComponents > parameters
Definition GsfMaterial.h:56
std::array< double, GSFConstants::maxNumberofMatComponents > deltaPs
Definition GsfMaterial.h:53
std::array< double, GSFConstants::maxNumberofMatComponents > weights
Definition GsfMaterial.h:51
std::array< AmgSymMatrix(5), GSFConstants::maxNumberofMatComponents > covariances
Definition GsfMaterial.h:60
Helper struct for energy loss effects, multicomponent description.
Definition GsfMaterial.h:23
std::array< element, GSFConstants::maxNumberofMatComponents > elements
Definition GsfMaterial.h:30
Helper struct for multiple scattering effects single component description.
Definition GsfMaterial.h:37