ATLAS Offline Software
Loading...
Searching...
No Matches
xAOD::MdtTwinDriftCircle_v1 Class Reference

#include <MdtTwinDriftCircle_v1.h>

Inheritance diagram for xAOD::MdtTwinDriftCircle_v1:
Collaboration diagram for xAOD::MdtTwinDriftCircle_v1:

Public Types

using MdtDriftCircleStatus = ::Muon::MdtDriftCircleStatus

Public Member Functions

 MdtTwinDriftCircle_v1 ()=default
 Default constructor.
virtual ~MdtTwinDriftCircle_v1 ()=default
 Virtual destructor.
unsigned numDimensions () const override final
 Override the dimensions to be 1.
Identifier twinIdentify () const
 Returns the Identifier of the twin tube.
float posAlongWire () const
 Returns the coordinate along the wire.
float posAlongWireCov () const
 Returns the covariance of the coordinate along the wire.
float posAlongWireUncert () const
 Returns the uncertainty on the coordinate along the wire.
std::int16_t twinTdc () const
 Returns the TDC (typically range is 0 to 2500).
std::int16_t twinAdc () const
 Returns the ADC (typically range is 0 to 250).
std::uint16_t twinTube () const
 Returns the tube number of the associated twin channel (1-120).
std::uint8_t twinLayer () const
 Returns the layer number of the associated twin channel (1-4).
void setTwinTdc (std::int16_t tdc)
 Sets the TDC counts.
void setTwinAdc (std::int16_t adc)
 Sets the ADC counts.
void setTwinTube (std::uint16_t tube_n)
 Sets the tube number.
void setTwinLayer (std::uint8_t layer_n)
 Sets the layer number.
xAOD::UncalibMeasType type () const override final
 Returns the type of the Mdt drift circle as a simple enumeration.
Amg::Vector3D localMeasurementPos () const override final
 : Return the measurement's position vector in the local frame.
std::int16_t tdc () const
 Returns the TDC (typically range is 0 to 2500).
std::int16_t adc () const
 Returns the ADC (typically range is 0 to 250).
std::uint16_t driftTube () const
 Returns the tube number of the measurement (1-120).
std::uint8_t tubeLayer () const
 Returns the layer number of the measurement (1-4).
IdentifierHash measurementHash () const override final
 Returns the hash of the measurement channel (tube (x) layer).
IdentifierHash layerHash () const override final
 Returns the layer hash of the tube layer.
std::uint8_t measuresPhi () const override final
 Returns whether the drift circle measures phi.
MdtDriftCircleStatus status () const
 Returns the status of the measurement.
float driftRadius () const
 Returns the drift radius.
float driftRadiusCov () const
 Returns the covariance of the drift radius.
float driftRadiusUncert () const
 Returns the uncertainty on the drift radius.
void setTdc (std::int16_t tdc)
 Setter methods.
void setAdc (std::int16_t adc)
 Sets the ADC counts.
void setTube (std::uint16_t tube_n)
 Sets the tube number.
void setLayer (std::uint8_t layer_n)
 Sets the layer number.
void setStatus (MdtDriftCircleStatus st)
 Sets the status of the drift circle.
void setReadoutElement (const MuonGMR4::MdtReadoutElement *readoutEle)
 set the pointer to the MdtReadoutElement
virtual const MuonGMR4::MdtReadoutElementreadoutElement () const override final
 Retrieve the associated MdtReadoutElement.
const Identifieridentify () const
 Returns the Athena identifier of the measurement.
Functions to get measurement properties
DetectorIDHashType identifierHash () const
 Returns the IdentifierHash of the measurement (corresponds to the detector element IdentifierHash).
DetectorIdentType identifier () const
 Returns the full Identifier of the measurement.
template<int N>
ConstVectorMap< N > localPosition () const
 Returns the local position of the measurement.
template<int N>
VectorMap< N > localPosition ()
 Returns the local position as mutable eigen map which can be assigned as well.
template<int N>
ConstMatrixMap< N > localCovariance () const
 Returns the local covariance of the measurement.
template<int N>
MatrixMap< N > localCovariance ()
 Returns the local covariance as mutable eigen map which can be assigned as well.
Functions to set measurement properties
void setIdentifierHash (const DetectorIDHashType idHash)
 Sets the IdentifierHash of the measurement (corresponds to the detector element IdentifierHash).
void setIdentifier (const DetectorIdentType measId)
 Sets the full Identifier of the measurement.
