ATLAS Offline Software
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
MuonGMR4::RpcReadoutElement Class Reference

#include <RpcReadoutElement.h>

Inheritance diagram for MuonGMR4::RpcReadoutElement:
Collaboration diagram for MuonGMR4::RpcReadoutElement:

Classes

struct  defineArgs
 
struct  parameterBook
 Set of parameters to describe a RPC chamber. More...
 

Public Types

enum  EdgeSide { EdgeSide::readOut, EdgeSide::highVoltage }
 

Public Member Functions

 RpcReadoutElement (defineArgs &&args)
 
virtual ~RpcReadoutElement ()
 
const parameterBookgetParameters () const
 
ActsTrk::DetectorType detectorType () const override final
 Overload from the ActsTrk::IDetectorElement. More...
 
double thickness () const override final
 Overload from the Acts::DetectorElement (2 * halfheight) More...
 
StatusCode initElement () override final
 Element initialization. More...
 
int doubletZ () const
 Returns the doublet Z field of the MuonReadoutElement identifier. More...
 
int doubletR () const
 Returns the doublet R field of the MuonReadoutElement identifier. More...
 
int doubletPhi () const
 Returns the doublet Phi field of the MuonReadoutElement identifier. More...
 
unsigned int nGasGaps () const
 Returns the number of gasgaps described by this ReadOutElement (usally 2 or 3) More...
 
int nPhiPanels () const
 Returns the number of phi panels (1 or 2) More...
 
int doubletPhiMax () const
 Returns the maximum phi panel. More...
 
unsigned int nEtaStrips () const
 Number of strips measuring the eta coordinate. More...
 
unsigned int nPhiStrips () const
 Number of strips measuring the phi coordinate. More...
 
unsigned int nStrips (const IdentifierHash &hash) const
 Returns the number of strips. More...
 
double stripEtaPitch () const
 Strip pitch in eta. More...
 
double stripPhiPitch () const
 Strip pitch in phi. More...
 
double stripEtaWidth () const
 Strip width in eta. More...
 
double stripPhiWidth () const
 Strip width in phi. More...
 
double stripEtaLength () const
 Returns the length of an eta strip. More...
 
double stripPhiLength () const
 Returns the length of a phi strip. More...
 
double gasGapPitch () const
 Returns the thickness of a RPC gasgap. More...
 
Amg::Vector3D stripPosition (const ActsGeometryContext &ctx, const Identifier &measId) const
 Returns the position of the strip center. More...
 
Amg::Vector3D stripPosition (const ActsGeometryContext &ctx, const IdentifierHash &measHash) const
 
Amg::Vector3D rightStripEdge (const ActsGeometryContext &ctx, const Identifier &measId) const
 Returns the global position of the strip edge at negative local Y. More...
 
Amg::Vector3D rightStripEdge (const ActsGeometryContext &ctx, const IdentifierHash &measHash) const
 
Amg::Vector3D leftStripEdge (const ActsGeometryContext &ctx, const Identifier &measId) const
 Returns the global posiition of the strip edge at positive local Y. More...
 
Amg::Vector3D leftStripEdge (const ActsGeometryContext &ctx, const IdentifierHash &measHash) const
 
double distanceToEdge (const IdentifierHash &layerHash, const Amg::Vector2D &posInStripPlane, const EdgeSide side) const
 Returns the disance to the readout. More...
 
IdentifierHash measurementHash (const Identifier &measId) const override final
 Constructs the identifier hash from the full measurement Identifier. More...
 
IdentifierHash layerHash (const Identifier &measId) const override final
 
IdentifierHash layerHash (const IdentifierHash &measHash) const
 
Identifier measurementId (const IdentifierHash &measHash) const override final
 Converts the measurement hash back to the full Identifier. More...
 
const StripLayersensorLayout (const IdentifierHash &measHash) const
 Access to the StripLayer associated to a given measurement Hash. More...
 
const GeoAlignableTransform * alignableTransform () const
 Returnsthe alignable transform of the readout element. More...
 
Identifier identify () const override final
 Return the athena identifier. More...
 
IdentifierHash identHash () const
 Returns the Identifier has of the Element that is Identical to the detElHash from the id_helper class. More...
 
int stationName () const
 Returns the stationName (BIS, BOS, etc) encoded into the integer. More...
 
int stationEta () const
 Returns the stationEta (positive A site, negative O site) More...
 
int stationPhi () const
 Returns the stationPhi (1-8) -> sector (2*phi - (isSmall)) More...
 
Muon::MuonStationIndex::ChIndex chamberIndex () const
 Returns the chamber index of the Identifier (MMS & STS) have the same chamber Index (EIS) More...
 
std::string chamberDesign () const
 The chamber design refers to the construction parameters of a readout element. More...
 
const Muon::IMuonIdHelperSvcidHelperSvc () const
 Returns the pointer to the muonIdHelperSvc. More...
 
Amg::Vector3D center (const ActsGeometryContext &ctx) const
 Returns the detector center (Which is the same as the detector center of the first measurement layer) More...
 
Amg::Vector3D center (const ActsGeometryContext &ctx, const Identifier &id) const
 Returns the center of a given detector layer using the complete Identifier of the measurement. More...
 
Amg::Vector3D center (const ActsGeometryContext &ctx, const IdentifierHash &hash) const
 Returns the center of a given detector layer using the Identifier hash of the measurement. More...
 
Amg::Transform3D globalToLocalTrans (const ActsGeometryContext &ctx) const
 Transformations to translate between local <-> global coordinates. More...
 
Amg::Transform3D globalToLocalTrans (const ActsGeometryContext &ctx, const Identifier &id) const
 Returns the global to local transformation into the rest frame of a given measurement layer. More...
 
Amg::Transform3D globalToLocalTrans (const ActsGeometryContext &ctx, const IdentifierHash &hash) const
 Returns the global to local transformation into the rest frame of a given measurement layer. More...
 
const Amg::Transform3DlocalToGlobalTrans (const ActsGeometryContext &ctx) const
 Returns the local to global transformation into the ATLAS coordinate system. More...
 
