ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::CylinderVolumeBoundaryAccessors Class Reference

Different Accessor types for a cylindrical Volume, if returs accessors to the volume boundary surfaces to guarantee "best-guess" navigation, and follow-ups. More...

#include <CylinderVolumeBoundaryAccessors.h>

Collaboration diagram for Trk::CylinderVolumeBoundaryAccessors:

Public Member Functions

 CylinderVolumeBoundaryAccessors ()
 Default Constructor.
 ~CylinderVolumeBoundaryAccessors ()=default
 Default Constructor.
const ThreeObjectsAccessor & cylinderAccessor (CylinderAccessorType cat) const
 Return the accessor for the cylindrical case.
const FourObjectsAccessor & tubeAccessor (TubeAccessorType tat) const
 Return the accessor for the tube case.
const FiveObjectsAccessor & sectoralCylinderAccessor (SectoralCylinderAccessorType scat) const
 Return the accessor for the sectoral cylinciracl case.
const SixObjectsAccessor & sectoralTubeAccessor (SectoralTubeAccessorType stat) const
 Return the accessor for the sectoral tube case.

Private Attributes

std::array< ThreeObjectsAccessor, 4 > m_cylinderAccessors {}
std::array< FourObjectsAccessor, 12 > m_tubeAccessors
std::array< FiveObjectsAccessor, 1 > m_sectoralCylinderAccessors {}
std::array< SixObjectsAccessor, 1 > m_sectoralTubeAccessors {}

Detailed Description

Different Accessor types for a cylindrical Volume, if returs accessors to the volume boundary surfaces to guarantee "best-guess" navigation, and follow-ups.

Author
Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

Definition at line 62 of file CylinderVolumeBoundaryAccessors.h.

Constructor & Destructor Documentation

◆ CylinderVolumeBoundaryAccessors()

Trk::CylinderVolumeBoundaryAccessors::CylinderVolumeBoundaryAccessors ( )

Default Constructor.

Definition at line 14 of file CylinderVolumeBoundaryAccessors.cxx.

15{
16 //-------------------------------------------------------------
17 // the cylinder case
18 // CylinderZincrease = 0
21 };
22 // CylinderZincrease = 1
25 };
26 // CylinderZincrease = 2
29 };
30 // CylinderZincrease = 3
33 };
34 //-------------------------------------------------------------
35 // the tube case
36 //(A) non-inverse cases
37 // RincreaseZincrease = 0
43 false };
44 // RincreaseZdecrease = 1
50 false };
51 // ZincreaseRincrease = 2
57 false };
58 // ZdecreaseRincrease = 3
64 false };
65 // RdecreaseZincrease = 4
71 false };
72 // RdecreaseZdecrease = 5
78 false };
79 // ZincreaseRdecrease = 6
85 false };
86 // ZdecreaseRdecrease = 7
92 false };
93 //(B) inverse cases
94 // TubeOutsideRminRdecrease = 8
100 true };
101 // TubeOutsideRmaxRincrease = 9
107 true };
108 // TubeOutsideZminZdecrease = Trk::positiveFaceXYTrk::negativeFaceXY
114 true };
115 // TubeOutsideZmaxZincrease = Trk::positiveFaceXYTrk::positiveFaceXY
121 true };
122
123 //-------------------------------------------------------------
124 // the sectoral cylinder case
130 4 };
131 //-------------------------------------------------------------
132 // the sectoral tube case
138 4,
139 5 };
140 //-------------------------------------------------------------
141}
std::array< FourObjectsAccessor, 12 > m_tubeAccessors
std::array< ThreeObjectsAccessor, 4 > m_cylinderAccessors
std::array< FiveObjectsAccessor, 1 > m_sectoralCylinderAccessors
std::array< SixObjectsAccessor, 1 > m_sectoralTubeAccessors
std::array< ObjectAccessor::value_type, 5 > FiveObjectsAccessor
std::pair< std::array< ObjectAccessor::value_type, 4 >, bool > FourObjectsAccessor
std::array< ObjectAccessor::value_type, 3 > ThreeObjectsAccessor
@ CylinderZincrease
Cylinder hit, then pos.
@ CylinderZdecrease
Cylinder hit, the neg.
@ TubeOutsideZminZdecrease
Accessor type [ 0,3,2,1 ] - inverse case.
@ TubeRdecreaseZdecrease
Accessor type [ 3,0,1,2 ].
@ TubeOutsideZmaxZincrease
Accessor type [ 1,3,2,0 ] - inverse case.
@ TubeZincreaseRincrease
Accessor type [ 1,2,0,3 ].
@ TubeRincreaseZdecrease
Accessor type [ 2,0,1,3 ].
@ TubeOutsideRminRdecrease
Accessor type [ 3,1,0,2] - inverse case.
@ TubeZdecreaseRdecrease
Accessor type [ 0,3,1,2 ].
@ TubeRincreaseZincrease
Accessor type [ 2,1,0,3 ].
@ TubeZincreaseRdecrease
Accessor type [ 1,3,0,2 ].
@ TubeRdecreaseZincrease
Accessor type [ 3,1,0,2 ].
@ TubeOutsideRmaxRincrease
Accessor type [ 2,1,0,3 ] - inverse case.
@ TubeZdecreaseRincrease
Accessor type [ 0,2,1,3 ].
std::array< ObjectAccessor::value_type, 6 > SixObjectsAccessor