Direct method to set measurement properties
template<int N>
void setMeasurement (const DetectorIDHashType idHash, MeasVector< N > locPos, MeasMatrix< N > locCov)
 Sets IdentifierHash, local position and local covariance of the measurement.

Protected Attributes

CxxUtils::CachedValue< const MuonGMR4::MuonReadoutElement * > m_readoutEle {}
 Cache value of the.

Private Attributes

CxxUtils::CachedValue< Identifierm_identifier {}

Detailed Description

Definition at line 12 of file MdtTwinDriftCircle_v1.h.

Member Typedef Documentation

◆ MdtDriftCircleStatus

Constructor & Destructor Documentation

◆ MdtTwinDriftCircle_v1()

xAOD::MdtTwinDriftCircle_v1::MdtTwinDriftCircle_v1 ( )
default

Default constructor.

◆ ~MdtTwinDriftCircle_v1()

virtual xAOD::MdtTwinDriftCircle_v1::~MdtTwinDriftCircle_v1 ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ adc()

std::int16_t xAOD::MdtDriftCircle_v1::adc ( ) const
inherited

Returns the ADC (typically range is 0 to 250).

◆ driftRadius()

float xAOD::MdtDriftCircle_v1::driftRadius ( ) const
inherited

Returns the drift radius.

Definition at line 45 of file MdtDriftCircle_v1.cxx.

45 {
46 return numDimensions() == 1 ? localPosition<1>()[Trk::locR]
48}
unsigned numDimensions() const override
Override the dimensions to be 1.
ConstVectorMap< N > localPosition() const
Returns the local position of the measurement.
@ locR
Definition ParamDefs.h:44

◆ driftRadiusCov()

float xAOD::MdtDriftCircle_v1::driftRadiusCov ( ) const
inherited

Returns the covariance of the drift radius.

Definition at line 50 of file MdtDriftCircle_v1.cxx.

50 {
52 : localCovariance<2>()(Trk::locR, Trk::locR);
53}
ConstMatrixMap< N > localCovariance() const
Returns the local covariance of the measurement.

◆ driftRadiusUncert()

float xAOD::MdtDriftCircle_v1::driftRadiusUncert ( ) const
inherited

Returns the uncertainty on the drift radius.

Definition at line 55 of file MdtDriftCircle_v1.cxx.

55 {
56 return std::sqrt(driftRadiusCov());
57}
float driftRadiusCov() const
Returns the covariance of the drift radius.

◆ driftTube()

std::uint16_t xAOD::MdtDriftCircle_v1::driftTube ( ) const
inherited

Returns the tube number of the measurement (1-120).

◆ identifier()

DetectorIdentType xAOD::UncalibratedMeasurement_v1::identifier ( ) const
inherited

Returns the full Identifier of the measurement.

◆ identifierHash()

DetectorIDHashType xAOD::UncalibratedMeasurement_v1::identifierHash ( ) const
inherited

Returns the IdentifierHash of the measurement (corresponds to the detector element IdentifierHash).

◆ identify()

const Identifier & xAOD::MuonMeasurement_v1::identify ( ) const
inherited

Returns the Athena identifier of the measurement.

Definition at line 15 of file MuonMeasurement_v1.cxx.

15 {
16 if (!m_identifier.isValid()){
17 m_identifier.set(readoutElement()->measurementId(measurementHash()));
18 }
19 return (*m_identifier.ptr());
20 }
virtual const MuonGMR4::MuonReadoutElement * readoutElement() const =0
Returns the pointer to the associated readout element.
CxxUtils::CachedValue< Identifier > m_identifier
virtual IdentifierHash measurementHash() const =0
Returns the hash of the measurement channel.

◆ layerHash()

IdentifierHash xAOD::MdtDriftCircle_v1::layerHash ( ) const
finaloverridevirtualinherited

Returns the layer hash of the tube layer.

Implements xAOD::MuonMeasurement_v1.

Definition at line 33 of file MdtDriftCircle_v1.cxx.

33 {
35}
IdentifierHash layerHash(const Identifier &measId) const override final
Projects the measurement hash onto the layerHash mainly used to access the plane surface in the cente...
IdentifierHash measurementHash() const override final
Returns the hash of the measurement channel (tube (x) layer).

◆ localCovariance() [1/2]

template<int N>
MatrixMap< N > xAOD::UncalibratedMeasurement_v1::localCovariance ( )
inherited

Returns the local covariance as mutable eigen map which can be assigned as well.

◆ localCovariance() [2/2]

template<int N>
ConstMatrixMap< N > xAOD::UncalibratedMeasurement_v1::localCovariance ( ) const
inherited

