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 ThreeObjectsAccessorcylinderAccessor (CylinderAccessorType cat) const
 Return the accessor for the cylindrical case.
const FourObjectsAccessortubeAccessor (TubeAccessorType tat) const
 Return the accessor for the tube case.
const FiveObjectsAccessorsectoralCylinderAccessor (SectoralCylinderAccessorType scat) const
 Return the accessor for the sectoral cylinciracl case.
const SixObjectsAccessorsectoralTubeAccessor (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.

110 {
112}

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