ATLAS Offline Software
SpectrometerSector.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_SPECTROMETERSECTOR_H
5 #define MUONREADOUTGEOMETRYR4_SPECTROMETERSECTOR_H
6 
7 #ifndef SIMULATIONBASE
8 
11 
12 #include <set>
13 
14 namespace Acts {
15  class TrapezoidVolumeBounds;
16  class Volume;
17 }
18 namespace MuonGMR4{
19  class SpectrometerSector;
20  class Chamber;
21 }
22 
23 namespace MuonGMR4 {
40  public:
42  using ChamberSet = std::vector<ChamberPtr>;
43  struct defineArgs{
47  std::shared_ptr<Acts::TrapezoidVolumeBounds> bounds{};
49  Amg::Transform3D locToGlobTrf{Amg::Transform3D::Identity()};
50  };
51 
57 
58  bool operator<(const SpectrometerSector& other) const;
59 
61  std::string identString() const;
63  const Muon::IMuonIdHelperSvc* idHelperSvc() const;
67  int stationPhi() const;
69  int sector() const;
71  int8_t side() const;
73  bool barrel() const;
80  const ChamberSet& chambers() 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 ActsGeometryContext& gctx) const;
95  std::shared_ptr<Acts::TrapezoidVolumeBounds> bounds() const;
98  private:
100  };
101 
102  std::ostream& operator<<(std::ostream& ostr,
104 
105  std::ostream& operator<<(std::ostream& ostr,
106  const SpectrometerSector& chamber);
107 
108 }
109 
110 
111 #endif
112 #endif
GeoModel::TransientConstSharedPtr
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
Definition: TransientConstSharedPtr.h:13
MuonGMR4::SpectrometerSector::boundingVolume
std::shared_ptr< Acts::Volume > boundingVolume(const ActsGeometryContext &gctx) const
Returns the Acts::Volume representation of the sector.
Definition: SpectrometerSector.cxx:63
MuonGMR4::SpectrometerSector::sector
int sector() const
Returns the sector of the MS-sector.
Definition: SpectrometerSector.cxx:43
MuonGMR4::RpcReadoutElement::defineArgs
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:46
MuonGMR4::SpectrometerSector::side
int8_t side() const
Returns the side of the MS-sector 1 -> A side ; -1 -> C side.
Definition: SpectrometerSector.cxx:36
xAOD::L2MuonParameters::Chamber
Chamber
Define chamber types and locations.
Definition: TrigMuonDefs.h:15
MuonGMR4::SpectrometerSector
A spectrometer sector forms the envelope of all chambers that are placed in the same MS sector & laye...
Definition: SpectrometerSector.h:39
MuonGMR4::SpectrometerSector::stationPhi
int stationPhi() const
: Returns the station phi of the sector
Definition: SpectrometerSector.cxx:42
calibdata.chamber
chamber
Definition: calibdata.py:32
MuonGMR4::SpectrometerSector::chambers
const ChamberSet & chambers() const
Returns the associated chambers with this sector.
Definition: SpectrometerSector.cxx:50
MuonGMR4::SpectrometerSector::m_args
defineArgs m_args
Definition: SpectrometerSector.h:99
MuonGMR4::SpectrometerSector::readoutEles
Chamber::ReadoutSet readoutEles() const
Returns the list of all associated readout elements.
Definition: SpectrometerSector.cxx:69
MuonGMR4::SpectrometerSector::defineArgs
Definition: SpectrometerSector.h:43
MuonGMR4::SpectrometerSector::halfXShort
double halfXShort() const
Short extend of the chamber in the x-direction at negative Y.
Definition: SpectrometerSector.cxx:58
MuonGMR4::SpectrometerSector::SpectrometerSector
SpectrometerSector(const SpectrometerSector &other)=delete
Delete the copy constructor and copy assignment.
MuonGMR4::SpectrometerSector::halfZ
double halfZ() const
Thickness of the chamber in the z-direction.
Definition: SpectrometerSector.cxx:60
MuonGMR4::SpectrometerSector::identString
std::string identString() const
Returns a string encoding the chamber index & the sector of the MS sector.
Definition: SpectrometerSector.cxx:45
MuonGMR4::SpectrometerSector::halfY
double halfY() const
Extend of the chamber in the y-direction.
Definition: SpectrometerSector.cxx:59
MuonGMR4::SpectrometerSector::chamberIndex
Muon::MuonStationIndex::ChIndex chamberIndex() const
Returns the chamber index scheme.
Definition: SpectrometerSector.cxx:41
MuonGMR4::SpectrometerSector::halfXLong
double halfXLong() const
Long-extend of the chamber in the x-direction at positive Y.
Definition: SpectrometerSector.cxx:57
MuonGMR4
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Definition: MdtCalibInput.h:20
Acts
Definition: ChamberAssembleTool.h:18
MuonGMR4::SpectrometerSector::barrel
bool barrel() const
Returns whether the sector is placed in the barrel.
Definition: SpectrometerSector.cxx:44
MuonGMR4::SpectrometerSector::globalToLocalTrans
Amg::Transform3D globalToLocalTrans(const ActsGeometryContext &gctx) const
Returns the global -> local transformation from the ATLAS global.
Definition: SpectrometerSector.cxx:54
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:25
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
MuonGMR4::SpectrometerSector::SpectrometerSector
SpectrometerSector(defineArgs &&args)
Standard constructor taking the defining parameters.
Definition: SpectrometerSector.cxx:17
MuonGMR4::SpectrometerSector::idHelperSvc
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns the IdHelpeSvc.
Definition: SpectrometerSector.cxx:40
MuonGMR4::SpectrometerSector::defineArgs::locToGlobTrf
Amg::Transform3D locToGlobTrf
Transformation to the chamber volume.
Definition: SpectrometerSector.h:49
MuonGMR4::SpectrometerSector::defineArgs::bounds
std::shared_ptr< Acts::TrapezoidVolumeBounds > bounds
Surrouding box chamber bounds.
Definition: SpectrometerSector.h:47
MuonGMR4::SpectrometerSector::defineArgs::chambers
ChamberSet chambers
List of readout elements in the chamber.
Definition: SpectrometerSector.h:45
MuonGMR4::SpectrometerSector::bounds
std::shared_ptr< Acts::TrapezoidVolumeBounds > bounds() const
Returns the volume bounds.
Definition: SpectrometerSector.cxx:66
Chamber.h
MuonGMR4::SpectrometerSector::parameters
const defineArgs & parameters() const
Returns the reference to the defining parameters of the sector.
Definition: SpectrometerSector.cxx:39
MuonGMR4::SpectrometerSector::ChamberSet
std::vector< ChamberPtr > ChamberSet
Definition: SpectrometerSector.h:42
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
MuonGMR4::SpectrometerSector::localToGlobalTrans
const Amg::Transform3D & localToGlobalTrans(const ActsGeometryContext &gctx) const
Returns the local -> global tarnsformation from the sector.
Definition: SpectrometerSector.cxx:51
Muon::IMuonIdHelperSvc
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Definition: IMuonIdHelperSvc.h:26
Muon::MuonStationIndex::ChIndex
ChIndex
enum to classify the different chamber layers in the muon spectrometer
Definition: MuonStationIndex.h:15
MuonReadoutElement.h
MuonGMR4::operator<<
std::ostream & operator<<(std::ostream &ostr, const Chamber::defineArgs &args)
Definition: Chamber.cxx:14
python.CaloScaleNoiseConfig.args
args
Definition: CaloScaleNoiseConfig.py:80
MuonGMR4::SpectrometerSector::operator=
SpectrometerSector & operator=(const SpectrometerSector &other)=delete
MuonGMR4::defineArgs
RpcReadoutElement::defineArgs defineArgs
Definition: RpcReadoutGeomTool.cxx:37
MuonGMR4::SpectrometerSector::operator<
bool operator<(const SpectrometerSector &other) const
Definition: SpectrometerSector.cxx:24