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;
80 const Acts::PlaneSurface& surface() const;
82 double halfXLong() const;
84 double halfXShort() const;
86 double halfY() const;
88 double halfZ() const;
90 const defineArgs& parameters() const;
93 std::shared_ptr<Acts::Volume> boundingVolume(const ActsTrk::GeometryContext& gctx) const;
95 std::shared_ptr<Acts::VolumeBounds> bounds() const;
97 const SpectrometerSector* parent() const;
101 void addPlacement(std::unique_ptr<ActsTrk::VolumePlacement>&& placement) const;
102 private:
105 };
106 std::ostream& operator<<(std::ostream& ostr,
107 const Chamber::defineArgs& args);
108
109 std::ostream& operator<<(std::ostream& ostr,
110 const Chamber& chamber);
111}
112#endif
113#endif
const SpectrometerSector * m_parent
Definition Chamber.h:104
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:102
void addPlacement(std::unique_ptr< ActsTrk::VolumePlacement > &&placement) const
Adds a volume placement to the Chamber's memory management.
Definition Chamber.cxx:87
const Amg::Transform3D & globalToLocalTransform(const ActsTrk::GeometryContext &gctx) const
Returns the global -> local transformation.
Definition Chamber.cxx:108
int stationEta() const
Returns the station eta of the chamber.
Definition Chamber.cxx:94
const Amg::Transform3D & localToGlobalTransform(const ActsTrk::GeometryContext &gctx) const
Returns the transformation chamber frame -> global transformation.
Definition Chamber.cxx:105
const ReadoutSet & readoutEles() const
Returns the list of contained readout elements.
Definition Chamber.cxx:99
double halfXLong() const
Long-extend of the chamber in the x-direction at positive Y.
Definition Chamber.cxx:78
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:112
const SpectrometerSector * parent() const
Returns the pointer to the MS sector enclosing the chamber.
Definition Chamber.cxx:111
double halfY() const
Extend of the chamber in the y-direction.
Definition Chamber.cxx:80
ActsTrk::DetectorType detectorType() const
Returns the first readout elements detectorType (sorted by techIdx)
Definition Chamber.cxx:75
int sector() const
Returns the MS sector of the chamber.
Definition Chamber.cxx:97
Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index.
Definition Chamber.cxx:71
int stationPhi() const
Returns the station phi of the chamber.
Definition Chamber.cxx:93
int stationName() const
Returns an integer representing the stationName.
Definition Chamber.cxx:95
std::shared_ptr< Acts::Volume > boundingVolume(const ActsTrk::GeometryContext &gctx) const
Returns the Acts::Volume representation of the chamber.
Definition Chamber.cxx:83
const defineArgs & parameters() const
Returns the reference to the defining parameters of the chamber.
Definition Chamber.cxx:98
std::vector< const MuonReadoutElement * > ReadoutSet
Define the list of read out elements of the chamber.
Definition Chamber.h:32
bool barrel() const
Returns whether the chamber is placed in the barrel.
Definition Chamber.cxx:65
defineArgs m_args
Definition Chamber.h:103
double halfXShort() const
Short extend of the chamber in the x-direction at negative Y.
Definition Chamber.cxx:79
int8_t side() const
Returns the side of the chamber.
Definition Chamber.cxx:96
double halfZ() const
Thickness of the chamber in the z-direction.
Definition Chamber.cxx:81
std::shared_ptr< Acts::VolumeBounds > bounds() const
Returns the volume bounds.
Definition Chamber.cxx:92
Chamber(const Chamber &other)=delete
delete the copy constructors
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns a pointer to the idHelperSvc.
Definition Chamber.cxx:68
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.
Eigen::Affine3d Transform3D
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