const Amg::Transform3DlocalToGlobalTrans (const ActsGeometryContext &ctx, const Identifier &id) const
 
const Amg::Transform3DlocalToGlobalTrans (const ActsGeometryContext &ctx, const IdentifierHash &id) const
 
const Amg::Transform3Dtransform (const Acts::GeometryContext &gctx) const override final
 Returns the transformation to the origin of the chamber coordinate system. More...
 
const Acts::Surface & surface () const override final
 Returns the surface associated to the readout element plane. More...
 
Acts::Surface & surface () override final
 
const Acts::Surface & surface (const IdentifierHash &hash) const
 Returns the sufrface associated to a wire / measurement plane in the detector. More...
 
Acts::Surface & surface (const IdentifierHash &hash)
 
std::shared_ptr< Acts::Surface > surfacePtr (const IdentifierHash &hash) const
 Returns the pointer associated to a certain wire / plane. More...
 
void setChamberLink (const Chamber *chamber)
 Sets the link to the enclosing chamber. More...
 
void setSectorLink (const SpectrometerSector *envelope)
 Set the link to the enclosing sector envelope. More...
 
const SpectrometerSectormsSector () const
 Returns the pointer to the envelope volume enclosing all chambers in the sector. More...
 
const Chamberchamber () const
 Returns the pointer to the chamber enclosing this readout element. More...
 
std::vector< std::shared_ptr< Acts::Surface > > getSurfaces () const
 Returns all surfaces that are associated with the active readout planes. More...
 
void releaseUnAlignedTrfs () const
 Releases all cached transforms that are not connected with alignment. More...
 
unsigned int storeAlignedTransforms (const ActsTrk::DetectorAlignStore &store) const override final
 Caches the aligned transformation in the provided store. Returns the number of cached elements. More...
 
bool msgLvl (const MSG::Level lvl) const
 Test the output level. More...
 
MsgStream & msg () const
 The standard message stream. More...
 
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream. More...
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 

Static Public Member Functions

static IdentifierHash createHash (const unsigned int strip, const unsigned int gasGap, const unsigned int doubPhi, const bool measPhi)
 Constructs an Identifier hash from the Identifier fields controlled by this readout element
More...
 

Protected Member Functions

const Amg::Transform3DtoStation (const ActsTrk::DetectorAlignStore *alignStore) const
 Returns the local -> global transformation to go from the volume center origin. More...
 
template<class MuonDetImpl >
StatusCode insertTransform (const IdentifierHash &hash)
 Inserts a transfomration for caching. More...
 
StatusCode createGeoTransform ()
 
StatusCode strawSurfaceFactory (const IdentifierHash &hash, std::shared_ptr< Acts::LineBounds > lBounds)
 
StatusCode planeSurfaceFactory (const IdentifierHash &hash, std::shared_ptr< Acts::PlanarBounds > pBounds)
 

Static Protected Member Functions

static IdentifierHash geoTransformHash ()
 Returns the hash that is associated with the surface cache holding the transformation that is placing the ReadoutElement inside the ATLAS coordinate system. More...
 

Private Types

using TransformCacheMap = std::unordered_map< IdentifierHash, std::unique_ptr< ActsTrk::TransformCache > >
 Cache all local to global transformations. More...
 

Private Member Functions

Amg::Transform3D fromGapToChamOrigin (const IdentifierHash &layerHash) const
 
Amg::Vector3D chamberStripPos (const IdentifierHash &measHash) const
 Returns the local strip position w.r.t. to the chamber origin. More...
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Static Private Member Functions

static unsigned int stripNumber (const IdentifierHash &measHash)
 
static unsigned int gasGapNumber (const IdentifierHash &measHash)
 
static unsigned int doubletPhiNumber (const IdentifierHash &measHash)
 
static bool measuresPhi (const IdentifierHash &measHash)
 

Private Attributes

parameterBook m_pars {}
 
const RpcIdHelperm_idHelper {idHelperSvc()->rpcIdHelper()}
 
const int m_doubletR {m_idHelper.doubletR(identify())}
 doublet R -> 1: chamber is mounted below the Mdts More...
 
const int m_doubletZ {m_idHelper.doubletZ(identify())}
 Associated doublet Z (Ranges from 1-3) If doubletZ is 3, there's generally the possibility that the module is additionally split according to doublet Phi. More...
 
const int m_doubletPhi {m_idHelper.doubletPhi(identify())}
 
double m_gasThickness {0.}
 Distance between 2 gas gaps (Radial direction) More...
 
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {"Muon::MuonIdHelperSvc/MuonIdHelperSvc", "MuonReadoutElement"}
 
const defineArgs m_args {}
 
IdentifierHash m_detElHash {}
 Cache of the detector element hash. More...
 
Muon::MuonStationIndex::ChIndex m_chIdx {Muon::MuonStationIndex::ChIndex::ChUnknown}
 Cache the chamber index of the Identifier. More...
 
int m_stName {-1}
 Cache the station name of the identifier. More...
 
int m_stEta {-1}
 Cache the station eta of the identifier. More...
 
int m_stPhi {-1}
 Cache the station phi of the identifier. More...
 
TransformCacheMap m_localToGlobalCaches
 
ActsTrk::SurfaceCacheSet m_surfaces
 Cache of all associated surfaces. More...
 
const SpectrometerSectorm_msSectorLink {}
 Pointer to the associated MS-sector & MuonChamber. More...
 
const Chamberm_chambLink {nullptr}
 
std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

Friends

class ActsTrk::TransformCacheDetEle< RpcReadoutElement >
 

Detailed Description

Definition at line 17 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h.

Member Typedef Documentation

◆ TransformCacheMap

using MuonGMR4::MuonReadoutElement::TransformCacheMap = std::unordered_map<IdentifierHash, std::unique_ptr<ActsTrk::TransformCache> >
privateinherited

Cache all local to global transformations.

Definition at line 210 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h.

Member Enumeration Documentation

