ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary Struct Reference

#include <IMuonSegmentInOverlapResolvingTool.h>

Collaboration diagram for Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary:

Public Member Functions

bool inBounds (double locPosX, double cut=0.)
 check whether the position is inside the range
double positionInsideTube (double locPosX)
 checks wether the position is inside the range, if not returns the position inside the range closest to the input
double distanceFromReadout (double locPosX)
 distance to readout, positive axis towards hv side
double distanceFromCenter (double locPosX)
 distance to tube center, positive axis towards hv side
std::string toString () const

Public Attributes

const MuonGM::MdtReadoutElementdetEl {nullptr}
bool hasMdt {false}
double shortestChannelLength
Amg::Transform3D globalToSeg {}
Amg::Transform3D segToGlobal {}
double roPosInSegFrame {-999.}
double hvPosInSegFrame {-999.}

Detailed Description

Definition at line 53 of file IMuonSegmentInOverlapResolvingTool.h.

Member Function Documentation

◆ distanceFromCenter()

double Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::distanceFromCenter ( double locPosX)
inline

distance to tube center, positive axis towards hv side

Definition at line 89 of file IMuonSegmentInOverlapResolvingTool.h.

89 {
90 double dist = distanceFromReadout(locPosX) - 0.5 * shortestChannelLength;
91 return dist;
92 }
double distanceFromReadout(double locPosX)
distance to readout, positive axis towards hv side

◆ distanceFromReadout()

double Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::distanceFromReadout ( double locPosX)
inline

distance to readout, positive axis towards hv side

Definition at line 81 of file IMuonSegmentInOverlapResolvingTool.h.

81 {
82 double dist = locPosX - roPosInSegFrame;
83 // if ro at large value than hv flip sign so that a positive dist is always in direction of the hv
84 if (roPosInSegFrame > hvPosInSegFrame) dist *= -1.;
85 return dist;
86 }

◆ inBounds()

bool Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::inBounds ( double locPosX,
double cut = 0. )
inline

check whether the position is inside the range

Definition at line 65 of file IMuonSegmentInOverlapResolvingTool.h.

65 {
66 double dist = distanceFromReadout(locPosX);
67 if (dist < -cut) return false;
68 if (dist > shortestChannelLength + cut) return false;
69 return true;
70 }

◆ positionInsideTube()

double Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::positionInsideTube ( double locPosX)
inline

checks wether the position is inside the range, if not returns the position inside the range closest to the input

Definition at line 73 of file IMuonSegmentInOverlapResolvingTool.h.

73 {
74 if (inBounds(locPosX)) return locPosX;
75 double distFromRO = distanceFromReadout(locPosX);
76 if (distFromRO < 0.) return roPosInSegFrame;
77 return hvPosInSegFrame;
78 }
bool inBounds(double locPosX, double cut=0.)
check whether the position is inside the range

◆ toString()

std::string Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::toString ( ) const
inline

Definition at line 177 of file IMuonSegmentInOverlapResolvingTool.h.

177 {
178 std::ostringstream sout;
179 sout << " Segment geometry: position ro " << roPosInSegFrame << " hv " << hvPosInSegFrame;
180 return sout.str();
181 }

Member Data Documentation

◆ detEl

const MuonGM::MdtReadoutElement* Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::detEl {nullptr}

Definition at line 54 of file IMuonSegmentInOverlapResolvingTool.h.

54{nullptr};

◆ globalToSeg

Amg::Transform3D Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::globalToSeg {}

Definition at line 59 of file IMuonSegmentInOverlapResolvingTool.h.

59{};

◆ hasMdt

bool Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::hasMdt {false}

Definition at line 55 of file IMuonSegmentInOverlapResolvingTool.h.

55{false};

◆ hvPosInSegFrame

double Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::hvPosInSegFrame {-999.}

Definition at line 62 of file IMuonSegmentInOverlapResolvingTool.h.

62{-999.};

◆ roPosInSegFrame

double Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::roPosInSegFrame {-999.}

Definition at line 61 of file IMuonSegmentInOverlapResolvingTool.h.

61{-999.};

◆ segToGlobal

Amg::Transform3D Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::segToGlobal {}

Definition at line 60 of file IMuonSegmentInOverlapResolvingTool.h.

60{};

◆ shortestChannelLength

double Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::shortestChannelLength
Initial value:
{
-999.,
}

Definition at line 56 of file IMuonSegmentInOverlapResolvingTool.h.

56 {
57 -999.,
58 };

The documentation for this struct was generated from the following file: