ATLAS Offline Software
Loading...
Searching...
No Matches
MuonGMR4::Chamber Class Reference

#include <Chamber.h>

Collaboration diagram for MuonGMR4::Chamber:

Classes

struct  defineArgs

Public Types

using ReadoutSet = std::vector<const MuonReadoutElement*>
 Define the list of read out elements of the chamber.

Public Member Functions

 Chamber (defineArgs &&args)
 Standard constructor taking the defineArgs.
 Chamber (const Chamber &other)=delete
 delete the copy constructors
const Chamberoperator= (const Chamber &other)=delete
bool operator< (const Chamber &other) const
 Comparison operator for set ordering.
std::string identString () const
 Define a string of the chamber used for debugging.
const Muon::IMuonIdHelperSvcidHelperSvc () const
 Returns a pointer to the idHelperSvc.
Muon::MuonStationIndex::ChIndex chamberIndex () const
 Returns the chamber index.
ActsTrk::DetectorType detectorType () const
 Returns the first readout elements detectorType (sorted by techIdx)
int stationPhi () const
 Returns the station phi of the chamber.
int stationEta () const
 Returns the station eta of the chamber.
int8_t side () const
 Returns the side of the chamber.
int stationName () const
 Returns an integer representing the stationName.
int sector () const
 Returns the MS sector of the chamber.
bool barrel () const
 Returns whether the chamber is placed in the barrel.
const ReadoutSetreadoutEles () const
 Returns the list of contained readout elements.
const Amg::Transform3DlocalToGlobalTrans (const ActsTrk::GeometryContext &gctx) const
 Returns the transformation chamber frame -> global transformation.
Amg::Transform3D globalToLocalTrans (const ActsTrk::GeometryContext &gctx) const
 Returns the global -> local transformation.
const Acts::PlaneSurface & surface () const
 Returns the surface associated with the chamber.
double halfXLong () const
 Long-extend of the chamber in the x-direction at positive Y.
double halfXShort () const
 Short extend of the chamber in the x-direction at negative Y.
double halfY () const
 Extend of the chamber in the y-direction.
double halfZ () const
 Thickness of the chamber in the z-direction.
const defineArgsparameters () const
 Returns the reference to the defining parameters of the chamber.
std::shared_ptr< Acts::Volume > boundingVolume (const ActsTrk::GeometryContext &gctx) const
 Returns the Acts::Volume representation of the chamber.
std::shared_ptr< Acts::VolumeBounds > bounds () const
 Returns the volume bounds.
const SpectrometerSectorparent () const
 Returns the pointer to the MS sector enclosing the chamber.
void setParent (const SpectrometerSector *parent)
 Sets the connection to the MS sector enclosing the chamber.

Private Attributes

defineArgs m_args {}
const SpectrometerSectorm_parent {nullptr}

Detailed Description

Definition at line 23 of file Chamber.h.

Member Typedef Documentation

◆ ReadoutSet

Define the list of read out elements of the chamber.

Definition at line 26 of file Chamber.h.

Constructor & Destructor Documentation

◆ Chamber() [1/2]

MuonGMR4::Chamber::Chamber ( defineArgs && args)

Standard constructor taking the defineArgs.

Definition at line 26 of file Chamber.cxx.

26 :
27 m_args{std::move(args)} {}
defineArgs m_args
Definition Chamber.h:93

◆ Chamber() [2/2]

MuonGMR4::Chamber::Chamber ( const Chamber & other)
delete

delete the copy constructors

Member Function Documentation

◆ barrel()

bool MuonGMR4::Chamber::barrel ( ) const

Returns whether the chamber is placed in the barrel.

Definition at line 61 of file Chamber.cxx.

61 {
62 return !idHelperSvc()->isEndcap(readoutEles().front()->identify());
63 }
const ReadoutSet & readoutEles() const
Returns the list of contained readout elements.
Definition Chamber.cxx:89
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns a pointer to the idHelperSvc.
Definition Chamber.cxx:64
virtual bool isEndcap(const Identifier &id) const =0
returns whether this is an endcap Identifier or not
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.

◆ boundingVolume()

std::shared_ptr< Acts::Volume > MuonGMR4::Chamber::boundingVolume ( const ActsTrk::GeometryContext & gctx) const

Returns the Acts::Volume representation of the chamber.

Parameters
gctxGeometry context carrrying the alignment transformations

Definition at line 79 of file Chamber.cxx.

79 {
80 return std::make_shared<Acts::Volume>(localToGlobalTrans(gctx), bounds());
81 }
const Amg::Transform3D & localToGlobalTrans(const ActsTrk::GeometryContext &gctx) const
Returns the transformation chamber frame -> global transformation.
Definition Chamber.cxx:95
std::shared_ptr< Acts::VolumeBounds > bounds() const
Returns the volume bounds.
Definition Chamber.cxx:82

◆ bounds()

std::shared_ptr< Acts::VolumeBounds > MuonGMR4::Chamber::bounds ( ) const

Returns the volume bounds.

Definition at line 82 of file Chamber.cxx.

82{ return m_args.bounds; }

◆ chamberIndex()

Muon::MuonStationIndex::ChIndex MuonGMR4::Chamber::chamberIndex ( ) const

Returns the chamber index.

Definition at line 67 of file Chamber.cxx.

67 {
68 return readoutEles().front()->chamberIndex();
69 }

◆ detectorType()

ActsTrk::DetectorType MuonGMR4::Chamber::detectorType ( ) const

Returns the first readout elements detectorType (sorted by techIdx)

Definition at line 71 of file Chamber.cxx.

71 {
72 return readoutEles().front()->detectorType();
73 }

◆ globalToLocalTrans()

Amg::Transform3D MuonGMR4::Chamber::globalToLocalTrans ( const ActsTrk::GeometryContext & gctx) const

Returns the global -> local transformation.

Parameters
gctxGeometry context carrrying the alignment transformations

Definition at line 98 of file Chamber.cxx.

98 {
99 return localToGlobalTrans(gctx).inverse();
100 }

◆ halfXLong()

double MuonGMR4::Chamber::halfXLong ( ) const

Long-extend of the chamber in the x-direction at positive Y.

Definition at line 74 of file Chamber.cxx.

74{ return MuonGMR4::halfXhighY(*m_args.bounds); }
double halfXhighY(const Acts::VolumeBounds &bounds)
Returns the half-Y length @ posiive Y for the parsed volume bounds (Trapezoid/ Cuboid)

◆ halfXShort()

double MuonGMR4::Chamber::halfXShort ( ) const

Short extend of the chamber in the x-direction at negative Y.

Definition at line 75 of file Chamber.cxx.

75{ return MuonGMR4::halfXlowY(*m_args.bounds); }
double halfXlowY(const Acts::VolumeBounds &bounds)
Returns the half-X length @ negative Y for the parsed volume bounds (Trapezoid/ Cuboid)

◆ halfY()

double MuonGMR4::Chamber::halfY ( ) const

Extend of the chamber in the y-direction.

Definition at line 76 of file Chamber.cxx.

76{ return MuonGMR4::halfY(* m_args.bounds); }
double halfY(const Acts::VolumeBounds &bounds)
Returns the half-Y length for the parsed volume bounds (Trapezoid/ Cuboid)

◆ halfZ()

double MuonGMR4::Chamber::halfZ ( ) const

Thickness of the chamber in the z-direction.

Definition at line 77 of file Chamber.cxx.

77{ return MuonGMR4::halfZ(*m_args.bounds);}
double halfZ(const Acts::VolumeBounds &bounds)
Returns the half-Z length for the parsed volume bounds (Trapezoid/ Cuboid)

◆ identString()

std::string MuonGMR4::Chamber::identString ( ) const

Define a string of the chamber used for debugging.

Definition at line 51 of file Chamber.cxx.

51 {
53 return std::format("MS chamber {:}",
54 idHelperSvc()->toStringDetEl(readoutEles().front()->identify()));
55 }
56 return std::format("MS chamber {:} station {:} eta {:02} phi {:02}",
58 idHelperSvc()->stationNameString(readoutEles().front()->identify()),
60 }
int stationEta() const
Returns the station eta of the chamber.
Definition Chamber.cxx:84
ActsTrk::DetectorType detectorType() const
Returns the first readout elements detectorType (sorted by techIdx)
Definition Chamber.cxx:71
int stationPhi() const
Returns the station phi of the chamber.
Definition Chamber.cxx:83
std::string to_string(const DetectorType &type)
@ Mm
Maybe not needed in the migration.
@ sTgc
Micromegas (NSW)

◆ idHelperSvc()

const Muon::IMuonIdHelperSvc * MuonGMR4::Chamber::idHelperSvc ( ) const

Returns a pointer to the idHelperSvc.

Definition at line 64 of file Chamber.cxx.

64 {
65 return readoutEles().front()->idHelperSvc();
66 }