◆ EdgeSide

Enumerator
readOut 
highVoltage 

Definition at line 107 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h.

107  {
108  readOut,
109  highVoltage,
110  };

Constructor & Destructor Documentation

◆ RpcReadoutElement()

MuonGMR4::RpcReadoutElement::RpcReadoutElement ( defineArgs &&  args)

Definition at line 29 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/RpcReadoutElement.cxx.

30  : MuonReadoutElement(std::move(args)),
31  m_pars{std::move(args)} {
32 }

◆ ~RpcReadoutElement()

MuonGMR4::RpcReadoutElement::~RpcReadoutElement ( )
virtualdefault

Member Function Documentation

◆ alignableTransform()

const GeoAlignableTransform* MuonGMR4::MuonReadoutElement::alignableTransform ( ) const
inherited

Returnsthe alignable transform of the readout element.

◆ center() [1/3]

Amg::Vector3D MuonGMR4::MuonReadoutElement::center ( const ActsGeometryContext ctx) const
inherited

Returns the detector center (Which is the same as the detector center of the first measurement layer)

◆ center() [2/3]

Amg::Vector3D MuonGMR4::MuonReadoutElement::center ( const ActsGeometryContext ctx,
const Identifier id 
) const
inherited

Returns the center of a given detector layer using the complete Identifier of the measurement.

◆ center() [3/3]

Amg::Vector3D MuonGMR4::MuonReadoutElement::center ( const ActsGeometryContext ctx,
const IdentifierHash hash 
) const
inherited

Returns the center of a given detector layer using the Identifier hash of the measurement.

◆ chamber()

const Chamber* MuonGMR4::MuonReadoutElement::chamber ( ) const
inherited

Returns the pointer to the chamber enclosing this readout element.

◆ chamberDesign()

std::string MuonGMR4::MuonReadoutElement::chamberDesign ( ) const
inherited

The chamber design refers to the construction parameters of a readout element.

Used for the retrieval of the chamber parameters E.g. the chambers BOL1A8 & BOL2A8 are identical in terms of number of tubes, dimensions etc.

◆ chamberIndex()

Muon::MuonStationIndex::ChIndex MuonGMR4::MuonReadoutElement::chamberIndex ( ) const
inherited

Returns the chamber index of the Identifier (MMS & STS) have the same chamber Index (EIS)

◆ chamberStripPos()

Amg::Vector3D MuonGMR4::RpcReadoutElement::chamberStripPos ( const IdentifierHash measHash) const
private

Returns the local strip position w.r.t. to the chamber origin.

Definition at line 87 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/RpcReadoutElement.cxx.

87  {
88  return sensorLayout(measHash).stripPosition(stripNumber(measHash));
89 }

◆ createGeoTransform()

StatusCode MuonGMR4::MuonReadoutElement::createGeoTransform ( )
protectedinherited

Check that the alignable node has been assigned

Definition at line 36 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

36  {
38  if(!alignableTransform()) {
39  ATH_MSG_FATAL("The readout element "<<idHelperSvc()->toStringDetEl(identify())<<" has no assigned alignable node");
40  return StatusCode::FAILURE;
41  }
42  return insertTransform<MuonReadoutElement>(geoTransformHash());
43 }

◆ createHash()

static IdentifierHash MuonGMR4::RpcReadoutElement::createHash ( const unsigned int  strip,
const unsigned int  gasGap,
const unsigned int  doubPhi,
const bool  measPhi 
)
static

Constructs an Identifier hash from the Identifier fields controlled by this readout element

◆ detectorType()

ActsTrk::DetectorType MuonGMR4::RpcReadoutElement::detectorType ( ) const
inlinefinaloverridevirtual

◆ distanceToEdge()

double MuonGMR4::RpcReadoutElement::distanceToEdge ( const IdentifierHash layerHash,
const Amg::Vector2D posInStripPlane,
const EdgeSide  side 
) const

Returns the disance to the readout.