◆ ~CylinderVolumeBoundaryAccessors()

Trk::CylinderVolumeBoundaryAccessors::~CylinderVolumeBoundaryAccessors ( )
default

Default Constructor.

Member Function Documentation

◆ cylinderAccessor()

const ThreeObjectsAccessor & Trk::CylinderVolumeBoundaryAccessors::cylinderAccessor ( CylinderAccessorType cat) const
inline

Return the accessor for the cylindrical case.

Definition at line 92 of file CylinderVolumeBoundaryAccessors.h.

93 {
94 return m_cylinderAccessors[cat];
95}

◆ sectoralCylinderAccessor()

const FiveObjectsAccessor & Trk::CylinderVolumeBoundaryAccessors::sectoralCylinderAccessor ( SectoralCylinderAccessorType scat) const
inline

Return the accessor for the sectoral cylinciracl case.

Definition at line 103 of file CylinderVolumeBoundaryAccessors.h.

104 {
105 return m_sectoralCylinderAccessors[scat];
106}

◆ sectoralTubeAccessor()

const SixObjectsAccessor & Trk::CylinderVolumeBoundaryAccessors::sectoralTubeAccessor ( SectoralTubeAccessorType stat) const
inline

Return the accessor for the sectoral tube case.

Definition at line 109 of file CylinderVolumeBoundaryAccessors.h.

◆ tubeAccessor()

const FourObjectsAccessor & Trk::CylinderVolumeBoundaryAccessors::tubeAccessor ( TubeAccessorType tat) const
inline

Return the accessor for the tube case.

Definition at line 97 of file CylinderVolumeBoundaryAccessors.h.

98 {
99 return m_tubeAccessors[tat];
100}

Member Data Documentation

◆ m_cylinderAccessors

std::array<ThreeObjectsAccessor, 4> Trk::CylinderVolumeBoundaryAccessors::m_cylinderAccessors {}
private

Definition at line 85 of file CylinderVolumeBoundaryAccessors.h.

85{};

◆ m_sectoralCylinderAccessors

std::array<FiveObjectsAccessor, 1> Trk::CylinderVolumeBoundaryAccessors::m_sectoralCylinderAccessors {}
private

Definition at line 87 of file CylinderVolumeBoundaryAccessors.h.

87{};

◆ m_sectoralTubeAccessors

std::array<SixObjectsAccessor, 1> Trk::CylinderVolumeBoundaryAccessors::m_sectoralTubeAccessors {}
private

Definition at line 88 of file CylinderVolumeBoundaryAccessors.h.

88{};

◆ m_tubeAccessors

std::array<FourObjectsAccessor, 12> Trk::CylinderVolumeBoundaryAccessors::m_tubeAccessors
private

Definition at line 86 of file CylinderVolumeBoundaryAccessors.h.


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