ATLAS Offline Software
Chamber.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_CHAMBER_H
5 #define MUONREADOUTGEOMETRYR4_CHAMBER_H
6 
7 #ifndef SIMULATIONBASE
8 
9 
12 
13 namespace Acts {
14  class TrapezoidVolumeBounds;
15  class Volume;
16  class PlaneSurface;
17 }
18 
19 
20 namespace MuonGMR4 {
21  class SpectrometerSector;
22 
23  class Chamber {
24  public:
26  using ReadoutSet = std::vector<const MuonReadoutElement*>;
27  struct defineArgs{
29  std::shared_ptr<const Acts::PlaneSurface> surface{};
33  std::shared_ptr<Acts::TrapezoidVolumeBounds> bounds{};
34  };
35 
39  Chamber(const Chamber& other) = delete;
40  const Chamber& operator=(const Chamber& other) = delete;
42  bool operator<(const Chamber& other) const;
44  std::string identString() const;
46  const Muon::IMuonIdHelperSvc* idHelperSvc() const;
52  int stationPhi() const;
54  int stationEta() const;
56  int8_t side() const;
58  int stationName() const;
60  int sector() const;
62  bool barrel() const;
64  const ReadoutSet& readoutEles() const;
72  const Acts::PlaneSurface& surface() const;
74  double halfXLong() const;
76  double halfXShort() const;
78  double halfY() const;
80  double halfZ() const;
82  const defineArgs& parameters() const;
85  std::shared_ptr<Acts::Volume> boundingVolume(const ActsTrk::GeometryContext& gctx) const;
87  std::shared_ptr<Acts::TrapezoidVolumeBounds> bounds() const;
89  const SpectrometerSector* parent() const;
91  void setParent(const SpectrometerSector* parent);
92  private:
94  const SpectrometerSector* m_parent{nullptr};
95  };
96  std::ostream& operator<<(std::ostream& ostr,
97  const Chamber::defineArgs& args);
98 
99  std::ostream& operator<<(std::ostream& ostr,
100  const Chamber& chamber);
101 }
102 #endif
103 #endif
MuonGMR4::Chamber::defineArgs::surface
std::shared_ptr< const Acts::PlaneSurface > surface
Associated chamber surface.
Definition: Chamber.h:29
MuonGMR4::Chamber::identString
std::string identString() const
Define a string of the chamber used for debugging.
Definition: Chamber.cxx:80
MuonGMR4::Chamber::Chamber
Chamber(defineArgs &&args)
Standard constructor taking the defineArgs.
Definition: Chamber.cxx:29
MuonGMR4::Chamber::parent
const SpectrometerSector * parent() const
Returns the pointer to the MS sector enclosing the chamber.
Definition: Chamber.cxx:138
MuonGMR4::Chamber::defineArgs::detEles
ReadoutSet detEles
List of associated readout elements.
Definition: Chamber.h:31
MuonGMR4::RpcReadoutElement::defineArgs
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:48
MuonGMR4::SpectrometerSector
A spectrometer sector forms the envelope of all chambers that are placed in the same MS sector & laye...
Definition: SpectrometerSector.h:40
python.CaloAddPedShiftConfig.args
args
Definition: CaloAddPedShiftConfig.py:47
ActsTrk::DetectorType
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
Definition: GeometryDefs.h:17
calibdata.chamber
chamber
Definition: calibdata.py:31
MuonGMR4::Chamber::halfY
double halfY() const
Extend of the chamber in the y-direction.
Definition: Chamber.cxx:111
MuonGMR4::Chamber::sector
int sector() const
Returns the MS sector of the chamber.
Definition: Chamber.cxx:124
MuonGMR4::Chamber::halfXShort
double halfXShort() const
Short extend of the chamber in the x-direction at negative Y.
Definition: Chamber.cxx:110
MuonGMR4::Chamber::m_parent
const SpectrometerSector * m_parent
Definition: Chamber.h:94
MuonGMR4::Chamber::localToGlobalTrans
const Amg::Transform3D & localToGlobalTrans(const ActsTrk::GeometryContext &gctx) const
Returns the transformation chamber frame -> global transformation.
Definition: Chamber.cxx:132
MuonGMR4::Chamber::defineArgs
Definition: Chamber.h:27
MuonGMR4::Chamber::operator=
const Chamber & operator=(const Chamber &other)=delete
MuonGMR4::Chamber::side
int8_t side() const
Returns the side of the chamber.
Definition: Chamber.cxx:123
MuonGMR4::Chamber::stationEta
int stationEta() const
Returns the station eta of the chamber.
Definition: Chamber.cxx:121
MuonGMR4::Chamber
Definition: Chamber.h:23
MuonGMR4::Chamber::Chamber
Chamber(const Chamber &other)=delete
delete the copy constructors
MuonGMR4
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Definition: MdtCalibInput.h:19
Acts
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/UtilFunctions.h:20
MuonGMR4::Chamber::chamberIndex
Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index.
Definition: Chamber.cxx:102
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
MuonGMR4::Chamber::ReadoutSet
std::vector< const MuonReadoutElement * > ReadoutSet
Define the list of read out elements of the chamber.
Definition: Chamber.h:26
MuonGMR4::Chamber::globalToLocalTrans
Amg::Transform3D globalToLocalTrans(const ActsTrk::GeometryContext &gctx) const
Returns the global -> local transformation.
Definition: Chamber.cxx:135
ActsTrk::GeometryContext
Definition: GeometryContext.h:28
MuonGMR4::Chamber::stationPhi
int stationPhi() const
Returns the station phi of the chamber.
Definition: Chamber.cxx:120
MuonGMR4::Chamber::idHelperSvc
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns a pointer to the idHelperSvc.
Definition: Chamber.cxx:99
MuonGMR4::Chamber::readoutEles
const ReadoutSet & readoutEles() const
Returns the list of contained readout elements.
Definition: Chamber.cxx:126
MuonGMR4::Chamber::boundingVolume
std::shared_ptr< Acts::Volume > boundingVolume(const ActsTrk::GeometryContext &gctx) const
Returns the Acts::Volume representation of the chamber.
Definition: Chamber.cxx:114
MuonGMR4::Chamber::operator<
bool operator<(const Chamber &other) const
Comparison operator for set ordering.
Definition: Chamber.cxx:37
MuonGMR4::Chamber::m_args
defineArgs m_args
Definition: Chamber.h:93
MuonGMR4::Chamber::surface
const Acts::PlaneSurface & surface() const
Returns the surface associated with the chamber.
Definition: Chamber.cxx:129
MuonGMR4::Chamber::barrel
bool barrel() const
Returns whether the chamber is placed in the barrel.
Definition: Chamber.cxx:96
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
MuonGMR4::Chamber::halfXLong
double halfXLong() const
Long-extend of the chamber in the x-direction at positive Y.
Definition: Chamber.cxx:109
MuonGMR4::Chamber::bounds
std::shared_ptr< Acts::TrapezoidVolumeBounds > bounds() const
Returns the volume bounds.
Definition: Chamber.cxx:117
AthMessaging.h
MuonGMR4::Chamber::detectorType
ActsTrk::DetectorType detectorType() const
Returns the first readout elements detectorType (sorted by techIdx)
Definition: Chamber.cxx:106
MuonGMR4::Chamber::parameters
const defineArgs & parameters() const
Returns the reference to the defining parameters of the chamber.
Definition: Chamber.cxx:125
Muon::IMuonIdHelperSvc
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Definition: IMuonIdHelperSvc.h:27
MuonGMR4::Chamber::defineArgs::bounds
std::shared_ptr< Acts::TrapezoidVolumeBounds > bounds
Chamber volume bounds.
Definition: Chamber.h:33
Muon::MuonStationIndex::ChIndex
ChIndex
enum to classify the different chamber layers in the muon spectrometer
Definition: MuonStationIndex.h:15
MuonGMR4::Chamber::stationName
int stationName() const
Returns an integer representing the stationName.
Definition: Chamber.cxx:122
MuonGMR4::Chamber::setParent
void setParent(const SpectrometerSector *parent)
Sets the connection to the MS sector enclosing the chamber.
Definition: Chamber.cxx:139
MuonReadoutElement.h
MuonGMR4::Chamber::halfZ
double halfZ() const
Thickness of the chamber in the z-direction.
Definition: Chamber.cxx:112
MuonGMR4::operator<<
std::ostream & operator<<(std::ostream &ostr, const Chamber::defineArgs &args)
Definition: Chamber.cxx:15
MuonGMR4::defineArgs
RpcReadoutElement::defineArgs defineArgs
Definition: RpcReadoutGeomTool.cxx:32