ATLAS Offline Software
Loading...
Searching...
No Matches
Chamber.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONREADOUTGEOMETRYR4_CHAMBER_H
5#define MUONREADOUTGEOMETRYR4_CHAMBER_H
6
8#ifndef SIMULATIONBASE
9
12
13namespace Acts {
14 class VolumeBounds;
15 class Volume;
16 class PlaneSurface;
17}
18
19
20namespace MuonGMR4 {
29 class Chamber {
30 public:
32 using ReadoutSet = std::vector<const MuonReadoutElement*>;
33 struct defineArgs{
35 std::shared_ptr<const Acts::PlaneSurface> surface{};
39 std::shared_ptr<Acts::VolumeBounds> bounds{};
41 std::unique_ptr<ActsTrk::VolumePlacement> placement{};
42 };
43
45 Chamber(defineArgs&& args);
47 Chamber(const Chamber& other) = delete;
48 const Chamber& operator=(const Chamber& other) = delete;
50 bool operator<(const Chamber& other) const;
52 std::string identString() const;
60 int stationPhi() const;
62 int stationEta() const;
64 int8_t side() const;
66 int stationName() const;
68 int sector() const;
70 bool barrel() const;
72 const ReadoutSet& readoutEles() const;
75 const Acts::Transform3& localToGlobalTransform(const ActsTrk::GeometryContext& gctx) const;
78 const Acts::Transform3& localToGlobalTransform(const Acts::GeometryContext& tgContext) const;
81 const Acts::Transform3& globalToLocalTransform(const ActsTrk::GeometryContext& gctx) const;
84 const Acts::Transform3& globalToLocalTransform(const Acts::GeometryContext& tgContext) const;
86 const Acts::PlaneSurface& surface() const;
88 double halfXLong() const;
90 double halfXShort() const;
92 double halfY() const;
94 double halfZ() const;
96 const defineArgs& parameters() const;
99 std::shared_ptr<Acts::Volume> boundingVolume() const;
101 std::shared_ptr<Acts::VolumeBounds> bounds() const;
103 const SpectrometerSector* parent() const;
107 void addPlacement(std::unique_ptr<ActsTrk::VolumePlacement>&& placement) const;
108 private:
111 };
112 std::ostream& operator<<(std::ostream& ostr,
113 const Chamber::defineArgs& args);
114
115 std::ostream& operator<<(std::ostream& ostr,
116 const Chamber& chamber);
117}
118#endif
119#endif
const SpectrometerSector * m_parent
Definition Chamber.h:110
std::string identString() const
Define a string of the chamber used for debugging.
Definition Chamber.cxx:55
const Acts::PlaneSurface & surface() const
Returns the surface associated with the chamber.
Definition Chamber.cxx:101
void addPlacement(std::unique_ptr< ActsTrk::VolumePlacement > &&placement) const
Adds a volume placement to the Chamber's memory management.
Definition Chamber.cxx:86
const Acts::Transform3 & localToGlobalTransform(const ActsTrk::GeometryContext &gctx) const
Returns the transformation chamber frame -> global transformation.
Definition Chamber.cxx:104
int stationEta() const
Returns the station eta of the chamber.
Definition Chamber.cxx:93
const ReadoutSet & readoutEles() const
Returns the list of contained readout elements.
Definition Chamber.cxx:98
double halfXLong() const
Long-extend of the chamber in the x-direction at positive Y.
Definition Chamber.cxx:77
bool operator<(const Chamber &other) const
Comparison operator for set ordering.
Definition Chamber.cxx:38
const Chamber & operator=(const Chamber &other)=delete
Chamber(defineArgs &&args)
Standard constructor taking the defineArgs.
Definition Chamber.cxx:30
void setParent(const SpectrometerSector *parent)
Sets the connection to the MS sector enclosing the chamber.
Definition Chamber.cxx:117
const SpectrometerSector * parent() const
Returns the pointer to the MS sector enclosing the chamber.
Definition Chamber.cxx:116
double halfY() const
Extend of the chamber in the y-direction.
Definition Chamber.cxx:79
ActsTrk::DetectorType detectorType() const
Returns the first readout elements detectorType (sorted by techIdx).
Definition Chamber.cxx:74
int sector() const
Returns the MS sector of the chamber.
Definition Chamber.cxx:96
Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index.
Definition Chamber.cxx:70
const Acts::Transform3 & globalToLocalTransform(const ActsTrk::GeometryContext &gctx) const
Returns the global -> local transformation.
Definition Chamber.cxx:107
int stationPhi() const
Returns the station phi of the chamber.
Definition Chamber.cxx:92
int stationName() const
Returns an integer representing the stationName.
Definition Chamber.cxx:94
const defineArgs & parameters() const
Returns the reference to the defining parameters of the chamber.
Definition Chamber.cxx:97
std::vector< const MuonReadoutElement * > ReadoutSet
Define the list of read out elements of the chamber.
Definition Chamber.h:32
std::shared_ptr< Acts::Volume > boundingVolume() const
Returns the Acts::Volume representation of the chamber.
Definition Chamber.cxx:82
bool barrel() const
Returns whether the chamber is placed in the barrel.
Definition Chamber.cxx:64
defineArgs m_args
Definition Chamber.h:109
double halfXShort() const
Short extend of the chamber in the x-direction at negative Y.
Definition Chamber.cxx:78
int8_t side() const
Returns the side of the chamber.
Definition Chamber.cxx:95
double halfZ() const
Thickness of the chamber in the z-direction.
Definition Chamber.cxx:80
std::shared_ptr< Acts::VolumeBounds > bounds() const
Returns the volume bounds.
Definition Chamber.cxx:91
Chamber(const Chamber &other)=delete
delete the copy constructors
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns a pointer to the idHelperSvc.
Definition Chamber.cxx:67
A spectrometer sector forms the envelope of all chambers that are placed in the same MS sector & laye...
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
std::ostream & operator<<(std::ostream &ostr, const Chamber::defineArgs &args)
Definition Chamber.cxx:18
RpcReadoutElement::defineArgs defineArgs
ChIndex
enum to classify the different chamber layers in the muon spectrometer
std::shared_ptr< const Acts::PlaneSurface > surface
Associated chamber surface.
Definition Chamber.h:35
std::unique_ptr< ActsTrk::VolumePlacement > placement
The placement object.
Definition Chamber.h:41
ReadoutSet detEles
List of associated readout elements.
Definition Chamber.h:37
std::shared_ptr< Acts::VolumeBounds > bounds
Chamber volume bounds.
Definition Chamber.h:39