ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
MuonGMR4::SpectrometerSector::chamberLocation Struct Reference

: Helper struct for fast approximate navigation. More...

#include <SpectrometerSector.h>

Collaboration diagram for MuonGMR4::SpectrometerSector::chamberLocation:

Public Types

using BoundPtr_t = std::shared_ptr< const Acts::TrapezoidVolumeBounds >
 

Public Member Functions

 chamberLocation (const Amg::Vector3D &origin, const MuonReadoutElement *reEle, BoundPtr_t bounds)
 Standard constructor taking the position of the readout element inside the sector frame, the pointer to the readout element itself and the volume bounds enclosing the element volume. More...
 
 chamberLocation (const chamberLocation &other)=default
 Copy constructor. More...
 
 chamberLocation (chamberLocation &&other)=default
 Move constructor. More...
 
chamberLocationoperator= (const chamberLocation &other)=default
 Copy assignment. More...
 
chamberLocationoperator= (chamberLocation &&other)=default
 Move assignment. More...
 
bool insideYZ (const Amg::Vector3D &pos) const
 Returns whether the external position is inside the boundaries in the y-z plane. More...
 
double minY () const
 Returns the minimum y covered by the chamber location. More...
 
double maxY () const
 Returns the maximum u covered by the chamber location. More...
 
double minZ () const
 Returns the minimum y covered by the chamber location. More...
 
double maxZ () const
 Returns the maximum u covered by the chamber location. More...
 
double width (const double y0) const
 Calculate the strip / tube length at a given position in the y-z plane. More...
 
const MuonReadoutElementreadoutEle () const
 Returns the poter to the associate readout element
More...
 
const BoundPtr_tbounds () const
 Returns the pointer to the associate bounds. More...
 
const Amg::Vector3Dlocation () const
 Returns the location. More...
 

Private Attributes

Amg::Vector3D m_origin {Amg::Vector3D::Zero()}
 Origin vector of the readout element inside the spectrometer frame. More...
 
const MuonReadoutElementm_reEle {nullptr}
 Associated readout element. More...
 
BoundPtr_t m_bounds {}
 Pointer to the associated bounds. More...
 

Detailed Description

: Helper struct for fast approximate navigation.

Maps regions instrumented by chambers in the y-z frame. Used in pattern recognition.

Definition at line 48 of file SpectrometerSector.h.

Member Typedef Documentation

◆ BoundPtr_t

using MuonGMR4::SpectrometerSector::chamberLocation::BoundPtr_t = std::shared_ptr<const Acts::TrapezoidVolumeBounds>

Definition at line 51 of file SpectrometerSector.h.

Constructor & Destructor Documentation

◆ chamberLocation() [1/3]

MuonGMR4::SpectrometerSector::chamberLocation::chamberLocation ( const Amg::Vector3D origin,
const MuonReadoutElement reEle,
BoundPtr_t  bounds 
)
inline

Standard constructor taking the position of the readout element inside the sector frame, the pointer to the readout element itself and the volume bounds enclosing the element volume.

Parameters
originPosition of the readout element centre expressed in the chamber frame
reElePointer to the readout element of interest
boundsPointer to the bounds of interest.

Definition at line 58 of file SpectrometerSector.h.

60  :
61  m_origin{origin}, m_reEle{reEle}, m_bounds{std::move(bounds)}{}

◆ chamberLocation() [2/3]

MuonGMR4::SpectrometerSector::chamberLocation::chamberLocation ( const chamberLocation other)
default

Copy constructor.

◆ chamberLocation() [3/3]

MuonGMR4::SpectrometerSector::chamberLocation::chamberLocation ( chamberLocation &&  other)
default

Move constructor.

Member Function Documentation

◆ bounds()

const BoundPtr_t& MuonGMR4::SpectrometerSector::chamberLocation::bounds ( ) const
inline

Returns the pointer to the associate bounds.

Definition at line 94 of file SpectrometerSector.h.

94 { return m_bounds; }

◆ insideYZ()

bool MuonGMR4::SpectrometerSector::chamberLocation::insideYZ ( const Amg::Vector3D pos) const
inline

Returns whether the external position is inside the boundaries in the y-z plane.

Parameters
posPosition to check

Definition at line 73 of file SpectrometerSector.h.

73  {
74  return minY() <= pos.y() && maxY() >= pos.y() &&
75  minZ() <= pos.z() && maxZ() >= pos.z();
76  }

◆ location()

const Amg::Vector3D& MuonGMR4::SpectrometerSector::chamberLocation::location ( ) const
inline

Returns the location.

Definition at line 96 of file SpectrometerSector.h.

96 { return m_origin; }

◆ maxY()

