ATLAS Offline Software
LayerMaterialAnalyser.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // LayerMaterialAnalyser.h, (c) ATLAS Detector software
8 
9 #ifndef TRKDETDESCRTESTTOOLS_LAYERMATERIALRECORDDIAGNOSER_H
10 #define TRKDETDESCRTESTTOOLS_LAYERMATERIALRECORDDIAGNOSER_H
11 
12 // Trk
14 // Gaudi & Athena
16 #include "GaudiKernel/ToolHandle.h"
18 
19 #ifndef LAYERMAXBINS
20 #define LAYERMAXBINS 50000
21 #endif
22 
23 class TTree;
24 
25 namespace Trk {
26 
27  class LayerMaterialProperties;
28  class LayerMaterialRecord;
29  class Layer;
30 
39  public AthAlgTool, virtual public ILayerMaterialAnalyser {
40 
41  public:
43  LayerMaterialAnalyser(const std::string&,const std::string&,const IInterface*);
44 
47 
50 
53 
55  StatusCode analyseLayerMaterial(const Layer& lay) const;
56 
58  StatusCode analyseLayerMaterial(const Layer& lay, const LayerMaterialProperties& lmp) const;
59 
61  StatusCode analyseLayerMaterial(const Layer& lay, const MaterialPropertiesMatrix& lmr) const;
62 
64  StatusCode analyseLayerMaterial(const Layer& lay, const LayerMaterialRecord& lmr) const;
65 
66 
67  private:
68  StatusCode analyse(const Layer& lay,
69  const MaterialPropertiesMatrix& lmr,
70  const std::vector< std::vector< unsigned int > >* bCounter = 0) const;
71 
72  std::string m_layerMaterialName;
73 
75  std::string m_validationTreeName;
77  std::string m_validationTreeFolder;
78 
79  mutable int m_layerIndex;
80  mutable int m_layerType;
81  std::vector<float>* m_layerTranslation;
82  std::vector<float>* m_layerRotation;
83  mutable float m_layerDimension0;
84  mutable float m_layerDimension1;
85  mutable int m_layerBins;
86  mutable int m_layerBins0;
87  mutable int m_layerBins1;
88  std::vector<int>* m_bin0;
89  std::vector<int>* m_bin1;
90  std::vector<float>* m_thickness;
91  std::vector<float>* m_X0;
92  std::vector<float>* m_L0;
93  std::vector<float>* m_A;
94  std::vector<float>* m_Z;
95  std::vector<float>* m_Rho;
96  std::vector<int>* m_elements;
97  std::vector<int>* m_binCounter;
98 
99  };
100 
101 }
102 
103 #endif
104 
105 
106 
107 
Trk::LayerMaterialAnalyser::m_Rho
std::vector< float > * m_Rho
gathered rho from material mapping/material properties
Definition: LayerMaterialAnalyser.h:95
Trk::LayerMaterialAnalyser::~LayerMaterialAnalyser
~LayerMaterialAnalyser()
Destructor.
Trk::ILayerMaterialAnalyser
Definition: ILayerMaterialAnalyser.h:33
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:53
Trk::LayerMaterialAnalyser::m_layerBins1
int m_layerBins1
total number of bins - loc 0
Definition: LayerMaterialAnalyser.h:87
Trk::LayerMaterialAnalyser::m_validationTreeName
std::string m_validationTreeName
validation tree name - to be accessed by this from root
Definition: LayerMaterialAnalyser.h:75
Trk::LayerMaterialAnalyser::m_layerBins
int m_layerBins
total number of bins - loc0 * loc 1
Definition: LayerMaterialAnalyser.h:85
Trk::LayerMaterialAnalyser::m_layerMaterialName
std::string m_layerMaterialName
Definition: LayerMaterialAnalyser.h:72
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
Trk::LayerMaterialAnalyser::m_L0
std::vector< float > * m_L0
gathered L0 from material mapping/material properties
Definition: LayerMaterialAnalyser.h:92
Trk::LayerMaterialAnalyser::m_validationTreeDescription
std::string m_validationTreeDescription
validation tree description - second argument in TTree
Definition: LayerMaterialAnalyser.h:76
Trk::LayerMaterialAnalyser::m_layerDimension0
float m_layerDimension0
dimension 0 : cylinder r, disk r_min
Definition: LayerMaterialAnalyser.h:83
initialize
void initialize()
Definition: run_EoverP.cxx:894
Trk::LayerMaterialAnalyser
Definition: LayerMaterialAnalyser.h:39
Trk::LayerMaterialAnalyser::m_layerBins0
int m_layerBins0
total number of bins - loc 0
Definition: LayerMaterialAnalyser.h:86
Trk::LayerMaterialAnalyser::m_bin0
std::vector< int > * m_bin0
bin 0
Definition: LayerMaterialAnalyser.h:88
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
Trk::LayerMaterialAnalyser::m_X0
std::vector< float > * m_X0
gathered X0 from material mapping/material properties
Definition: LayerMaterialAnalyser.h:91
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::LayerMaterialProperties
Definition: LayerMaterialProperties.h:62
Trk::LayerMaterialAnalyser::m_layerIndex
int m_layerIndex
the layer index given by the TrackingGeometry
Definition: LayerMaterialAnalyser.h:79
AthAlgTool.h
Trk::LayerMaterialAnalyser::m_validationTreeFolder
std::string m_validationTreeFolder
stream/folder to for the TTree to be written out
Definition: LayerMaterialAnalyser.h:77
Trk::LayerMaterialAnalyser::m_thickness
std::vector< float > * m_thickness
gathered thickness from material mapping/material properties
Definition: LayerMaterialAnalyser.h:90
Trk::LayerMaterialRecord
Definition: LayerMaterialRecord.h:42
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::LayerMaterialAnalyser::m_Z
std::vector< float > * m_Z
gathered Z from material mapping/material properties
Definition: LayerMaterialAnalyser.h:94
Trk::LayerMaterialAnalyser::m_A
std::vector< float > * m_A
gathered A from material mapping/material properties
Definition: LayerMaterialAnalyser.h:93
Trk::LayerMaterialAnalyser::m_layerDimension1
float m_layerDimension1
dimension 1 : cylinder z, disk r_max
Definition: LayerMaterialAnalyser.h:84
Trk::LayerMaterialAnalyser::m_layerTranslation
std::vector< float > * m_layerTranslation
center of the transform
Definition: LayerMaterialAnalyser.h:81
Trk::MaterialPropertiesMatrix
std::vector< std::vector< const MaterialProperties * > > MaterialPropertiesMatrix
Definition: ILayerMaterialAnalyser.h:23
Trk::LayerMaterialAnalyser::m_bin1
std::vector< int > * m_bin1
bin 1
Definition: LayerMaterialAnalyser.h:89
Trk::LayerMaterialAnalyser::m_layerRotation
std::vector< float > * m_layerRotation
orientation of the layer
Definition: LayerMaterialAnalyser.h:82
AthAlgTool
Definition: AthAlgTool.h:26
checker_macros.h
Define macros for attributes used to control the static checker.
Trk::LayerMaterialAnalyser::m_validationTree
TTree * m_validationTree
The validation tree.
Definition: LayerMaterialAnalyser.h:74
Trk::LayerMaterialAnalyser::m_binCounter
std::vector< int > * m_binCounter
how often was this bin hit / used
Definition: LayerMaterialAnalyser.h:97
Trk::LayerMaterialAnalyser::m_layerType
int m_layerType
the type of the layer 1 - cylinder, 2 - disk
Definition: LayerMaterialAnalyser.h:80
ILayerMaterialAnalyser.h
Trk::Layer
Definition: Layer.h:73
Trk::LayerMaterialAnalyser::m_elements
std::vector< int > * m_elements
gathered number of elements from material mapping/material properties
Definition: LayerMaterialAnalyser.h:96