ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
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 More...
 
double positionInsideTube (double locPosX)
 checks wether the position is inside the range, if not returns the position inside the range closest to the input More...
 
double distanceFromReadout (double locPosX)
 distance to readout, positive axis towards hv side More...
 
double distanceFromCenter (double locPosX)
 distance to tube center, positive axis towards hv side More...
 
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  }

◆ 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  }

◆ 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.

◆ globalToSeg

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

Definition at line 59 of file IMuonSegmentInOverlapResolvingTool.h.

◆ hasMdt

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

Definition at line 55 of file IMuonSegmentInOverlapResolvingTool.h.

◆ hvPosInSegFrame

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

Definition at line 62 of file IMuonSegmentInOverlapResolvingTool.h.

◆ roPosInSegFrame

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

Definition at line 61 of file IMuonSegmentInOverlapResolvingTool.h.

◆ segToGlobal

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

Definition at line 60 of file IMuonSegmentInOverlapResolvingTool.h.

◆ shortestChannelLength

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

Definition at line 56 of file IMuonSegmentInOverlapResolvingTool.h.


The documentation for this struct was generated from the following file:
Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::hvPosInSegFrame
double hvPosInSegFrame
Definition: IMuonSegmentInOverlapResolvingTool.h:62
Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::shortestChannelLength
double shortestChannelLength
Definition: IMuonSegmentInOverlapResolvingTool.h:56
Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::distanceFromReadout
double distanceFromReadout(double locPosX)
distance to readout, positive axis towards hv side
Definition: IMuonSegmentInOverlapResolvingTool.h:81
BindingsTest.cut
cut
This script demonstrates how to call a C++ class from Python Also how to use PyROOT is shown.
Definition: BindingsTest.py:13
Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::roPosInSegFrame
double roPosInSegFrame
Definition: IMuonSegmentInOverlapResolvingTool.h:61
Muon::IMuonSegmentInOverlapResolvingTool::SegmentGeometrySummary::inBounds
bool inBounds(double locPosX, double cut=0.)
check whether the position is inside the range
Definition: IMuonSegmentInOverlapResolvingTool.h:65