![]() |
ATLAS Offline Software
|
#include <MdtCalibInput.h>
Public Types | |
| enum class | BFieldComp { alongWire = 0 , alongTrack = 1 } |
Public Member Functions | |
| MdtCalibInput (const Identifier &id, const int16_t adc, const int16_t tdc, const MuonGMR4::MdtReadoutElement *reEle, const ActsTrk::GeometryContext &gctx) | |
| Minimal constructor in the PhaseII geomerty setup. | |
| MdtCalibInput (const Identifier &id, const int16_t adc, const int16_t tdc, const MuonGM::MdtReadoutElement *reEle) | |
| Minimal constructor in the legacy geomerty setup. | |
| MdtCalibInput (const MdtDigit &digit, const MuonGM::MuonDetectorManager &detMgr) | |
| Constructor taking the Mdt digit & the legacy II detector manager. | |
| MdtCalibInput (const MdtDigit &digit, const MuonGMR4::MuonDetectorManager &detMgr, const ActsTrk::GeometryContext &gctx) | |
| Constructor taking the Mdt digit & the Phase II detector manager. | |
| MdtCalibInput (const Muon::MdtPrepData &prd) | |
| Constructor taking the MdtPrepdata. | |
| MdtCalibInput (const xAOD::MdtDriftCircle &prd, const ActsTrk::GeometryContext &gctx) | |
| Constructor taking taking the xAOD::MdtDriftCircle. | |
| MdtCalibInput (MdtCalibInput &&other)=default | |
| MdtCalibInput & | operator= (MdtCalibInput &&other)=default |
| ~MdtCalibInput () | |
| const Identifier & | identify () const |
| Returns the Identifier of the hit. | |
| int16_t | tdc () const |
| Returns the tdc counts of the hit. | |
| int16_t | adc () const |
| Returns the amount of accumulated charge. | |
| const MuonGM::MdtReadoutElement * | legacyDescriptor () const |
| Returns the legacy readout element. | |
| const MuonGMR4::MdtReadoutElement * | decriptor () const |
| Returns the R4 readout element. | |
| const Amg::Vector3D & | closestApproach () const |
| Returns the point of closest approach to the wire. | |
| void | setClosestApproach (const Amg::Vector3D &approach) |
| Sets the closest approach. | |
| const Amg::Vector3D & | trackDirection () const |
| Returns the track direction (Can be zero) | |
| void | setTrackDirection (const Amg::Vector3D &trackDir, bool hasPhi) |
| Sets the direction of the externally determined track. | |
| bool | trackDirHasPhi () const |
| Returns whether the track has a phi constaint or not. | |
| double | timeOfFlight () const |
| Returns the time of flight. | |
| void | setTimeOfFlight (const double toF) |
| Sets the time of flight (Usually globPos.mag() * inverseSpeed of light) | |
| double | triggerTime () const |
| Returns the trigger offset time. | |
| void | setTriggerTime (const double trigTime) |
| Sets the trigger offset time. | |
| double | distanceToTrack () const |
| Returns the distance to track (signed) | |
| Amg::Vector2D | projectMagneticField (const Amg::Vector3D &fieldInGlob) const |
| Splits the B-field into the components that point along the transverse track direction & along the tube wire. | |
| double | signalPropagationDistance () const |
| Calculates the distance that the signal has to travel along the wire. | |
| const Trk::StraightLineSurface & | legacySurface () const |
| Returns the assocaited ideal surface (Throw exception if no legacy RE is available) | |
| const Amg::Vector3D & | surfaceCenter () const |
| Returns the center of the associated surface. | |
| double | tubeLength () const |
| Returns the tube length. | |
| double | readOutSide () const |
| Returns the sign of the readout position in local coordinates. | |
| double | innerTubeR () const |
| Returns the inner tube radius. | |
Private Types | |
| using | ReadoutEle_t = std::variant<const MuonGM::MdtReadoutElement*, const MuonGMR4::MdtReadoutElement*> |
| Variant type to store the legacy & Phase-II style readout geometry in a single variable. | |
Private Member Functions | |
| const Amg::Transform3D & | localToGlobal () const |
| Local to global transformation of the tube. | |
| Amg::Vector3D | center () const |
| Translational part of the local -> global transform. | |
Private Attributes | |
| Identifier | m_id {} |
| Tube identifier. | |
| int16_t | m_adc {0} |
| Adc counts of the hit. | |
| int16_t | m_tdc {0} |
| Tdc counts of the hit. | |
| const ActsTrk::GeometryContext * | m_gctx {nullptr} |
| Geometry context, needed to fetch the alignment. | |
| ReadoutEle_t | m_RE {} |
| Pointer to the associated readout element. | |
| IdentifierHash | m_hash {} |
| Measurement hash of the Identifier (needed for Phase II) | |
| Amg::Vector3D | m_approach {center()} |
| Point of closest approach of the track. | |
| Amg::Vector3D | m_trackDir {Amg::Vector3D::Zero()} |
| Global track direction. | |
| bool | m_trackHasPhi {false} |
| Does the track direction contain a phi constraint. | |
| double | m_ToF {center().mag() * s_inverseSpeed} |
| double | m_trigTime {0.} |
| Trigger time. | |
| double | m_distToTrack {0.} |
| Distance to track (signed) | |
Static Private Attributes | |
| static constexpr double | s_inverseSpeed {1. / Gaudi::Units::c_light} |
| Time of flight. | |
Definition at line 36 of file MdtCalibInput.h.
|
private |
Variant type to store the legacy & Phase-II style readout geometry in a single variable.
Definition at line 161 of file MdtCalibInput.h.
|
strong |
| Enumerator | |
|---|---|
| alongWire | |
| alongTrack | |
Definition at line 126 of file MdtCalibInput.h.
| MdtCalibInput::MdtCalibInput | ( | const Identifier & | id, |
| const int16_t | adc, | ||
| const int16_t | tdc, | ||
| const MuonGMR4::MdtReadoutElement * | reEle, | ||
| const ActsTrk::GeometryContext & | gctx ) |
Minimal constructor in the PhaseII geomerty setup.
It takes all necessary ingredients to run later the calibration loop.
| id | Identifier of the hit to calibrate |
| adc | Recorded adc counts from the tube |
| tdc | Recorded tdc counts from the tube |
| detMgr | Pointer to the associated readout element |
| gctx | Geometry context to globally align the tube within ATLAS |
Definition at line 32 of file MdtCalibInput.cxx.
| MdtCalibInput::MdtCalibInput | ( | const Identifier & | id, |
| const int16_t | adc, | ||
| const int16_t | tdc, | ||
| const MuonGM::MdtReadoutElement * | reEle ) |
Minimal constructor in the legacy geomerty setup.
It takes all necessary ingredients to run later the calibration loop.
| id | Identifier of the hit to calibrate |
| adc | Recorded adc counts from the tube |
| tdc | Recorded tdc counts from the tube |
| reEle | Pointer to the associated readout element |
Definition at line 50 of file MdtCalibInput.cxx.
| MdtCalibInput::MdtCalibInput | ( | const MdtDigit & | digit, |
| const MuonGM::MuonDetectorManager & | detMgr ) |
Constructor taking the Mdt digit & the legacy II detector manager.
| digit | Digit containing all adc & tdc information |
| detMgr | Reference to the Detector manager to fetch the Proper readout element |
| gctx | Geometry context to globally align the tube within ATLAS |
Definition at line 59 of file MdtCalibInput.cxx.
| MdtCalibInput::MdtCalibInput | ( | const MdtDigit & | digit, |
| const MuonGMR4::MuonDetectorManager & | detMgr, | ||
| const ActsTrk::GeometryContext & | gctx ) |
Constructor taking the Mdt digit & the Phase II detector manager.
| digit | Digit containing all adc & tdc information |
| detMgr | Reference to the Detector manager to fetch the Proper readout element |
| gctx | Geometry context to globally align the tube within ATLAS |
Definition at line 44 of file MdtCalibInput.cxx.
| MdtCalibInput::MdtCalibInput | ( | const Muon::MdtPrepData & | prd | ) |
Constructor taking the MdtPrepdata.
The
Definition at line 76 of file MdtCalibInput.cxx.
| MdtCalibInput::MdtCalibInput | ( | const xAOD::MdtDriftCircle & | prd, |
| const ActsTrk::GeometryContext & | gctx ) |
Constructor taking taking the xAOD::MdtDriftCircle.
| prd | Reference to the uncalibrated Drift circle |
| gctx | Geometry context to place the drift circle globally within ATLAS |
Definition at line 65 of file MdtCalibInput.cxx.
|
default |
|
default |
| int16_t MdtCalibInput::adc | ( | ) | const |
|
private |
Translational part of the local -> global transform.
Definition at line 203 of file MdtCalibInput.cxx.
| const Amg::Vector3D & MdtCalibInput::closestApproach | ( | ) | const |
Returns the point of closest approach to the wire.
Definition at line 105 of file MdtCalibInput.cxx.
| const MuonGMR4::MdtReadoutElement * MdtCalibInput::decriptor | ( | ) | const |
Returns the R4 readout element.
Definition at line 96 of file MdtCalibInput.cxx.
| double MdtCalibInput::distanceToTrack | ( | ) | const |
Returns the distance to track (signed)
Definition at line 156 of file MdtCalibInput.cxx.
| const Identifier & MdtCalibInput::identify | ( | ) | const |
| double MdtCalibInput::innerTubeR | ( | ) | const |
Returns the inner tube radius.
Definition at line 169 of file MdtCalibInput.cxx.
| const MuonGM::MdtReadoutElement * MdtCalibInput::legacyDescriptor | ( | ) | const |
Returns the legacy readout element.
Definition at line 87 of file MdtCalibInput.cxx.
| const Trk::StraightLineSurface & MdtCalibInput::legacySurface | ( | ) | const |
Returns the assocaited ideal surface (Throw exception if no legacy RE is available)
Definition at line 138 of file MdtCalibInput.cxx.
|
private |
Local to global transformation of the tube.
Definition at line 192 of file MdtCalibInput.cxx.
|
default |
| Amg::Vector2D MdtCalibInput::projectMagneticField | ( | const Amg::Vector3D & | fieldInGlob | ) | const |
Splits the B-field into the components that point along the transverse track direction & along the tube wire.
Rotate the B-field into the rest frame of the tube (Z-axis along the wire)
In the local coordinate system, the wire points along the z-axis
Convert kilo tesla into tesla... Waaait whaat?
Definition at line 125 of file MdtCalibInput.cxx.
| double MdtCalibInput::readOutSide | ( | ) | const |
Returns the sign of the readout position in local coordinates.
By convention the new readout geometry points along the negative z-axis
Definition at line 180 of file MdtCalibInput.cxx.
| void MdtCalibInput::setClosestApproach | ( | const Amg::Vector3D & | approach | ) |
Sets the closest approach.
Definition at line 106 of file MdtCalibInput.cxx.
| void MdtCalibInput::setTimeOfFlight | ( | const double | toF | ) |
Sets the time of flight (Usually globPos.mag() * inverseSpeed of light)
Definition at line 116 of file MdtCalibInput.cxx.
| void MdtCalibInput::setTrackDirection | ( | const Amg::Vector3D & | trackDir, |
| bool | hasPhi ) |
Sets the direction of the externally determined track.
| trackDir | Direction vector of the track (global frame) |
| hasPhi | Flag whether the track direction contains phi information |
Definition at line 110 of file MdtCalibInput.cxx.
| void MdtCalibInput::setTriggerTime | ( | const double | trigTime | ) |
Sets the trigger offset time.
Definition at line 119 of file MdtCalibInput.cxx.
| double MdtCalibInput::signalPropagationDistance | ( | ) | const |
Calculates the distance that the signal has to travel along the wire.
Definition at line 143 of file MdtCalibInput.cxx.
| const Amg::Vector3D & MdtCalibInput::surfaceCenter | ( | ) | const |
Returns the center of the associated surface.
Definition at line 121 of file MdtCalibInput.cxx.
| int16_t MdtCalibInput::tdc | ( | ) | const |
| double MdtCalibInput::timeOfFlight | ( | ) | const |
| const Amg::Vector3D & MdtCalibInput::trackDirection | ( | ) | const |
| bool MdtCalibInput::trackDirHasPhi | ( | ) | const |
Returns whether the track has a phi constaint or not.
Definition at line 114 of file MdtCalibInput.cxx.
| double MdtCalibInput::triggerTime | ( | ) | const |
| double MdtCalibInput::tubeLength | ( | ) | const |
Returns the tube length.
Definition at line 158 of file MdtCalibInput.cxx.
|
private |
|
private |
Point of closest approach of the track.
Definition at line 167 of file MdtCalibInput.h.
|
private |
|
private |
Geometry context, needed to fetch the alignment.
Definition at line 159 of file MdtCalibInput.h.
|
private |
Measurement hash of the Identifier (needed for Phase II)
Definition at line 165 of file MdtCalibInput.h.
|
private |
|
private |
|
private |
|
private |
Definition at line 174 of file MdtCalibInput.h.
|
private |
|
private |
Does the track direction contain a phi constraint.
Definition at line 171 of file MdtCalibInput.h.
|
private |
|
staticconstexprprivate |