Parameters
layerHashHash of the considered gasGap (Essentially whether it's the phi or eta gasGap)
posInStripPlaneLocal position of the crossing point on the plane (In gasGap frame)
sideSwitch indicating whether the readout or the highVoltage side is targeted.

For the moment define the readOut to be at negative y while the highVolt is at positive

Definition at line 91 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/RpcReadoutElement.cxx.

93  {
94  const StripDesign& design{measuresPhi(layerHash) ? *m_pars.phiDesign : *m_pars.etaDesign};
96  const double refPoint{design.longHalfHeight() * (side == EdgeSide::readOut ? -1. : 1.)};
97  return std::abs(refPoint - posInStripPlane.y());
98 }

◆ doubletPhi()

int MuonGMR4::RpcReadoutElement::doubletPhi ( ) const

Returns the doublet Phi field of the MuonReadoutElement identifier.

◆ doubletPhiMax()

int MuonGMR4::RpcReadoutElement::doubletPhiMax ( ) const

Returns the maximum phi panel.

◆ doubletPhiNumber()

static unsigned int MuonGMR4::RpcReadoutElement::doubletPhiNumber ( const IdentifierHash measHash)
staticprivate

◆ doubletR()

int MuonGMR4::RpcReadoutElement::doubletR ( ) const

Returns the doublet R field of the MuonReadoutElement identifier.

◆ doubletZ()

int MuonGMR4::RpcReadoutElement::doubletZ ( ) const

Returns the doublet Z field of the MuonReadoutElement identifier.

◆ fromGapToChamOrigin()

Amg::Transform3D MuonGMR4::RpcReadoutElement::fromGapToChamOrigin ( const IdentifierHash layerHash) const
private

◆ gasGapNumber()

static unsigned int MuonGMR4::RpcReadoutElement::gasGapNumber ( const IdentifierHash measHash)
staticprivate

◆ gasGapPitch()

double MuonGMR4::RpcReadoutElement::gasGapPitch ( ) const

Returns the thickness of a RPC gasgap.

◆ geoTransformHash()

IdentifierHash MuonGMR4::MuonReadoutElement::geoTransformHash ( )
staticprotectedinherited

Returns the hash that is associated with the surface cache holding the transformation that is placing the ReadoutElement inside the ATLAS coordinate system.

Definition at line 44 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

44  {
45  static const IdentifierHash hash{static_cast<unsigned>(~0)-1};
46  return hash;
47 }

◆ getParameters()

const parameterBook & MuonGMR4::RpcReadoutElement::getParameters ( ) const

◆ getSurfaces()

std::vector< std::shared_ptr< Acts::Surface > > MuonGMR4::MuonReadoutElement::getSurfaces ( ) const
inherited

Returns all surfaces that are associated with the active readout planes.

Definition at line 152 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

152  {
153  std::vector<std::shared_ptr<Acts::Surface>> surfaces{};
154  surfaces.reserve(m_surfaces.size());
155  for (const std::unique_ptr<SurfaceCache>& cache : m_surfaces) {
156  if (cache->hash() != geoTransformHash()) {
157  surfaces.push_back(cache->getSurface());
158  ATH_MSG_VERBOSE("Add surface "<<idHelperSvc()->toString(cache->identify())
159  <<std::endl<<(surfaces.back()->bounds()));
160  }
161  }
162  return surfaces;
163 }

◆ globalToLocalTrans() [1/3]

Amg::Transform3D MuonGMR4::MuonReadoutElement::globalToLocalTrans ( const ActsGeometryContext ctx) const
inherited

Transformations to translate between local <-> global coordinates.

They follow the common ATLAS conventations that the origin is located in the center of the detector layer x-axis: Points towards the sky y-axis: Points towards the edges of ATLAS z-axis: Points along the beamline The transformations always include the corrections from the A-Lines of the alignment system Returns the global to local transformation into the rest frame of the detector (Coincides with the first measurement layer)

Definition at line 78 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

78  {
79  return globalToLocalTrans(ctx, geoTransformHash());
80 }

◆ globalToLocalTrans() [2/3]

Amg::Transform3D MuonGMR4::MuonReadoutElement::globalToLocalTrans ( const ActsGeometryContext ctx,
const Identifier id 
) const
inherited

Returns the global to local transformation into the rest frame of a given measurement layer.

◆ globalToLocalTrans() [3/3]

Amg::Transform3D MuonGMR4::MuonReadoutElement::globalToLocalTrans ( const ActsGeometryContext ctx,
const IdentifierHash hash 
) const
inherited

Returns the global to local transformation into the rest frame of a given measurement layer.

◆ identHash()

IdentifierHash MuonGMR4::MuonReadoutElement::identHash ( ) const
inherited

Returns the Identifier has of the Element that is Identical to the detElHash from the id_helper class.

◆ identify()

Identifier MuonGMR4::MuonReadoutElement::identify ( ) const
finaloverridevirtualinherited

Return the athena identifier.

The Identifier is identical with the first measurment channel in readout element (E.g. Strip 1 in Layer 1 in the NSW)

Implements ActsTrk::IDetectorElementBase.

◆ idHelperSvc()

const Muon::IMuonIdHelperSvc* MuonGMR4::MuonReadoutElement::idHelperSvc ( ) const
inherited

Returns the pointer to the muonIdHelperSvc.

◆ initElement()

StatusCode MuonGMR4::RpcReadoutElement::initElement ( )
finaloverridevirtual

Element initialization.

Check that the alignable node has been assigned

Implements MuonGMR4::MuonReadoutElement.

Definition at line 36 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/RpcReadoutElement.cxx.

36  {
39 
40  ATH_MSG_DEBUG("Parameter book "<<parameterBook());
41  if (m_pars.layers.empty()) {
42  ATH_MSG_FATAL("The readout element "<<idHelperSvc()->toStringDetEl(identify())<<" doesn't have any layers defined");
43  return StatusCode::FAILURE;
44  }
45 #ifndef SIMULATIONBASE
47  m_pars.halfLength)));
48 #endif
49  for (unsigned int layer = 0; layer < m_pars.layers.size(); ++layer) {
50  IdentifierHash layHash{layer};
51  if (!m_pars.layers[layer]) {
52  ATH_MSG_VERBOSE("Layer "<<layer <<" has not sensor layout associated.");
53  continue;
54  }
55  ATH_CHECK(insertTransform<RpcReadoutElement>(layHash));
56 #ifndef SIMULATIONBASE
57  const StripDesign& design{sensorLayout(layHash).design()};
58  ATH_CHECK(planeSurfaceFactory(layHash, m_pars.layerBounds->make_bounds(design.halfWidth(),
59  design.shortHalfHeight())));
60 #endif
61  }
63  chamberStripPos(createHash(1, 1, doubletPhi(), false))).mag();
64 #ifndef SIMULATIONBASE
65  m_pars.layerBounds.reset();
66 #endif
67  return StatusCode::SUCCESS;
68 }

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40 {
42  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

◆ insertTransform()

template<class MuonDetImpl >
StatusCode MuonGMR4::MuonReadoutElement::insertTransform ( const IdentifierHash hash)
protectedinherited

Inserts a transfomration for caching.

◆ layerHash() [1/2]

IdentifierHash MuonGMR4::RpcReadoutElement::layerHash ( const Identifier measId) const
finaloverridevirtual

◆ layerHash() [2/2]

IdentifierHash MuonGMR4::RpcReadoutElement::layerHash ( const IdentifierHash measHash) const

◆ leftStripEdge() [1/2]

Amg::Vector3D MuonGMR4::RpcReadoutElement::leftStripEdge ( const ActsGeometryContext ctx,
const Identifier measId 
) const

Returns the global posiition of the strip edge at positive local Y.

◆ leftStripEdge() [2/2]

Amg::Vector3D MuonGMR4::RpcReadoutElement::leftStripEdge ( const ActsGeometryContext ctx,
const IdentifierHash measHash 
) const

Definition at line 82 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/RpcReadoutElement.cxx.

82  {
83  return localToGlobalTrans(ctx, layerHash(measHash)) *
84  sensorLayout(measHash).localStripRightEdge(stripNumber(measHash));
85 }

◆ localToGlobalTrans() [1/3]

const Amg::Transform3D & MuonGMR4::MuonReadoutElement::localToGlobalTrans ( const ActsGeometryContext ctx) const
inherited

Returns the local to global transformation into the ATLAS coordinate system.

Definition at line 81 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

81  {
82  return localToGlobalTrans(ctx, geoTransformHash());
83 }

◆ localToGlobalTrans() [2/3]

const Amg::Transform3D& MuonGMR4::MuonReadoutElement::localToGlobalTrans ( const ActsGeometryContext ctx,
const Identifier id 
) const
inherited

◆ localToGlobalTrans() [3/3]

const Amg::Transform3D & MuonGMR4::MuonReadoutElement::localToGlobalTrans ( const ActsGeometryContext ctx,
const IdentifierHash id 
) const
inherited

Definition at line 50 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

51  {
52  TransformCacheMap::const_iterator cache = m_localToGlobalCaches.find(hash);
53  if (cache != m_localToGlobalCaches.end()) return cache->second->getTransform(ctx.getStore(detectorType()).get());
54  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" "<<__func__<<"() -- "
55  <<idHelperSvc()->toStringDetEl(identify())<<" hash: "<<hash<<" is unknown.");
56  return dummyTrans;
57 }

