ATLAS Offline Software
MMDetectorDescription.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MMDetectorDescription_H
6 #define MMDetectorDescription_H
7 
12 #include <string>
13 #include <vector>
14 #include <iostream>
15 
16 class AGDDDetectorStore;
17 
19  double stripPitch{0.};
20  double gasThickness{0.};
21  double pcbThickness{0.};
22  double driftThickness{0.};
23  std::vector<double> stereoAngle{};
24  std::vector<int> readoutSide{};
25  double zpos{0.};
26  double distanceFromZAxis{0.}; //inner radius: distance from the IP till the bottom part of the module
27  double roLength{0.}; //module's radial size
28  double activeBottomLength{0.}; // active area: bottom length
29  double activeTopLength{0.}; //active area: top length
30  double activeH{0.}; //active area: radial size
31  double minYPhiR{0.}; //active area: the distance between the first eta and stereo strips (active) [R:right, L:left, min:bottom part, max:top part]. LM1 is the special case as there is no space to route any strips at the bottom, we use two distances (left and right).
32  double minYPhiL{0.};
33  double maxYPhi{0.};
34  int nMissedTopEta{0}; //number of strips that are not connected at any FE board (eta layer)
36  int nMissedTopStereo{0}; //number of strips that are not connected at any FE board (stereo layer)
38  int nRoutedTop{0}; // number of strips needed to cover the low efficient parts of the module (these strips are shorter in lenght than the normal ones)
39  int nRoutedBottom{0};
40  double dlStereoTop{0.};
41  double dlStereoBottom{0.};
42  int tStrips{0}; //total strips per module (disconnected strips are included)
43 };
44 
46 public:
47  MMDetectorDescription(const std::string& s,
49  void Register();
50 
51  double sWidth() const {return small_x();}
52  double lWidth() const {return large_x();}
53  double Length() const {return y();}
54  double Tck() const {return z();}
55 
56  void xFrame(double y) {m_xFrame=y;}
57  double xFrame() const {return m_xFrame;}
58 
59  void ysFrame(double y) {m_ysFrame=y;}
60  double ysFrame() const {return m_ysFrame;}
61 
62  void ylFrame(double y) {m_ylFrame=y;}
63  double ylFrame() const {return m_ylFrame;}
64 
66 
68 
70 
71 protected:
72  double m_xFrame = 0.0;
73  double m_ysFrame = 0.0;
74  double m_ylFrame = 0.0;
75 
77 
79 };
80 
81 #endif
MMReadoutParameters::activeH
double activeH
Definition: MMDetectorDescription.h:30
MMReadoutParameters::roLength
double roLength
Definition: MMDetectorDescription.h:27
checkxAOD.ds
ds
Definition: Tools/PyUtils/bin/checkxAOD.py:257
MMReadoutParameters::nMissedTopEta
int nMissedTopEta
Definition: MMDetectorDescription.h:34
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
MMReadoutParameters::tStrips
int tStrips
Definition: MMDetectorDescription.h:42
MMReadoutParameters::dlStereoBottom
double dlStereoBottom
Definition: MMDetectorDescription.h:41
MMReadoutParameters::activeBottomLength
double activeBottomLength
Definition: MMDetectorDescription.h:28
MMReadoutParameters::readoutSide
std::vector< int > readoutSide
Definition: MMDetectorDescription.h:24
MuonGM::MM_Technology
Definition: MuonAGDDDescription/MuonAGDDDescription/MM_Technology.h:16
MMReadoutParameters::activeTopLength
double activeTopLength
Definition: MMDetectorDescription.h:29
AGDDDetectorPositioner
Definition: AGDDDetectorPositioner.h:39
AGDDDetector::y
double y() const
Definition: AGDDDetector.h:35
MMReadoutParameters::minYPhiR
double minYPhiR
Definition: MMDetectorDescription.h:31
MMReadoutParameters::minYPhiL
double minYPhiL
Definition: MMDetectorDescription.h:32
MMDetectorDescription::ysFrame
double ysFrame() const
Definition: MMDetectorDescription.h:60
MMReadoutParameters::zpos
double zpos
Definition: MMDetectorDescription.h:25
MMDetectorDescription::lWidth
double lWidth() const
Definition: MMDetectorDescription.h:52
MMDetectorDescription::roParameters
MMReadoutParameters roParameters
Definition: MMDetectorDescription.h:67
MMDetectorDescription::GetReadoutParameters
MMReadoutParameters & GetReadoutParameters()
Definition: MMDetectorDescription.h:69
MMReadoutParameters::pcbThickness
double pcbThickness
Definition: MMDetectorDescription.h:21
AGDDDetector::large_x
double large_x() const
Definition: AGDDDetector.h:34
GeoPrimitives.h
AGDDDetector
Definition: AGDDDetector.h:15
MMDetectorDescription::sWidth
double sWidth() const
Definition: MMDetectorDescription.h:51
MMDetectorDescription::ylFrame
double ylFrame() const
Definition: MMDetectorDescription.h:63
AGDDDetector::z
double z() const
Definition: AGDDDetector.h:36
MMDetectorDescription
Definition: MMDetectorDescription.h:45
MMDetectorDescription::MMDetectorDescription
MMDetectorDescription(const std::string &s, AGDDDetectorStore &ds)
Definition: MMDetectorDescription.cxx:14
MMReadoutParameters::gasThickness
double gasThickness
Definition: MMDetectorDescription.h:20
MMReadoutParameters::stripPitch
double stripPitch
Definition: MMDetectorDescription.h:19
MMReadoutParameters::nRoutedTop
int nRoutedTop
Definition: MMDetectorDescription.h:38
MMDetectorDescription::ysFrame
void ysFrame(double y)
Definition: MMDetectorDescription.h:59
MMDetectorDescription::m_ylFrame
double m_ylFrame
Definition: MMDetectorDescription.h:74
MMDetectorDescription::m_ysFrame
double m_ysFrame
Definition: MMDetectorDescription.h:73
MMDetectorDescription::xFrame
double xFrame() const
Definition: MMDetectorDescription.h:57
AGDDDetector::small_x
double small_x() const
Definition: AGDDDetector.h:33
MMReadoutParameters::driftThickness
double driftThickness
Definition: MMDetectorDescription.h:22
AGDDDetectorStore
Definition: AGDDDetectorStore.h:18
MMReadoutParameters::nRoutedBottom
int nRoutedBottom
Definition: MMDetectorDescription.h:39
MMReadoutParameters::nMissedTopStereo
int nMissedTopStereo
Definition: MMDetectorDescription.h:36
MMReadoutParameters::stereoAngle
std::vector< double > stereoAngle
Definition: MMDetectorDescription.h:23
AGDDDetector.h
MMReadoutParameters::nMissedBottomStereo
int nMissedBottomStereo
Definition: MMDetectorDescription.h:37
MMDetectorDescription::Length
double Length() const
Definition: MMDetectorDescription.h:53
MMDetectorDescription::SetDetectorAddress
void SetDetectorAddress(AGDDDetectorPositioner *)
Definition: MMDetectorDescription.cxx:27
MM_Technology.h
MMReadoutParameters::maxYPhi
double maxYPhi
Definition: MMDetectorDescription.h:33
MMReadoutParameters::nMissedBottomEta
int nMissedBottomEta
Definition: MMDetectorDescription.h:35
MMDetectorDescription::Tck
double Tck() const
Definition: MMDetectorDescription.h:54
MMReadoutParameters::dlStereoTop
double dlStereoTop
Definition: MMDetectorDescription.h:40
MMDetectorDescription::GetTechnology
MuonGM::MM_Technology * GetTechnology()
Definition: MMDetectorDescription.cxx:47
MMDetectorDescription::Register
void Register()
Definition: MMDetectorDescription.cxx:21
MMReadoutParameters::distanceFromZAxis
double distanceFromZAxis
Definition: MMDetectorDescription.h:26
MMDetectorDescription::ylFrame
void ylFrame(double y)
Definition: MMDetectorDescription.h:62
MMDetectorDescription::m_ds
AGDDDetectorStore & m_ds
Definition: MMDetectorDescription.h:76
MMDetectorDescription::xFrame
void xFrame(double y)
Definition: MMDetectorDescription.h:56
MMDetectorDescription::m_xFrame
double m_xFrame
Definition: MMDetectorDescription.h:72
MMReadoutParameters
Definition: MMDetectorDescription.h:18