Returns the local covariance of the measurement.

◆ localMeasurementPos()

Amg::Vector3D xAOD::MdtDriftCircle_v1::localMeasurementPos ( ) const
finaloverridevirtualinherited

: Return the measurement's position vector in the local frame.

If the measurement is an ordinary 1D drift circle, the Zero vector is returned. Otherwise the local position along z

Implements xAOD::MuonMeasurement_v1.

Definition at line 39 of file MdtDriftCircle_v1.cxx.

39 {
40 if (numDimensions() == 1) {
41 return Amg::Vector3D::Zero();
42 }
43 return localPosition<2>()[Trk::locZ] * Amg::Vector3D::UnitZ();
44}
@ locZ
local cylindrical
Definition ParamDefs.h:42

◆ localPosition() [1/2]

template<int N>
VectorMap< N > xAOD::UncalibratedMeasurement_v1::localPosition ( )
inherited

Returns the local position as mutable eigen map which can be assigned as well.

◆ localPosition() [2/2]

template<int N>
ConstVectorMap< N > xAOD::UncalibratedMeasurement_v1::localPosition ( ) const
inherited

Returns the local position of the measurement.

◆ measurementHash()

IdentifierHash xAOD::MdtDriftCircle_v1::measurementHash ( ) const
finaloverridevirtualinherited

Returns the hash of the measurement channel (tube (x) layer).

Implements xAOD::MuonMeasurement_v1.

Definition at line 29 of file MdtDriftCircle_v1.cxx.

29 {
31 driftTube());
32}
static IdentifierHash measurementHash(unsigned layerNumber, unsigned tubeNumber)
Constructs a Measurement hash from layer && tube number.
std::uint16_t driftTube() const
Returns the tube number of the measurement (1-120).
std::uint8_t tubeLayer() const
Returns the layer number of the measurement (1-4).

◆ measuresPhi()

std::uint8_t xAOD::MdtDriftCircle_v1::measuresPhi ( ) const
finaloverridevirtualinherited

Returns whether the drift circle measures phi.

Implements xAOD::MuonMeasurement_v1.

Definition at line 36 of file MdtDriftCircle_v1.cxx.

36 {
37 return numDimensions() == 2;
38}

◆ numDimensions()

unsigned xAOD::MdtTwinDriftCircle_v1::numDimensions ( ) const
inlinefinaloverridevirtual

Override the dimensions to be 1.

Reimplemented from xAOD::MdtDriftCircle_v1.

Definition at line 20 of file MdtTwinDriftCircle_v1.h.

20{ return 2; }

◆ posAlongWire()

float xAOD::MdtTwinDriftCircle_v1::posAlongWire ( ) const

Returns the coordinate along the wire.

Definition at line 26 of file MdtTwinDriftCircle_v1.cxx.

26 {
28}

◆ posAlongWireCov()

float xAOD::MdtTwinDriftCircle_v1::posAlongWireCov ( ) const

Returns the covariance of the coordinate along the wire.

Definition at line 29 of file MdtTwinDriftCircle_v1.cxx.

29 {
31}

◆ posAlongWireUncert()

float xAOD::MdtTwinDriftCircle_v1::posAlongWireUncert ( ) const

Returns the uncertainty on the coordinate along the wire.

Definition at line 32 of file MdtTwinDriftCircle_v1.cxx.

32 {
33 return std::sqrt(posAlongWireCov());
34}
float posAlongWireCov() const
Returns the covariance of the coordinate along the wire.

◆ readoutElement()

virtual const MuonGMR4::MdtReadoutElement * xAOD::MdtDriftCircle_v1::readoutElement ( ) const
finaloverridevirtualinherited

Retrieve the associated MdtReadoutElement.

If the element has not been set before, it's tried to load it on the fly. Exceptions are thrown if that fails as well

Implements xAOD::MuonMeasurement_v1.

◆ setAdc()

void xAOD::MdtDriftCircle_v1::setAdc ( std::int16_t adc)
inherited

Sets the ADC counts.

◆ setIdentifier()

void xAOD::UncalibratedMeasurement_v1::setIdentifier ( const DetectorIdentType measId)
inherited

Sets the full Identifier of the measurement.

◆ setIdentifierHash()

void xAOD::UncalibratedMeasurement_v1::setIdentifierHash ( const DetectorIDHashType idHash)
inherited

Sets the IdentifierHash of the measurement (corresponds to the detector element IdentifierHash).

◆ setLayer()