◆ measurementHash()

IdentifierHash MuonGMR4::RpcReadoutElement::measurementHash ( const Identifier measId) const
finaloverridevirtual

Constructs the identifier hash from the full measurement Identifier.

The hash is always defined w.r.t the specific detector element and used to access the information in memory quickly

Implements MuonGMR4::MuonReadoutElement.

◆ measurementId()

Identifier MuonGMR4::RpcReadoutElement::measurementId ( const IdentifierHash measHash) const
finaloverridevirtual

Converts the measurement hash back to the full Identifier.

Implements MuonGMR4::MuonReadoutElement.

◆ measuresPhi()

static bool MuonGMR4::RpcReadoutElement::measuresPhi ( const IdentifierHash measHash)
staticprivate

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 164 of file AthMessaging.h.

165 {
166  MsgStream* ms = m_msg_tls.get();
167  if (!ms) {
168  if (!m_initialized.test_and_set()) initMessaging();
169  ms = new MsgStream(m_imsg,m_nm);
170  m_msg_tls.reset( ms );
171  }
172 
173  ms->setLevel (m_lvl);
174  return *ms;
175 }

◆ msg() [2/2]

MsgStream & AthMessaging::msg ( const MSG::Level  lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 179 of file AthMessaging.h.

180 { return msg() << lvl; }

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152 {
153  if (!m_initialized.test_and_set()) initMessaging();
154  if (m_lvl <= lvl) {
155  msg() << lvl;
156  return true;
157  } else {
158  return false;
159  }
160 }

◆ msSector()

const SpectrometerSector* MuonGMR4::MuonReadoutElement::msSector ( ) const
inherited

Returns the pointer to the envelope volume enclosing all chambers in the sector.

◆ nEtaStrips()

unsigned int MuonGMR4::RpcReadoutElement::nEtaStrips ( ) const

Number of strips measuring the eta coordinate.

◆ nGasGaps()

unsigned int MuonGMR4::RpcReadoutElement::nGasGaps ( ) const

Returns the number of gasgaps described by this ReadOutElement (usally 2 or 3)

◆ nPhiPanels()

int MuonGMR4::RpcReadoutElement::nPhiPanels ( ) const

Returns the number of phi panels (1 or 2)

◆ nPhiStrips()

unsigned int MuonGMR4::RpcReadoutElement::nPhiStrips ( ) const

Number of strips measuring the phi coordinate.

◆ nStrips()

unsigned int MuonGMR4::RpcReadoutElement::nStrips ( const IdentifierHash hash) const

Returns the number of strips.

◆ planeSurfaceFactory()

StatusCode MuonGMR4::MuonReadoutElement::planeSurfaceFactory ( const IdentifierHash hash,
std::shared_ptr< Acts::PlanarBounds >  pBounds 
)
protectedinherited

Definition at line 125 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

125  {
126 
127  //get the local to global transform cache
128  TransformCacheMap::const_iterator transformCache = m_localToGlobalCaches.find(hash);
129  if (transformCache == m_localToGlobalCaches.end()) {
130  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" - "<<idHelperSvc()->toString(identify())
131  <<" no transform cache available for hash "<<hash);
132  return StatusCode::FAILURE;
133  }
134  auto insert_itr = m_surfaces.insert(std::make_unique<ActsTrk::SurfaceCache>(transformCache->second.get()));
135  if(!insert_itr.second){
136  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" - "<<idHelperSvc()->toString(identify())
137  <<" Insertion to muon surface cache failed for hash "<<hash);
138  return StatusCode::FAILURE;
139  }
140  //Create a plane surface for the surface cache
141  (*insert_itr.first)->setSurface(Acts::Surface::makeShared<Acts::PlaneSurface>(pBounds, **insert_itr.first));
142  return StatusCode::SUCCESS;
143 }

◆ releaseUnAlignedTrfs()

void MuonGMR4::MuonReadoutElement::releaseUnAlignedTrfs ( ) const
inherited

Releases all cached transforms that are not connected with alignment.

Definition at line 62 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

62  {
63  for (const auto& cache : m_localToGlobalCaches) {
64  cache.second->releaseNominalCache();
65  }
66 }

◆ rightStripEdge() [1/2]

Amg::Vector3D MuonGMR4::RpcReadoutElement::rightStripEdge ( const ActsGeometryContext ctx,
const Identifier measId 
) const

Returns the global position of the strip edge at negative local Y.

◆ rightStripEdge() [2/2]

Amg::Vector3D MuonGMR4::RpcReadoutElement::rightStripEdge ( const ActsGeometryContext ctx,
const IdentifierHash measHash 
) const

Definition at line 78 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/RpcReadoutElement.cxx.

