ATLAS Offline Software
eflowDepthCalculator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EFLOWDEPTHCALCULATOR_H
6 #define EFLOWDEPTHCALCULATOR_H
7 
8 /********************************************************************
9 
10 NAME: eflowDepthCalculator.h
11 PACKAGE: offline/Reconstruction/eflowRec
12 
13 AUTHORS: M.Hodgkinson, R Duxfield (based on R.Duxfields Root package)
14 CREATED: 18th Aug, 2005
15 
16 ********************************************************************/
17 
19 
28 
29  public:
30 
33 
34  static int NDepth() {return m_nDepth;}
35 
36  const double* calcDepthArray(double eta, double filler = 0.0);
37  const double* getDepthArray() const {return m_layerDepth;}
38 
39  enum DEPTHLAYER {
44  FCAL0, FCAL1, FCAL2,
45  Unknown=999
46  };
47 
49 
50  static const double m_preEMBat0eta;
51  static const double m_cryostatAt0eta;
52  static const double m_LArGap;
53  static const double m_preEMEat19eta;
54  static const double m_preHEC;
55  static const double m_preFCAL;
56  static const double m_tileGapAt1eta;
57  static const double m_inclusivePreTileExt;
58 
59  static const double m_EMBlambdaPerUnitLength;
60  static const double m_tileLambdaPerUnitLength;
61  static const double m_fcalLambdaPerUnitLength[3];
62 
63  static const double m_EMBlayerR[4];
64  static const double m_EMBzMin;
65  static const double m_EMBzMax;
66 
67  static const double m_EMErMin;
68  static const double m_EMErMax;
69  static const double m_EMElayerZ[4];
70 
71  static const double m_HECrMin;
72  static const double m_HECrMax;
73  static const double m_HEClayerZ[5];
74 
75  static const double m_FCALrMin;
76  static const double m_FCALrMax;
77  static const double m_FCALlayerZ[4];
78 
79  static const double m_tileBarLayerR[4];
80  static const double m_tileBarZmin;
81  static const double m_tileBarZmax;
82 
83  static const double m_tileExtLayerR[4];
84  static const double m_tileExtZmin;
85  static const double m_tileExtZmax;
86 
87  static const double m_itc1Zmin;
88  static const double m_itc1Zmax;
89  static const double m_itc1Rmin;
90  static const double m_itc1Rmax;
91 
92  static const double m_itc2Zmin;
93  static const double m_itc2Zmax;
94  static const double m_itc2Rmin;
95  static const double m_itc2Rmax;
96 
97  private:
98 
99  static double lengthThroughBox(double theta, double zMin, double zMax, double rMin, double rMax) ;
100 
101  static const int m_nDepth = FCAL2;//Tile_back; // number of region bounds
103 
104  double m_layerDepth[m_nDepth+1]{};
105 };
106 
107 
109 
110 #endif
eflowCaloRegions.h
eflowDepthCalculator::m_itc2Rmin
static const double m_itc2Rmin
Definition: eflowDepthCalculator.h:102
eflowDepthCalculator::Tile2
@ Tile2
Definition: eflowDepthCalculator.h:51
eflowDepthCalculator::m_EMBlayerR
static const double m_EMBlayerR[4]
Definition: eflowDepthCalculator.h:71
eflowDepthCalculator::calcDepthArray
const double * calcDepthArray(double eta, double filler=0.0)
Definition: eflowDepthCalculator.cxx:152
eflowDepthCalculator::TileGap23
@ TileGap23
Definition: eflowDepthCalculator.h:51
eflowDepthCalculator::m_itc2Zmax
static const double m_itc2Zmax
Definition: eflowDepthCalculator.h:101
eflowDepthCalculator::m_layerDepth
double m_layerDepth[m_nDepth+1]
Definition: eflowDepthCalculator.h:112
eflowDepthCalculator::m_cryostatAt0eta
static const double m_cryostatAt0eta
Definition: eflowDepthCalculator.h:59
eflowDepthCalculator::m_itc2Zmin
static const double m_itc2Zmin
Definition: eflowDepthCalculator.h:100
eflowDepthCalculator::Unknown
@ Unknown
Definition: eflowDepthCalculator.h:53
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
eflowDepthCalculator::HEC1
@ HEC1
Definition: eflowDepthCalculator.h:50
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:71
eflowDepthCalculator::m_itc1Rmin
static const double m_itc1Rmin
Definition: eflowDepthCalculator.h:97
eflowDepthCalculator::EMB2
@ EMB2
Definition: eflowDepthCalculator.h:48
eflowDepthCalculator::EMB1
@ EMB1
Definition: eflowDepthCalculator.h:48
eflowDepthCalculator::m_EMBlambdaPerUnitLength
static const double m_EMBlambdaPerUnitLength
Definition: eflowDepthCalculator.h:67
eflowDepthCalculator::m_FCALrMin
static const double m_FCALrMin
Definition: eflowDepthCalculator.h:83
eflowDepthCalculator::getDepthArray
const double * getDepthArray() const
Definition: eflowDepthCalculator.h:45
eflowDepthCalculator::m_tileExtLayerR
static const double m_tileExtLayerR[4]
Definition: eflowDepthCalculator.h:91
eflowDepthCalculator::m_EMErMax
static const double m_EMErMax
Definition: eflowDepthCalculator.h:76
eflowDepthCalculator::m_preEMEat19eta
static const double m_preEMEat19eta
Definition: eflowDepthCalculator.h:61
eflowDepthCalculator::FCAL2
@ FCAL2
Definition: eflowDepthCalculator.h:52
eflowDepthCalculator::m_itc2Rmax
static const double m_itc2Rmax
Definition: eflowDepthCalculator.h:103
eflowDepthCalculator::m_itc1Rmax
static const double m_itc1Rmax
Definition: eflowDepthCalculator.h:98
eflowDepthCalculator::m_preFCAL
static const double m_preFCAL
Definition: eflowDepthCalculator.h:63
eflowDepthCalculator::eflowDepthCalculator
eflowDepthCalculator()
Definition: eflowDepthCalculator.cxx:88
eflowDepthCalculator::HEC4
@ HEC4
Definition: eflowDepthCalculator.h:50
eflowDepthCalculator::Tile3
@ Tile3
Definition: eflowDepthCalculator.h:51
eflowDepthCalculator::m_EMBzMax
static const double m_EMBzMax
Definition: eflowDepthCalculator.h:73
eflowDepthCalculator::EME2
@ EME2
Definition: eflowDepthCalculator.h:49
eflowDepthCalculator::~eflowDepthCalculator
~eflowDepthCalculator()
Definition: eflowDepthCalculator.h:40
eflowDepthCalculator::m_tileGapAt1eta
static const double m_tileGapAt1eta
Definition: eflowDepthCalculator.h:64
eflowDepthCalculator::m_inclusivePreTileExt
static const double m_inclusivePreTileExt
Definition: eflowDepthCalculator.h:65
eflowDepthCalculator::ORIGIN
@ ORIGIN
Definition: eflowDepthCalculator.h:48
eflowDepthCalculator::Tile_back
@ Tile_back
Definition: eflowDepthCalculator.h:51
eflowDepthCalculator::m_HECrMax
static const double m_HECrMax
Definition: eflowDepthCalculator.h:80
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
eflowDepthCalculator::m_tileBarLayerR
static const double m_tileBarLayerR[4]
Definition: eflowDepthCalculator.h:87
eflowDepthCalculator::m_tileBarZmin
static const double m_tileBarZmin
Definition: eflowDepthCalculator.h:88
eflowDepthCalculator::m_itc1Zmin
static const double m_itc1Zmin
Definition: eflowDepthCalculator.h:95
eflowDepthCalculator::HEC3
@ HEC3
Definition: eflowDepthCalculator.h:50
eflowDepthCalculator::FCAL0
@ FCAL0
Definition: eflowDepthCalculator.h:52
eflowDepthCalculator::EMB_back
@ EMB_back
Definition: eflowDepthCalculator.h:48
eflowDepthCalculator::m_tileExtZmin
static const double m_tileExtZmin
Definition: eflowDepthCalculator.h:92
eflowDepthCalculator::m_FCALlayerZ
static const double m_FCALlayerZ[4]
Definition: eflowDepthCalculator.h:85
eflowDepthCalculator::Tile1
@ Tile1
Definition: eflowDepthCalculator.h:51
eflowDepthCalculator::m_EMErMin
static const double m_EMErMin
Definition: eflowDepthCalculator.h:75
eflowDepthCalculator::m_preEMBat0eta
static const double m_preEMBat0eta
Definition: eflowDepthCalculator.h:58
eflowDepthCalculator::NDepth
static int NDepth()
Definition: eflowDepthCalculator.h:42
eflowDepthCalculator::m_tileExtZmax
static const double m_tileExtZmax
Definition: eflowDepthCalculator.h:93
eflowDepthLayerENUM
eflowDepthCalculator::DEPTHLAYER eflowDepthLayerENUM
Definition: eflowDepthCalculator.h:108
eflowDepthCalculator::m_HECrMin
static const double m_HECrMin
Definition: eflowDepthCalculator.h:79
eflowDepthCalculator::lengthThroughBox
static double lengthThroughBox(double theta, double zMin, double zMax, double rMin, double rMax)
Definition: eflowDepthCalculator.cxx:109
eflowCalo::nRegions
static const int nRegions
Definition: eflowCaloRegions.h:45
eflowDepthCalculator::m_fcalLambdaPerUnitLength
static const double m_fcalLambdaPerUnitLength[3]
Definition: eflowDepthCalculator.h:69
eflowDepthCalculator::EME3
@ EME3
Definition: eflowDepthCalculator.h:49
eflowDepthCalculator::m_HEClayerZ
static const double m_HEClayerZ[5]
Definition: eflowDepthCalculator.h:81
eflowCalo::LAYER
LAYER
Definition: eflowCaloRegions.h:36
eflowDepthCalculator::EMB3
@ EMB3
Definition: eflowDepthCalculator.h:48
eflowDepthCalculator
The class calculates the depth of each layer, in interaction lengths, for a given EM2 eta.
Definition: eflowDepthCalculator.h:27
eflowDepthCalculator::m_tileLambdaPerUnitLength
static const double m_tileLambdaPerUnitLength
Definition: eflowDepthCalculator.h:68
eflowDepthCalculator::m_EMBzMin
static const double m_EMBzMin
Definition: eflowDepthCalculator.h:72
eflowDepthCalculator::m_nDepth
static const int m_nDepth
Definition: eflowDepthCalculator.h:109
eflowDepthCalculator::DEPTHLAYER
DEPTHLAYER
Definition: eflowDepthCalculator.h:47
eflowDepthCalculator::m_FCALrMax
static const double m_FCALrMax
Definition: eflowDepthCalculator.h:84
eflowDepthCalculator::m_preHEC
static const double m_preHEC
Definition: eflowDepthCalculator.h:62
eflowDepthCalculator::FCAL1
@ FCAL1
Definition: eflowDepthCalculator.h:52
eflowDepthCalculator::m_tileBarZmax
static const double m_tileBarZmax
Definition: eflowDepthCalculator.h:89
eflowDepthCalculator::m_EMElayerZ
static const double m_EMElayerZ[4]
Definition: eflowDepthCalculator.h:77
eflowDepthCalculator::EME1
@ EME1
Definition: eflowDepthCalculator.h:49
eflowDepthCalculator::TileGap12
@ TileGap12
Definition: eflowDepthCalculator.h:51
eflowDepthCalculator::HEC2
@ HEC2
Definition: eflowDepthCalculator.h:50
eflowDepthCalculator::m_layerDepthMap
static const DEPTHLAYER m_layerDepthMap[eflowCalo::nRegions]
Definition: eflowDepthCalculator.h:110
eflowDepthCalculator::m_itc1Zmax
static const double m_itc1Zmax
Definition: eflowDepthCalculator.h:96
eflowDepthCalculator::EME_back
@ EME_back
Definition: eflowDepthCalculator.h:49
eflowDepthCalculator::HEC_back
@ HEC_back
Definition: eflowDepthCalculator.h:50
eflowDepthCalculator::depthIndex
static DEPTHLAYER depthIndex(eflowCaloENUM layer)
Definition: eflowDepthCalculator.cxx:96
eflowDepthCalculator::m_LArGap
static const double m_LArGap
Definition: eflowDepthCalculator.h:60