ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::BevelledCylinderVolumeBoundaryAccessors 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 <BevelledCylinderVolumeBoundaryAccessors.h>

Collaboration diagram for Trk::BevelledCylinderVolumeBoundaryAccessors:

Public Member Functions

 BevelledCylinderVolumeBoundaryAccessors ()
 Default Constructor.
 ~BevelledCylinderVolumeBoundaryAccessors ()=default
 Default Constructor.
const ThreeObjectsAccessorbevelledcylinderAccessor (BevelledCylinderAccessorType cat) const
 Return the accessor for the cylindrical case.
const FourObjectsAccessorbevelledtubeAccessor (BevelledTubeAccessorType tat) const
 Return the accessor for the tube case.
const FiveObjectsAccessorsectoralBevelledCylinderAccessor (SectoralBevelledCylinderAccessorType scat) const
 Return the accessor for the sectoral cylinciracl case.
const SixObjectsAccessorsectoralBevelledTubeAccessor (SectoralBevelledTubeAccessorType stat) const
 Return the accessor for the sectoral tube case.

Private Attributes

std::array< ThreeObjectsAccessor, 4 > m_bevelledcylinderAccessors {}
std::array< FourObjectsAccessor, 12 > m_bevelledtubeAccessors
std::array< FiveObjectsAccessor, 1 > m_sectoralBevelledCylinderAccessors {}
std::array< SixObjectsAccessor, 1 > m_sectoralBevelledTubeAccessors {}

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, marci.nosp@m.n.wo.nosp@m.lter@.nosp@m.cern.nosp@m..ch

Definition at line 68 of file BevelledCylinderVolumeBoundaryAccessors.h.

Constructor & Destructor Documentation

◆ BevelledCylinderVolumeBoundaryAccessors()

Trk::BevelledCylinderVolumeBoundaryAccessors::BevelledCylinderVolumeBoundaryAccessors ( )

Default Constructor.

Definition at line 12 of file BevelledCylinderVolumeBoundaryAccessors.cxx.

14{
15 //-------------------------------------------------------------
16 // the cylinder case
17 // CylinderZincrease = 0
20 // CylinderZincrease = 1
23 // CylinderZincrease = 2
26 // CylinderZincrease = 3
29 //-------------------------------------------------------------
30 // the tube case
31 //(A) non-inverse cases
32 // RincreaseZincrease = 0
34 Trk::FourObjectsAccessor{ { 2, 1, 0, 3 }, false };
35 // RincreaseZdecrease = 1
37 Trk::FourObjectsAccessor{ { 2, 0, 1, 3 }, false };
38 // ZincreaseRincrease = 2
40 Trk::FourObjectsAccessor{ { 1, 2, 0, 3 }, false };
41 // ZdecreaseRincrease = 3
43 Trk::FourObjectsAccessor{ { 0, 2, 1, 3 }, false };
44 // RdecreaseZincrease = 4
46 Trk::FourObjectsAccessor{ { 3, 1, 0, 2 }, false };
47 // RdecreaseZdecrease = 5
49 Trk::FourObjectsAccessor{ { 3, 0, 1, 2 }, false };
50 // ZincreaseRdecrease = 6
52 Trk::FourObjectsAccessor{ { 1, 3, 0, 2 }, false };
53 // ZdecreaseRdecrease = 7
55 Trk::FourObjectsAccessor{ { 0, 3, 1, 2 }, false };
56 //(B) inverse cases
57 // TubeOutsideRminRdecrease = 8
59 Trk::FourObjectsAccessor{ { 3, 1, 0, 2 }, true };
60 // TubeOutsideRmaxRincrease = 9
62 Trk::FourObjectsAccessor{ { 2, 1, 0, 3 }, true };
63 // TubeOutsideZminZdecrease = 10
65 Trk::FourObjectsAccessor{ { 0, 3, 2, 1 }, true };
66 // TubeOutsideZmaxZincrease = 11
68 Trk::FourObjectsAccessor{ { 1, 3, 2, 0 }, true };
69
70 //-------------------------------------------------------------
71 // the sectoral cylinder case
73 Trk::FiveObjectsAccessor{ 0, 1, 2, 3, 4 };
74 //-------------------------------------------------------------
75 // the sectoral tube case
77 Trk::SixObjectsAccessor{ 0, 1, 2, 3, 4, 5 };
78 //-------------------------------------------------------------
79}
std::array< ObjectAccessor::value_type, 5 > FiveObjectsAccessor
std::pair< std::array< ObjectAccessor::value_type, 4 >, bool > FourObjectsAccessor
std::array< ObjectAccessor::value_type, 3 > ThreeObjectsAccessor
std::array< ObjectAccessor::value_type, 6 > SixObjectsAccessor
@ BevelledCylinderZincrease
Cylinder hit, then pos.
@ BevelledCylinderZdecrease
Cylinder hit, the neg.
@ BevelledTubeOutsideRminRdecrease
Accessor type [ 3,1,0,2] - inverse case.
@ BevelledTubeOutsideZmaxZincrease
Accessor type [ 1,3,2,0 ] - inverse case.
@ BevelledTubeRincreaseZincrease
Accessor type [ 2,1,0,3 ].
@ BevelledTubeZincreaseRdecrease
Accessor type [ 1,3,0,2 ].
@ BevelledTubeRdecreaseZincrease
Accessor type [ 3,1,0,2 ].
@ BevelledTubeZdecreaseRdecrease
Accessor type [ 0,3,1,2 ].
@ BevelledTubeRdecreaseZdecrease
Accessor type [ 3,0,1,2 ].
@ BevelledTubeRincreaseZdecrease
Accessor type [ 2,0,1,3 ].
@ BevelledTubeZincreaseRincrease
Accessor type [ 1,2,0,3 ].
@ BevelledTubeOutsideZminZdecrease
Accessor type [ 0,3,2,1 ] - inverse case.
@ BevelledTubeZdecreaseRincrease
Accessor type [ 0,2,1,3 ].
@ BevelledTubeOutsideRmaxRincrease
Accessor type [ 2,1,0,3 ] - inverse case.

◆ ~BevelledCylinderVolumeBoundaryAccessors()

Trk::BevelledCylinderVolumeBoundaryAccessors::~BevelledCylinderVolumeBoundaryAccessors ( )
default

Default Constructor.

Member Function Documentation

◆ bevelledcylinderAccessor()

const ThreeObjectsAccessor & Trk::BevelledCylinderVolumeBoundaryAccessors::bevelledcylinderAccessor ( BevelledCylinderAccessorType cat) const
inline

Return the accessor for the cylindrical case.

Definition at line 97 of file BevelledCylinderVolumeBoundaryAccessors.h.

98 { return m_bevelledcylinderAccessors[cat]; }

◆ bevelledtubeAccessor()

const FourObjectsAccessor & Trk::BevelledCylinderVolumeBoundaryAccessors::bevelledtubeAccessor ( BevelledTubeAccessorType tat) const
inline

Return the accessor for the tube case.

Definition at line 100 of file BevelledCylinderVolumeBoundaryAccessors.h.

101 { return m_bevelledtubeAccessors[tat]; }

◆ sectoralBevelledCylinderAccessor()

const FiveObjectsAccessor & Trk::BevelledCylinderVolumeBoundaryAccessors::sectoralBevelledCylinderAccessor ( SectoralBevelledCylinderAccessorType scat) const
inline

Return the accessor for the sectoral cylinciracl case.

Definition at line 103 of file BevelledCylinderVolumeBoundaryAccessors.h.

◆ sectoralBevelledTubeAccessor()

const SixObjectsAccessor & Trk::BevelledCylinderVolumeBoundaryAccessors::sectoralBevelledTubeAccessor ( SectoralBevelledTubeAccessorType stat) const
inline

Return the accessor for the sectoral tube case.

Definition at line 106 of file BevelledCylinderVolumeBoundaryAccessors.h.

Member Data Documentation

◆ m_bevelledcylinderAccessors

std::array<ThreeObjectsAccessor,4> Trk::BevelledCylinderVolumeBoundaryAccessors::m_bevelledcylinderAccessors {}
private

Definition at line 90 of file BevelledCylinderVolumeBoundaryAccessors.h.

90{};

◆ m_bevelledtubeAccessors

std::array<FourObjectsAccessor,12> Trk::BevelledCylinderVolumeBoundaryAccessors::m_bevelledtubeAccessors
private

Definition at line 91 of file BevelledCylinderVolumeBoundaryAccessors.h.

◆ m_sectoralBevelledCylinderAccessors

std::array<FiveObjectsAccessor,1> Trk::BevelledCylinderVolumeBoundaryAccessors::m_sectoralBevelledCylinderAccessors {}
private

Definition at line 92 of file BevelledCylinderVolumeBoundaryAccessors.h.

92{};

◆ m_sectoralBevelledTubeAccessors

std::array<SixObjectsAccessor,1> Trk::BevelledCylinderVolumeBoundaryAccessors::m_sectoralBevelledTubeAccessors {}
private

Definition at line 93 of file BevelledCylinderVolumeBoundaryAccessors.h.

93{};

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