78  {
79  return localToGlobalTrans(ctx, layerHash(measHash)) *
80  sensorLayout(measHash).localStripLeftEdge(stripNumber(measHash));
81 }

◆ sensorLayout()

const StripLayer& MuonGMR4::RpcReadoutElement::sensorLayout ( const IdentifierHash measHash) const

Access to the StripLayer associated to a given measurement Hash.

◆ setChamberLink()

void MuonGMR4::MuonReadoutElement::setChamberLink ( const Chamber chamber)
inherited

Sets the link to the enclosing chamber.

Definition at line 145 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

145  {
147 }

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level  lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29 {
30  m_lvl = lvl;
31 }

◆ setSectorLink()

void MuonGMR4::MuonReadoutElement::setSectorLink ( const SpectrometerSector envelope)
inherited

Set the link to the enclosing sector envelope.

Definition at line 148 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

148  {
149  m_msSectorLink = envelope;
150 }

◆ stationEta()

int MuonGMR4::MuonReadoutElement::stationEta ( ) const
inherited

Returns the stationEta (positive A site, negative O site)

◆ stationName()

int MuonGMR4::MuonReadoutElement::stationName ( ) const
inherited

Returns the stationName (BIS, BOS, etc) encoded into the integer.

◆ stationPhi()

int MuonGMR4::MuonReadoutElement::stationPhi ( ) const
inherited

Returns the stationPhi (1-8) -> sector (2*phi - (isSmall))

◆ storeAlignedTransforms()

unsigned int MuonGMR4::MuonReadoutElement::storeAlignedTransforms ( const ActsTrk::DetectorAlignStore store) const
finaloverridevirtualinherited

Caches the aligned transformation in the provided store. Returns the number of cached elements.

Implements ActsTrk::IDetectorElement.

Definition at line 68 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

68  {
69  if (store.detType != detectorType()) return 0;
70  unsigned int aligned{0};
71  for (const auto& cache : m_localToGlobalCaches) {
72  cache.second->getTransform(&store);
73  ++aligned;
74  }
75  return aligned;
76 }

◆ strawSurfaceFactory()

StatusCode MuonGMR4::MuonReadoutElement::strawSurfaceFactory ( const IdentifierHash hash,
std::shared_ptr< Acts::LineBounds >  lBounds 
)
protectedinherited

Definition at line 102 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

103  {
104 
105  //get the local to global transform cache
106  TransformCacheMap::const_iterator transformCache = m_localToGlobalCaches.find(hash);
107  if (transformCache == m_localToGlobalCaches.end()) {
108  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" - "<<idHelperSvc()->toString(identify())
109  <<" no transform cache available for hash "<<hash);
110  return StatusCode::FAILURE;
111  }
112 
113  auto insert_itr = m_surfaces.insert(std::make_unique<ActsTrk::SurfaceCache>(transformCache->second.get()));
114  if(!insert_itr.second){
115  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" - "<<idHelperSvc()->toString(identify())
116  <<" Insertion to muon surface cache failed for hash "<<hash);
117  return StatusCode::FAILURE;
118  }
119  //Create straw surface for the surface cache
120  (*insert_itr.first)->setSurface(Acts::Surface::makeShared<Acts::StrawSurface>(lBounds, **insert_itr.first));
121  return StatusCode::SUCCESS;
122 
123 }

◆ stripEtaLength()

double MuonGMR4::RpcReadoutElement::stripEtaLength ( ) const

Returns the length of an eta strip.

◆ stripEtaPitch()

double MuonGMR4::RpcReadoutElement::stripEtaPitch ( ) const

Strip pitch in eta.

◆ stripEtaWidth()

double MuonGMR4::RpcReadoutElement::stripEtaWidth ( ) const

Strip width in eta.

◆ stripNumber()

static unsigned int MuonGMR4::RpcReadoutElement::stripNumber ( const IdentifierHash measHash)
staticprivate

◆ stripPhiLength()

double MuonGMR4::RpcReadoutElement::stripPhiLength ( ) const

Returns the length of a phi strip.

◆ stripPhiPitch()

double MuonGMR4::RpcReadoutElement::stripPhiPitch ( ) const

Strip pitch in phi.

◆ stripPhiWidth()

double MuonGMR4::RpcReadoutElement::stripPhiWidth ( ) const

Strip width in phi.

◆ stripPosition() [1/2]

Amg::Vector3D MuonGMR4::RpcReadoutElement::stripPosition ( const ActsGeometryContext ctx,
const Identifier measId 
) const

Returns the position of the strip center.

◆ stripPosition() [2/2]

Amg::Vector3D MuonGMR4::RpcReadoutElement::stripPosition ( const ActsGeometryContext ctx,
const IdentifierHash measHash 
) const

Definition at line 74 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/RpcReadoutElement.cxx.

74  {
75  return localToGlobalTrans(ctx, layerHash(measHash)) *
76  sensorLayout(measHash).localStripPos(stripNumber(measHash));
77 }

◆ surface() [1/4]

const Acts::Surface & MuonGMR4::MuonReadoutElement::surface ( ) const
finaloverrideinherited

Returns the surface associated to the readout element plane.

Definition at line 97 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

97 { return surface(geoTransformHash()); }

◆ surface() [2/4]

Acts::Surface & MuonGMR4::MuonReadoutElement::surface ( )
finaloverrideinherited

◆ surface() [3/4]

Acts::Surface & MuonGMR4::MuonReadoutElement::surface ( const IdentifierHash hash)
inherited

◆ surface() [4/4]

const Acts::Surface & MuonGMR4::MuonReadoutElement::surface ( const IdentifierHash hash) const
inherited

Returns the sufrface associated to a wire / measurement plane in the detector.

Definition at line 99 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

99 { return *surfacePtr(hash); }

◆ surfacePtr()

std::shared_ptr< Acts::Surface > MuonGMR4::MuonReadoutElement::surfacePtr ( const IdentifierHash hash) const
inherited

Returns the pointer associated to a certain wire / plane.