double MuonGMR4::SpectrometerSector::chamberLocation::maxY ( ) const
inline

Returns the maximum u covered by the chamber location.

Definition at line 80 of file SpectrometerSector.h.

80 { return m_origin.y() + m_bounds->get(eHalfLengthY); }

◆ maxZ()

double MuonGMR4::SpectrometerSector::chamberLocation::maxZ ( ) const
inline

Returns the maximum u covered by the chamber location.

Definition at line 84 of file SpectrometerSector.h.

84 { return m_origin.z() + m_bounds->get(eHalfLengthZ); }

◆ minY()

double MuonGMR4::SpectrometerSector::chamberLocation::minY ( ) const
inline

Returns the minimum y covered by the chamber location.

Definition at line 78 of file SpectrometerSector.h.

78 { return m_origin.y() - m_bounds->get(eHalfLengthY); }

◆ minZ()

double MuonGMR4::SpectrometerSector::chamberLocation::minZ ( ) const
inline

Returns the minimum y covered by the chamber location.

Definition at line 82 of file SpectrometerSector.h.

82 { return m_origin.z() - m_bounds->get(eHalfLengthZ); }

◆ operator=() [1/2]

chamberLocation& MuonGMR4::SpectrometerSector::chamberLocation::operator= ( chamberLocation &&  other)
default

Move assignment.

◆ operator=() [2/2]

chamberLocation& MuonGMR4::SpectrometerSector::chamberLocation::operator= ( const chamberLocation other)
default

Copy assignment.

◆ readoutEle()

const MuonReadoutElement* MuonGMR4::SpectrometerSector::chamberLocation::readoutEle ( ) const
inline

Returns the poter to the associate readout element

Definition at line 92 of file SpectrometerSector.h.

92 { return m_reEle; }

◆ width()

double MuonGMR4::SpectrometerSector::chamberLocation::width ( const double  y0) const
inline

Calculate the strip / tube length at a given position in the y-z plane.

Definition at line 86 of file SpectrometerSector.h.

86  {
87  const double tanPhiHalf = 0.5*(m_bounds->get(eHalfLengthXposY) - m_bounds->get(eHalfLengthXnegY))
88  / m_bounds->get(eHalfLengthY);
89  return m_bounds->get(eHalfLengthXnegY) + tanPhiHalf * (y0 - minY());
90  }

Member Data Documentation

◆ m_bounds

BoundPtr_t MuonGMR4::SpectrometerSector::chamberLocation::m_bounds {}
private

Pointer to the associated bounds.

Definition at line 103 of file SpectrometerSector.h.

◆ m_origin

Amg::Vector3D MuonGMR4::SpectrometerSector::chamberLocation::m_origin {Amg::Vector3D::Zero()}
private

Origin vector of the readout element inside the spectrometer frame.

Definition at line 99 of file SpectrometerSector.h.

◆ m_reEle

const MuonReadoutElement* MuonGMR4::SpectrometerSector::chamberLocation::m_reEle {nullptr}
private

Associated readout element.

Definition at line 101 of file SpectrometerSector.h.


The documentation for this struct was generated from the following file:
MuonGMR4::SpectrometerSector::chamberLocation::bounds
const BoundPtr_t & bounds() const
Returns the pointer to the associate bounds.
Definition: SpectrometerSector.h:94
MuonGMR4::SpectrometerSector::chamberLocation::m_origin
Amg::Vector3D m_origin
Origin vector of the readout element inside the spectrometer frame.
Definition: SpectrometerSector.h:99
MuonGMR4::SpectrometerSector::chamberLocation::m_reEle
const MuonReadoutElement * m_reEle
Associated readout element.
Definition: SpectrometerSector.h:101
MuonGMR4::SpectrometerSector::chamberLocation::minY
double minY() const
Returns the minimum y covered by the chamber location.
Definition: SpectrometerSector.h:78
MuonGMR4::SpectrometerSector::chamberLocation::maxY
double maxY() const
Returns the maximum u covered by the chamber location.
Definition: SpectrometerSector.h:80
MuonR4::SegmentFit::ParamDefs::y0
@ y0
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:16
MuonGMR4::SpectrometerSector::chamberLocation::maxZ
double maxZ() const
Returns the maximum u covered by the chamber location.
Definition: SpectrometerSector.h:84
MuonGMR4::SpectrometerSector::chamberLocation::m_bounds
BoundPtr_t m_bounds
Pointer to the associated bounds.
Definition: SpectrometerSector.h:103
MuonGMR4::SpectrometerSector::chamberLocation::minZ
double minZ() const
Returns the minimum y covered by the chamber location.
Definition: SpectrometerSector.h:82