Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
MmReadoutElement.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONREADOUTGEOMETRYR4_MMREADOUTELEMENT_H
5 #define MUONREADOUTGEOMETRYR4_MMREADOUTELEMENT_H
6 
10 
11 
12 
13 namespace Acts{
14  class TrapezoidBounds;
15 }
16 
17 namespace MuonGMR4 {
18 
20 
21  public:
22 
24  struct parameterBook {
27  double halfThickness{0.};
29  double halfShortWidth{0.};
31  double halfLongWidth{0.};
33  double halfHeight{0.};
35  unsigned int nGasGaps{0};
37  std::vector<int> readoutSide{};
39  std::vector<StripLayerPtr> layers{};
40 
41 #ifndef SIMULATIONBASE
43 #endif
44 
45 
46  };
47 
49  public parameterBook {};
50 
52 
53  const parameterBook& getParameters() const;
57  }
58 
59 
61  double thickness() const override final;
62 
66  double moduleHeight() const;
68  double moduleWidthS() const;
70  double moduleWidthL() const;
80  unsigned int nGasGaps() const;
89 
90  StatusCode initElement() override final;
91 
95 
96  // measurementHash : Creates a channelHash based on channel's and gasGap's number, which are
97  // retrieved through the MmIdHelper by inputting the calculated channel Identifier.
99  // layerHash : Creates a layerHash based solely on gasGap's number, which is
100  // retrieved through the MmIdHelper by inputting the calculated channel Identifier.
101  IdentifierHash layerHash(const Identifier& measId) const override final;
102  // layerHash : Creates a layerHash based on the first 4 bits of the channelHash,
103  // which retrieve the layer.
105  // measurementId : Retrieves the channel Identifier based on the above created channelHash (measurementHash)
106  Identifier measurementId(const IdentifierHash& measHash) const override final;
107 
108  static IdentifierHash createHash(const int gasGap, const int strip);
118 
121 
122  friend ActsTrk::TransformCacheDetEle<MmReadoutElement>;
123 
124  private:
125 
126 
127 
128  static unsigned int gasGapNumber(const IdentifierHash& measHash);
129  static unsigned int stripNumber(const IdentifierHash& measHash);
130 
132 
134 
136 
138 
139 };
140 std::ostream& operator<<(std::ostream& ostr, const MmReadoutElement::parameterBook& pars);
141 } // namespace MuonGMR4
142 
143 namespace ActsTrk{
144  template <> Amg::Transform3D
147  template <> Identifier
149 }
150 
151 
153 #endif
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
MuonGMR4::MmReadoutElement::moduleWidthS
double moduleWidthS() const
Returns the width at the short edge.
SGTest::store
TestStore store
Definition: TestStore.cxx:23
MuonGMR4::MmReadoutElement::m_idHelper
const MmIdHelper & m_idHelper
Definition: MmReadoutElement.h:133
MuonGMR4::MmReadoutElement
Definition: MmReadoutElement.h:19
MuonGMR4::parameterBook
MmReadoutElement::parameterBook parameterBook
Definition: MmReadoutElement.cxx:22
MuonGMR4::MmReadoutElement::stripLength
double stripLength(const IdentifierHash &measHash) const
Returns the strip length.
dumpTgcDigiDeadChambers.gasGap
list gasGap
Definition: dumpTgcDigiDeadChambers.py:33
MuonGMR4::MmReadoutElement::fromGapToChamOrigin
Amg::Transform3D fromGapToChamOrigin(const IdentifierHash &layerHash) const
Definition: MmReadoutElement.cxx:72
MuonGMR4::MmReadoutElement::createHash
static IdentifierHash createHash(const int gasGap, const int strip)
MuonGMR4::MmReadoutElement::nGasGaps
unsigned int nGasGaps() const
Returns the number of gas gaps.
python.CaloAddPedShiftConfig.args
args
Definition: CaloAddPedShiftConfig.py:45
ActsTrk::TransformCacheDetEle::identify
Identifier identify() const override final
ActsTrk::DetectorType
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
Definition: GeometryDefs.h:17
MuonGMR4::MmReadoutElement::parameterBook
Set of parameters to describe a RPC chamber.
Definition: MmReadoutElement.h:24
ActsTrk::DetectorAlignStore
Definition: DetectorAlignStore.h:20
MuonGMR4::MmReadoutElement::gapLengthS
double gapLengthS(const IdentifierHash &layerHash) const
Length of gas Gap on short side.
MuonGMR4::MmReadoutElement::MmReadoutElement
MmReadoutElement(defineArgs &&args)
Definition: MmReadoutElement.cxx:29
MuonGMR4::MuonReadoutElement
The MuonReadoutElement is an abstract class representing the geometry representing the muon detector.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h:38
MuonGMR4::MmReadoutElement::detectorType
ActsTrk::DetectorType detectorType() const override final
Overload from the ActsTrk::IDetectorElement.
Definition: MmReadoutElement.h:55
MuonGMR4::MmReadoutElement::parameterBook::halfThickness
double halfThickness
Trapezoid dimensions of MicroMegas envelope half-thickness along z-axis.
Definition: MmReadoutElement.h:27
StripDesign.h
MuonGMR4::MmReadoutElement::parameterBook::readoutSide
std::vector< int > readoutSide
Readout sides.
Definition: MmReadoutElement.h:37
MuonGMR4::MmReadoutElement::gapLengthL
double gapLengthL(const IdentifierHash &layerHash) const
Length of gas Gap on long side.
MuonGMR4::MmReadoutElement::numStrips
unsigned int numStrips(const IdentifierHash &layerHash) const
Returns the number of total active strips.
MuonGMR4::MmReadoutElement::parameterBook::halfShortWidth
double halfShortWidth
width of the lower edge
Definition: MmReadoutElement.h:29
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Muon::IMuonIdHelperSvc::mmIdHelper
virtual const MmIdHelper & mmIdHelper() const =0
access to CscIdHelper
MmIdHelper::multilayer
int multilayer(const Identifier &id) const
Definition: MmIdHelper.cxx:796
MuonGMR4::MmReadoutElement::moduleThickness
double moduleThickness() const
Returns the module thickness.
MuonGMR4::MmReadoutElement::parameterBook::nGasGaps
unsigned int nGasGaps
number of gasGaps
Definition: MmReadoutElement.h:35
MuonGMR4::MmReadoutElement::multilayer
int multilayer() const
Returns the multi layer of the element [1-2].
MuonGMR4
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Definition: MdtCalibInput.h:19
MuonGMR4::MmReadoutElement::m_pars
parameterBook m_pars
Definition: MmReadoutElement.h:131
MuonGMR4::MmReadoutElement::stripPosition
Amg::Vector3D stripPosition(const ActsGeometryContext &ctx, const Identifier &measId) const
Returns the position of the strip center.
MuonGMR4::MmReadoutElement::moduleWidthL
double moduleWidthL() const
Returns the width at the top edge.
ActsTrk::DetectorType::Mm
@ Mm
Maybe not needed in the migration.
Acts
Definition: ChamberAssembleTool.h:18
MuonGMR4::MuonReadoutElement::idHelperSvc
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns the pointer to the muonIdHelperSvc.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonGMR4::MmReadoutElement::stripNumber
static unsigned int stripNumber(const IdentifierHash &measHash)
MuonGMR4::MmReadoutElement::parameterBook::halfHeight
double halfHeight
length in the radial direction
Definition: MmReadoutElement.h:33
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
MuonGMR4::MmReadoutElement::measurementId
Identifier measurementId(const IdentifierHash &measHash) const override final
Converts the measurement hash back to the full Identifier.
MuonGMR4::MmReadoutElement::readoutSide
int readoutSide(const IdentifierHash &measHash) const
Returns the readout side.
MuonGMR4::MmReadoutElement::m_multilayer
const int m_multilayer
Definition: MmReadoutElement.h:135
MuonGMR4::MmReadoutElement::firstStrip
unsigned int firstStrip(const IdentifierHash &layerHash) const
Returns the first active strip.
MuonGMR4::MmReadoutElement::parameterBook::halfLongWidth
double halfLongWidth
width of the upper edge
Definition: MmReadoutElement.h:31
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
MuonGMR4::MmReadoutElement::parameterBook::layers
std::vector< StripLayerPtr > layers
Pointers to the strip layers.
Definition: MmReadoutElement.h:39
MuonGMR4::MmReadoutElement::leftStripEdge
Amg::Vector3D leftStripEdge(const ActsGeometryContext &ctx, const Identifier &measId) const
Returns the global position of the strip edge.
MuonGMR4::MmReadoutElement::stripLayer
const StripLayer & stripLayer(const Identifier &measId) const
MmReadoutElement.icc
MuonGMR4::MmReadoutElement::getParameters
const parameterBook & getParameters() const
Definition: MmReadoutElement.cxx:34
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
MuonGMR4::MmReadoutElement::thickness
double thickness() const override final
Overload from the Acts::DetectorElement (2 * halfheight)
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
MuonGMR4::MuonReadoutElement::defineArgs
Helper struct to ship the defining arguments of the detector element around.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h:43
MuonGMR4::MuonReadoutElement::identify
Identifier identify() const override final
Return the athena identifier.
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MuonGMR4::MmReadoutElement::gapHeight
double gapHeight(const IdentifierHash &layerHash) const
Height of gas Gap.
StripLayer.h
MuonGMR4::StripLayer
Definition: StripLayer.h:10
ActsTrk::TransformCacheDetEle::fetchTransform
Amg::Transform3D fetchTransform(const DetectorAlignStore *store) const override final
MmIdHelper
Definition: MmIdHelper.h:54
MuonGMR4::MmReadoutElement::measurementHash
IdentifierHash measurementHash(const Identifier &measId) const override final
Constructs the identifier hash from the full measurement Identifier.
MuonGMR4::MmReadoutElement::gasGapNumber
static unsigned int gasGapNumber(const IdentifierHash &measHash)
MuonGMR4::MmReadoutElement::layerHash
IdentifierHash layerHash(const Identifier &measId) const override final
MuonGMR4::MmReadoutElement::parameterBook::layerBounds
ActsTrk::SurfaceBoundSetPtr< Acts::TrapezoidBounds > layerBounds
Definition: MmReadoutElement.h:42
MuonGMR4::MmReadoutElement::moduleHeight
double moduleHeight() const
Returns the height along the z-axis.
MuonGMR4::MmReadoutElement::rightStripEdge
Amg::Vector3D rightStripEdge(const ActsGeometryContext &ctx, const Identifier &measId) const
Returns the global position of the strip edge.
MuonGMR4::MmReadoutElement::initElement
StatusCode initElement() override final
Element initialization.
Definition: MmReadoutElement.cxx:36
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:55
ActsTrk::SurfaceBoundSetPtr
std::shared_ptr< SurfaceBoundSet< BoundType > > SurfaceBoundSetPtr
Aberivation to create a new SurfaceBoundSetPtr.
Definition: Tracking/Acts/ActsGeoUtils/ActsGeoUtils/Defs.h:19
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
MuonReadoutElement.h
MuonGMR4::operator<<
std::ostream & operator<<(std::ostream &ostr, const Chamber::defineArgs &args)
Definition: Chamber.cxx:14
MuonGMR4::MmReadoutElement::defineArgs
Definition: MmReadoutElement.h:49
Identifier
Definition: IdentifierFieldParser.cxx:14