Definition at line 89 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

89  {
90  ActsTrk::SurfaceCacheSet::const_iterator cache = m_surfaces.find(hash);
91  if(cache != m_surfaces.end()) return (*cache)->getSurface();
92  ATH_MSG_FATAL(__FILE__<<":"<<__LINE__<<" "<<__func__<<"() -- Hash "<<hash
93  <<" is unknown to "<<idHelperSvc()->toStringDetEl(identify()));
94  return nullptr;
95 }

◆ thickness()

double MuonGMR4::RpcReadoutElement::thickness ( ) const
finaloverride

Overload from the Acts::DetectorElement (2 * halfheight)

◆ toStation()

const Amg::Transform3D & MuonGMR4::MuonReadoutElement::toStation ( const ActsTrk::DetectorAlignStore alignStore) const
protectedinherited

Returns the local -> global transformation to go from the volume center origin.

Definition at line 59 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

59  {
60  return getMaterialGeom()->getAbsoluteTransform(alignStore ? alignStore->geoModelAlignment.get() : nullptr);
61 }

◆ transform()

const Acts::Transform3 & MuonGMR4::MuonReadoutElement::transform ( const Acts::GeometryContext &  gctx) const
finaloverrideinherited

Returns the transformation to the origin of the chamber coordinate system.

Definition at line 85 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx.

85  {
86  const ActsGeometryContext *gctx = anygctx.get<const ActsGeometryContext *>();
87  return localToGlobalTrans(*gctx, geoTransformHash());
88 }

Friends And Related Function Documentation

◆ ActsTrk::TransformCacheDetEle< RpcReadoutElement >

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_args

const defineArgs MuonGMR4::MuonReadoutElement::m_args {}
privateinherited

◆ m_chambLink

const Chamber* MuonGMR4::MuonReadoutElement::m_chambLink {nullptr}
privateinherited

◆ m_chIdx

Muon::MuonStationIndex::ChIndex MuonGMR4::MuonReadoutElement::m_chIdx {Muon::MuonStationIndex::ChIndex::ChUnknown}
privateinherited

◆ m_detElHash

IdentifierHash MuonGMR4::MuonReadoutElement::m_detElHash {}
privateinherited

Cache of the detector element hash.

Definition at line 200 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h.

◆ m_doubletPhi

const int MuonGMR4::RpcReadoutElement::m_doubletPhi {m_idHelper.doubletPhi(identify())}
private

◆ m_doubletR

const int MuonGMR4::RpcReadoutElement::m_doubletR {m_idHelper.doubletR(identify())}
private

doublet R -> 1: chamber is mounted below the Mdts

Definition at line 159 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h.

◆ m_doubletZ

const int MuonGMR4::RpcReadoutElement::m_doubletZ {m_idHelper.doubletZ(identify())}
private

Associated doublet Z (Ranges from 1-3) If doubletZ is 3, there's generally the possibility that the module is additionally split according to doublet Phi.

Definition at line 163 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h.

◆ m_gasThickness

double MuonGMR4::RpcReadoutElement::m_gasThickness {0.}
private

Distance between 2 gas gaps (Radial direction)

Definition at line 167 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h.

◆ m_idHelper

const RpcIdHelper& MuonGMR4::RpcReadoutElement::m_idHelper {idHelperSvc()->rpcIdHelper()}
private

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> MuonGMR4::MuonReadoutElement::m_idHelperSvc {"Muon::MuonIdHelperSvc/MuonIdHelperSvc", "MuonReadoutElement"}
privateinherited

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_localToGlobalCaches

TransformCacheMap MuonGMR4::MuonReadoutElement::m_localToGlobalCaches
privateinherited

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_msSectorLink

const SpectrometerSector* MuonGMR4::MuonReadoutElement::m_msSectorLink {}
privateinherited

Pointer to the associated MS-sector & MuonChamber.

Definition at line 216 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_pars

parameterBook MuonGMR4::RpcReadoutElement::m_pars {}
private

◆ m_stEta

int MuonGMR4::MuonReadoutElement::m_stEta {-1}
privateinherited

Cache the station eta of the identifier.

Definition at line 206 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h.

◆ m_stName

int MuonGMR4::MuonReadoutElement::m_stName {-1}
privateinherited

Cache the station name of the identifier.

Definition at line 204 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h.

◆ m_stPhi

int MuonGMR4::MuonReadoutElement::m_stPhi {-1}
privateinherited

Cache the station phi of the identifier.

Definition at line 208 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h.

◆ m_surfaces

ActsTrk::SurfaceCacheSet MuonGMR4::MuonReadoutElement::m_surfaces
privateinherited

Cache of all associated surfaces.

Definition at line 214 of file MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h.