void xAOD::MdtDriftCircle_v1::setLayer ( std::uint8_t layer_n)
inherited

Sets the layer number.

◆ setMeasurement()

template<int N>
void xAOD::UncalibratedMeasurement_v1::setMeasurement ( const DetectorIDHashType idHash,
MeasVector< N > locPos,
MeasMatrix< N > locCov )
inherited

Sets IdentifierHash, local position and local covariance of the measurement.

◆ setReadoutElement()

void xAOD::MdtDriftCircle_v1::setReadoutElement ( const MuonGMR4::MdtReadoutElement * readoutEle)
inherited

set the pointer to the MdtReadoutElement

◆ setStatus()

void xAOD::MdtDriftCircle_v1::setStatus ( MdtDriftCircleStatus st)
inherited

Sets the status of the drift circle.

◆ setTdc()

void xAOD::MdtDriftCircle_v1::setTdc ( std::int16_t tdc)
inherited

Setter methods.

Sets the TDC counts

◆ setTube()

void xAOD::MdtDriftCircle_v1::setTube ( std::uint16_t tube_n)
inherited

Sets the tube number.

◆ setTwinAdc()

void xAOD::MdtTwinDriftCircle_v1::setTwinAdc ( std::int16_t adc)

Sets the ADC counts.

◆ setTwinLayer()

void xAOD::MdtTwinDriftCircle_v1::setTwinLayer ( std::uint8_t layer_n)

Sets the layer number.

◆ setTwinTdc()

void xAOD::MdtTwinDriftCircle_v1::setTwinTdc ( std::int16_t tdc)

Sets the TDC counts.

◆ setTwinTube()

void xAOD::MdtTwinDriftCircle_v1::setTwinTube ( std::uint16_t tube_n)

Sets the tube number.

◆ status()

MdtDriftCircleStatus xAOD::MdtDriftCircle_v1::status ( ) const
inherited

Returns the status of the measurement.

◆ tdc()

std::int16_t xAOD::MdtDriftCircle_v1::tdc ( ) const
inherited

Returns the TDC (typically range is 0 to 2500).

◆ tubeLayer()

std::uint8_t xAOD::MdtDriftCircle_v1::tubeLayer ( ) const
inherited

Returns the layer number of the measurement (1-4).

◆ twinAdc()

std::int16_t xAOD::MdtTwinDriftCircle_v1::twinAdc ( ) const

Returns the ADC (typically range is 0 to 250).

◆ twinIdentify()

Identifier xAOD::MdtTwinDriftCircle_v1::twinIdentify ( ) const

Returns the Identifier of the twin tube.

Definition at line 23 of file MdtTwinDriftCircle_v1.cxx.

23 {
25}
Identifier measurementId(const IdentifierHash &measHash) const override final
Back conversion of the measurement hash towards a full identifier Tube & layer number are extracted f...
virtual const MuonGMR4::MdtReadoutElement * readoutElement() const override final
Retrieve the associated MdtReadoutElement.
std::uint8_t twinLayer() const
Returns the layer number of the associated twin channel (1-4).
std::uint16_t twinTube() const
Returns the tube number of the associated twin channel (1-120).

◆ twinLayer()

std::uint8_t xAOD::MdtTwinDriftCircle_v1::twinLayer ( ) const

Returns the layer number of the associated twin channel (1-4).

◆ twinTdc()

std::int16_t xAOD::MdtTwinDriftCircle_v1::twinTdc ( ) const

Returns the TDC (typically range is 0 to 2500).

◆ twinTube()

std::uint16_t xAOD::MdtTwinDriftCircle_v1::twinTube ( ) const

Returns the tube number of the associated twin channel (1-120).

◆ type()

xAOD::UncalibMeasType xAOD::MdtDriftCircle_v1::type ( ) const
inlinefinaloverridevirtualinherited

Returns the type of the Mdt drift circle as a simple enumeration.

Implements xAOD::UncalibratedMeasurement_v1.

Definition at line 31 of file MdtDriftCircle_v1.h.

Member Data Documentation

◆ m_identifier

CxxUtils::CachedValue<Identifier> xAOD::MuonMeasurement_v1::m_identifier {}
privateinherited

Definition at line 48 of file MuonMeasurement_v1.h.

48{};

◆ m_readoutEle

CxxUtils::CachedValue<const MuonGMR4::MuonReadoutElement*> xAOD::MuonMeasurement_v1::m_readoutEle {}
protectedinherited

Cache value of the.

Definition at line 46 of file MuonMeasurement_v1.h.

46{};

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