ATLAS Offline Software
Loading...
Searching...
No Matches
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
23class TTree;
24
25namespace Trk {
26
27 class LayerMaterialProperties;
28 class LayerMaterialRecord;
29 class Layer;
30
37
39 public AthAlgTool, virtual public ILayerMaterialAnalyser {
40
41 public:
43 LayerMaterialAnalyser(const std::string&,const std::string&,const IInterface*);
44
47
49 StatusCode initialize();
50
52 StatusCode finalize();
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
73
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
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Interface class for LayerMaterial analysis.
std::vector< int > * m_bin0
bin 0
std::vector< float > * m_Rho
gathered rho from material mapping/material properties
float m_layerDimension1
dimension 1 : cylinder z, disk r_max
LayerMaterialAnalyser(const std::string &, const std::string &, const IInterface *)
Constructor.
std::vector< int > * m_binCounter
how often was this bin hit / used
StatusCode analyse(const Layer &lay, const MaterialPropertiesMatrix &lmr, const std::vector< std::vector< unsigned int > > *bCounter=0) const
std::vector< float > * m_thickness
gathered thickness from material mapping/material properties
std::vector< float > * m_layerTranslation
center of the transform
std::vector< int > * m_bin1
bin 1
int m_layerIndex
the layer index given by the TrackingGeometry
std::vector< float > * m_A
gathered A from material mapping/material properties
std::string m_validationTreeDescription
validation tree description - second argument in TTree
std::vector< float > * m_X0
gathered X0 from material mapping/material properties
std::vector< float > * m_Z
gathered Z from material mapping/material properties
std::string m_validationTreeName
validation tree name - to be accessed by this from root
StatusCode analyseLayerMaterial(const Layer &lay) const
process the layer - after material creation and loading
float m_layerDimension0
dimension 0 : cylinder r, disk r_min
int m_layerBins1
total number of bins - loc 0
TTree * m_validationTree
The validation tree.
std::string m_validationTreeFolder
stream/folder to for the TTree to be written out
~LayerMaterialAnalyser()
Destructor.
int m_layerBins
total number of bins - loc0 * loc 1
int m_layerType
the type of the layer 1 - cylinder, 2 - disk
std::vector< float > * m_layerRotation
orientation of the layer
std::vector< int > * m_elements
gathered number of elements from material mapping/material properties
StatusCode finalize()
AlgTool finalize method.
std::vector< float > * m_L0
gathered L0 from material mapping/material properties
int m_layerBins0
total number of bins - loc 0
This virtual base class encapsulates the logics to build pre/post/full update material for Layer stru...
Helper Class to record the material during the GeantinoNtupleMappingProcess.
Base Class for a Detector Layer in the Tracking realm.
Definition Layer.h:72
Ensure that the ATLAS eigen extensions are properly loaded.
std::vector< std::vector< const MaterialProperties * > > MaterialPropertiesMatrix
void initialize()