The documentation for this class was generated from the following files:
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:71
MuonGMR4::parameterBook
MmReadoutElement::parameterBook parameterBook
Definition: MmReadoutElement.cxx:22
MuonGMR4::RpcReadoutElement::parameterBook::halfWidth
double halfWidth
Elongation within the sector
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:29
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
MuonGMR4::MuonReadoutElement::m_chambLink
const Chamber * m_chambLink
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h:217
MuonGMR4::RpcReadoutElement::measuresPhi
static bool measuresPhi(const IdentifierHash &measHash)
MuonGMR4::MuonReadoutElement::chamber
const Chamber * chamber() const
Returns the pointer to the chamber enclosing this readout element.
ActsTrk::DetectorAlignStore::geoModelAlignment
std::shared_ptr< GeoAlignmentStore > geoModelAlignment
Store containing the aligned GeoModel nodes.
Definition: DetectorAlignStore.h:31
MuonGMR4::MuonReadoutElement::m_localToGlobalCaches
TransformCacheMap m_localToGlobalCaches
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h:211
MuonGMR4::MuonReadoutElement::surface
const Acts::Surface & surface() const override final
Returns the surface associated to the readout element plane.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx:97
MuonGMR4::RpcReadoutElement::m_pars
parameterBook m_pars
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:155
MuonGMR4::MuonReadoutElement::m_surfaces
ActsTrk::SurfaceCacheSet m_surfaces
Cache of all associated surfaces.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h:214
MuonGMR4::RpcReadoutElement::parameterBook::layers
std::vector< StripLayerPtr > layers
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:36
MuonGMR4::StripLayer::toOrigin
const Amg::Transform3D & toOrigin() const
Returns the transformation to go from the strip layer center to the origin of the Strip chamber.
MuonGMR4::MuonReadoutElement::createGeoTransform
StatusCode createGeoTransform()
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx:36
MuonGMR4::RpcReadoutElement::parameterBook::etaDesign
StripDesignPtr etaDesign
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:39
ActsTrk::IDetectorElementBase::detectorType
virtual DetectorType detectorType() const =0
Returns the detector element type.
MuonGMR4::MuonReadoutElement::globalToLocalTrans
Amg::Transform3D globalToLocalTrans(const ActsGeometryContext &ctx) const
Transformations to translate between local <-> global coordinates.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx:78
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
MuonGMR4::StripLayer::stripPosition
Amg::Vector3D stripPosition(unsigned int stripNum) const
Returns the position of the strip expressed in the chamber frame.
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
TRT::Hit::side
@ side
Definition: HitInfo.h:83
ActsGeometryContext::getStore
AlignmentStorePtr & getStore(const DetectorType type)
Returns the mutable alignable store for the ATLAS detector type (Pixel, Mdt, etc.)
Definition: ActsGeometryContext.h:33
MuonGMR4::MuonReadoutElement::MuonReadoutElement
MuonReadoutElement()=delete
Amg::toString
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Definition: GeoPrimitivesToStringConverter.h:40
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
MuonGMR4::RpcReadoutElement::parameterBook::phiDesign
StripDesignPtr phiDesign
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:38
MuonGMR4::MuonReadoutElement::idHelperSvc
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns the pointer to the muonIdHelperSvc.
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
MuonGMR4::RpcReadoutElement::parameterBook::halfLength
double halfLength
RPC panel dimensions.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:25
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
MuonGMR4::RpcReadoutElement::doubletPhi
int doubletPhi() const
Returns the doublet Phi field of the MuonReadoutElement identifier.
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
MuonGMR4::StripLayer::localStripPos
Amg::Vector3D localStripPos(unsigned int stripum) const
Returns the position of the strip expressed in the local frame.
MuonGMR4::MuonReadoutElement::geoTransformHash
static IdentifierHash geoTransformHash()
Returns the hash that is associated with the surface cache holding the transformation that is placing...
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx:44
MuonGMR4::MuonReadoutElement::alignableTransform
const GeoAlignableTransform * alignableTransform() const
Returnsthe alignable transform of the readout element.
MuonGMR4::RpcReadoutElement::sensorLayout
const StripLayer & sensorLayout(const IdentifierHash &measHash) const
Access to the StripLayer associated to a given measurement Hash.
MuonGMR4::RpcReadoutElement::m_gasThickness
double m_gasThickness
Distance between 2 gas gaps (Radial direction)
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:167
MuonGMR4::RpcReadoutElement::layerHash
IdentifierHash layerHash(const Identifier &measId) const override final
MuonGMR4::MuonReadoutElement::identify
Identifier identify() const override final
Return the athena identifier.
MuonGMR4::RpcReadoutElement::parameterBook::layerBounds
ActsTrk::SurfaceBoundSetPtr< Acts::RectangleBounds > layerBounds
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/RpcReadoutElement.h:41
MuonGMR4::StripLayer::design
const StripDesign & design() const
Returns the underlying strip design.
MuonGMR4::RpcReadoutElement::chamberStripPos
Amg::Vector3D chamberStripPos(const IdentifierHash &measHash) const
Returns the local strip position w.r.t. to the chamber origin.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/RpcReadoutElement.cxx:87
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
MuonGMR4::MuonReadoutElement::planeSurfaceFactory
StatusCode planeSurfaceFactory(const IdentifierHash &hash, std::shared_ptr< Acts::PlanarBounds > pBounds)
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx:125
MuonGMR4::MuonReadoutElement::surfacePtr
std::shared_ptr< Acts::Surface > surfacePtr(const IdentifierHash &hash) const
Returns the pointer associated to a certain wire / plane.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx:89
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
get
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition: hcg.cxx:127
ActsTrk::DetectorType::Rpc
@ Rpc
Monitored Drift Tubes.
MuonGMR4::MuonReadoutElement::localToGlobalTrans
const Amg::Transform3D & localToGlobalTrans(const ActsGeometryContext &ctx) const
Returns the local to global transformation into the ATLAS coordinate system.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/src/MuonReadoutElement.cxx:81
MuonGMR4::StripLayer::localStripLeftEdge
Amg::Vector3D localStripLeftEdge(unsigned int stripNum) const
Returns the position of the left strip edge (positive local y) expressed in the local frame.
MuonGMR4::RpcReadoutElement::EdgeSide::readOut
@ readOut
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
AthMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
Definition: AthMessaging.h:132
MuonGMR4::StripLayer::localStripRightEdge
Amg::Vector3D localStripRightEdge(unsigned int stripNum) const
Returns the position of the right strip edge (negative local y) exoressed in the local frame.
mag
Scalar mag() const
mag method
Definition: AmgMatrixBasePlugin.h:26
python.CaloScaleNoiseConfig.args
args
Definition: CaloScaleNoiseConfig.py:80
MuonGMR4::MuonReadoutElement::m_msSectorLink
const SpectrometerSector * m_msSectorLink
Pointer to the associated MS-sector & MuonChamber.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h:216
MuonGMR4::RpcReadoutElement::stripNumber
static unsigned int stripNumber(const IdentifierHash &measHash)
MuonGMR4::RpcReadoutElement::createHash
static IdentifierHash createHash(const unsigned int strip, const unsigned int gasGap, const unsigned int doubPhi, const bool measPhi)
Constructs an Identifier hash from the Identifier fields controlled by this readout element