◆ localToGlobalTrans()

const Amg::Transform3D & MuonGMR4::Chamber::localToGlobalTrans ( const ActsTrk::GeometryContext & gctx) const

Returns the transformation chamber frame -> global transformation.

Parameters
gctxGeometry context carrrying the alignment transformations

Definition at line 95 of file Chamber.cxx.

95 {
96 return surface().transform(gctx.context());
97 }
Acts::GeometryContext context() const
const Acts::PlaneSurface & surface() const
Returns the surface associated with the chamber.
Definition Chamber.cxx:92

◆ operator<()

bool MuonGMR4::Chamber::operator< ( const Chamber & other) const

Comparison operator for set ordering.

Definition at line 34 of file Chamber.cxx.

34 {
35 if(detectorType() != other.detectorType()) {
36 return detectorType() < other.detectorType();
37 }
38 if (stationName() != other.stationName()) {
39 return stationName() < other.stationName();
40 }
41 if (stationPhi() != other.stationPhi()) {
42 return stationPhi() < other.stationPhi();
43 }
44 if (stationEta() != other.stationEta()) {
45 return stationEta() < other.stationEta();
46 }
47 return readoutEles().front()->identify() <
48 other.readoutEles().front()->identify();
49 }
int stationName() const
Returns an integer representing the stationName.
Definition Chamber.cxx:85

◆ operator=()

const Chamber & MuonGMR4::Chamber::operator= ( const Chamber & other)
delete

◆ parameters()

const Chamber::defineArgs & MuonGMR4::Chamber::parameters ( ) const

Returns the reference to the defining parameters of the chamber.

Definition at line 88 of file Chamber.cxx.

88{ return m_args; }

◆ parent()

const SpectrometerSector * MuonGMR4::Chamber::parent ( ) const

Returns the pointer to the MS sector enclosing the chamber.

Definition at line 101 of file Chamber.cxx.

101{ return m_parent; }
const SpectrometerSector * m_parent
Definition Chamber.h:94

◆ readoutEles()

const Chamber::ReadoutSet & MuonGMR4::Chamber::readoutEles ( ) const

Returns the list of contained readout elements.

Definition at line 89 of file Chamber.cxx.

89 {
90 return m_args.detEles;
91 }

◆ sector()

int MuonGMR4::Chamber::sector ( ) const

Returns the MS sector of the chamber.

Definition at line 87 of file Chamber.cxx.

87{ return idHelperSvc()->sector(readoutEles().front()->identify()); }
virtual int sector(const Identifier &id) const =0
return sector number 1-16, odd=large, even=small

◆ setParent()

void MuonGMR4::Chamber::setParent ( const SpectrometerSector * parent)

Sets the connection to the MS sector enclosing the chamber.

Definition at line 102 of file Chamber.cxx.

102{ m_parent = parent; }
const SpectrometerSector * parent() const
Returns the pointer to the MS sector enclosing the chamber.
Definition Chamber.cxx:101

◆ side()

int8_t MuonGMR4::Chamber::side ( ) const

Returns the side of the chamber.

Definition at line 86 of file Chamber.cxx.

86{ return readoutEles().front()->stationEta() > 0 ? 1 : -1; }

◆ stationEta()

int MuonGMR4::Chamber::stationEta ( ) const

Returns the station eta of the chamber.

Definition at line 84 of file Chamber.cxx.

84{ return readoutEles().front()->stationEta(); }

◆ stationName()

int MuonGMR4::Chamber::stationName ( ) const

Returns an integer representing the stationName.

Definition at line 85 of file Chamber.cxx.

85{ return readoutEles().front()->stationName(); }

◆ stationPhi()

int MuonGMR4::Chamber::stationPhi ( ) const

Returns the station phi of the chamber.

Definition at line 83 of file Chamber.cxx.

83{ return readoutEles().front()->stationPhi(); }

◆ surface()

const Acts::PlaneSurface & MuonGMR4::Chamber::surface ( ) const

Returns the surface associated with the chamber.

Definition at line 92 of file Chamber.cxx.

92 {
93 return *m_args.surface;
94 }

Member Data Documentation

◆ m_args

defineArgs MuonGMR4::Chamber::m_args {}
private

Definition at line 93 of file Chamber.h.

93{};

◆ m_parent

const SpectrometerSector* MuonGMR4::Chamber::m_parent {nullptr}
private

Definition at line 94 of file Chamber.h.

94{nullptr};

The documentation for this class was generated from the following files: