ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::BoundarySurface< Tvol > Class Template Referenceabstract

Description of a BoundarySurface inside the tracking realm, it extends the Surface description to make a surface being a boundary of a Trk::Volume, Trk::TrackingVolume or a Trk::MagneticFieldVolume. More...

#include <BoundarySurface.h>

Inheritance diagram for Trk::BoundarySurface< Tvol >:
Collaboration diagram for Trk::BoundarySurface< Tvol >:

Public Member Functions

 BoundarySurface ()=default
 Default Constructor - needed for pool and inherited classes.
 BoundarySurface (const Tvol *inside, const Tvol *outside)
 Constructor for a Boundary with exact two Volumes attached to it.
 BoundarySurface (std::shared_ptr< const VolumeArray > insideArray, std::shared_ptr< const VolumeArray > outsideArray)
 Constructor for a Boundary with exact two Volumes attached to it.
virtual const Tvol * attachedVolume (const TrackParameters &parms, PropDirection dir) const =0
 Get the next Volume depending on the TrackParameters and the requested direction.
virtual const Tvol * attachedVolume (const Amg::Vector3D &pos, const Amg::Vector3D &mom, PropDirection dir) const =0
 Get the next Volume depending on GlobalPosition, GlobalMomentum, dir on the TrackParameters and the requested direction.
template<class T>
bool onBoundary (const T &pars) const
 templated onBoundary method
virtual const SurfacesurfaceRepresentation () const =0
 The Surface Representation of this.
virtual SurfacesurfaceRepresentation ()=0
virtual ~BoundarySurface ()
 Virtual Destructor.
void debugInfo (MsgStream &msg) const
 output debug information
Tvol const * insideVolume () const
 getters/setters for inside/outside Volume
void setInsideVolume (const Tvol *vol)
Tvol const * outsideVolume () const
void setOutsideVolume (const Tvol *vol)
const VolumeArrayinsideVolumeArray () const
 getters/setters for inside/outside Volume arrays
void setInsideVolumeArray (std::shared_ptr< const VolumeArray > volArray)
const VolumeArrayoutsideVolumeArray () const
void setOutsideVolumeArray (std::shared_ptr< const VolumeArray > volArray)

Protected Attributes

const Tvol * m_insideVolume {}
const Tvol * m_outsideVolume {}
std::shared_ptr< const VolumeArraym_insideVolumeArray {}
std::shared_ptr< const VolumeArraym_outsideVolumeArray {}

Private Types

typedef BinnedArray< Tvol > VolumeArray
 typedef the BinnedArray

Detailed Description

template<class Tvol>
class Trk::BoundarySurface< Tvol >

Description of a BoundarySurface inside the tracking realm, it extends the Surface description to make a surface being a boundary of a Trk::Volume, Trk::TrackingVolume or a Trk::MagneticFieldVolume.

A Trk::BoundarySurface can have an inside Volume and an outside Volume, resp. a Trk::BinnedArray for inside or outside direction.

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

Definition at line 43 of file BoundarySurface.h.

Member Typedef Documentation

◆ VolumeArray

template<class Tvol>
typedef BinnedArray<Tvol> Trk::BoundarySurface< Tvol >::VolumeArray
private

typedef the BinnedArray

Definition at line 45 of file BoundarySurface.h.

Constructor & Destructor Documentation

◆ BoundarySurface() [1/3]

template<class Tvol>
Trk::BoundarySurface< Tvol >::BoundarySurface ( )
default

Default Constructor - needed for pool and inherited classes.

◆ BoundarySurface() [2/3]

template<class Tvol>
Trk::BoundarySurface< Tvol >::BoundarySurface ( const Tvol * inside,
const Tvol * outside )
inline

Constructor for a Boundary with exact two Volumes attached to it.

Definition at line 51 of file BoundarySurface.h.

Description of a BoundarySurface inside the tracking realm, it extends the Surface description to mak...
const Tvol * m_insideVolume
std::shared_ptr< const VolumeArray > m_insideVolumeArray
const Tvol * m_outsideVolume
std::shared_ptr< const VolumeArray > m_outsideVolumeArray

◆ BoundarySurface() [3/3]

template<class Tvol>
Trk::BoundarySurface< Tvol >::BoundarySurface ( std::shared_ptr< const VolumeArray > insideArray,
std::shared_ptr< const VolumeArray > outsideArray )
inline

Constructor for a Boundary with exact two Volumes attached to it.

Definition at line 58 of file BoundarySurface.h.

◆ ~BoundarySurface()

template<class Tvol>
virtual Trk::BoundarySurface< Tvol >::~BoundarySurface ( )
inlinevirtual

Virtual Destructor.

Definition at line 88 of file BoundarySurface.h.

88{}

Member Function Documentation

◆ attachedVolume() [1/2]

template<class Tvol>
virtual const Tvol * Trk::BoundarySurface< Tvol >::attachedVolume ( const Amg::Vector3D & pos,
const Amg::Vector3D & mom,
PropDirection dir ) const
pure virtual

◆ attachedVolume() [2/2]

template<class Tvol>
virtual const Tvol * Trk::BoundarySurface< Tvol >::attachedVolume ( const TrackParameters & parms,
PropDirection dir ) const
pure virtual

◆ debugInfo()

template<class Tvol>
void Trk::BoundarySurface< Tvol >::debugInfo ( MsgStream & msg) const
inline

output debug information

Definition at line 133 of file BoundarySurface.h.

133 {
134 msg << "BoundarySurface debug information: " << std::endl;
135 msg << " -> pointer to insideVolume = " << m_insideVolume
136 << std::endl;
137 msg << " -> pointer to insideVolumeArray = "
138 << m_insideVolumeArray.get() << std::endl;
139 msg << " -> pointer to outsideVolume = " << m_outsideVolume
140 << std::endl;
141 msg << " -> pointer to outsideVolumeArray = "
142 << m_outsideVolumeArray.get() << endmsg;
143}

◆ insideVolume()

template<class Tvol>
Tvol const * Trk::BoundarySurface< Tvol >::insideVolume ( ) const
inline

getters/setters for inside/outside Volume

Definition at line 94 of file BoundarySurface.h.

94 {
95 return m_insideVolume;
96 }

◆ insideVolumeArray()

template<class Tvol>
const VolumeArray * Trk::BoundarySurface< Tvol >::insideVolumeArray ( ) const
inline

getters/setters for inside/outside Volume arrays

Definition at line 109 of file BoundarySurface.h.

109 {
110 return m_insideVolumeArray.get();
111 }

◆ onBoundary()

template<class Tvol>
template<class T>
bool Trk::BoundarySurface< Tvol >::onBoundary ( const T & pars) const
inline

templated onBoundary method

Definition at line 79 of file BoundarySurface.h.

79 {
81 }
virtual const Surface & surfaceRepresentation() const =0
The Surface Representation of this.
bool onSurface(const T &parameters, const BoundaryCheck &bchk=BoundaryCheck(true)) const
The templated Parameters OnSurface method - checks on surface pointer first.

◆ outsideVolume()

template<class Tvol>
Tvol const * Trk::BoundarySurface< Tvol >::outsideVolume ( ) const
inline

Definition at line 101 of file BoundarySurface.h.

101 {
102 return m_outsideVolume;
103 }

◆ outsideVolumeArray()

template<class Tvol>
const VolumeArray * Trk::BoundarySurface< Tvol >::outsideVolumeArray ( ) const
inline

Definition at line 115 of file BoundarySurface.h.

115 {
116 return m_outsideVolumeArray.get();
117 }

◆ setInsideVolume()

template<class Tvol>
void Trk::BoundarySurface< Tvol >::setInsideVolume ( const Tvol * vol)
inline

Definition at line 97 of file BoundarySurface.h.

97 {
99 }

◆ setInsideVolumeArray()

template<class Tvol>
void Trk::BoundarySurface< Tvol >::setInsideVolumeArray ( std::shared_ptr< const VolumeArray > volArray)
inline

Definition at line 112 of file BoundarySurface.h.

112 {
114 }

◆ setOutsideVolume()

template<class Tvol>
void Trk::BoundarySurface< Tvol >::setOutsideVolume ( const Tvol * vol)
inline

Definition at line 104 of file BoundarySurface.h.

104 {
106 }

◆ setOutsideVolumeArray()

template<class Tvol>
void Trk::BoundarySurface< Tvol >::setOutsideVolumeArray ( std::shared_ptr< const VolumeArray > volArray)
inline

Definition at line 118 of file BoundarySurface.h.

◆ surfaceRepresentation() [1/2]

template<class Tvol>
virtual const Surface & Trk::BoundarySurface< Tvol >::surfaceRepresentation ( ) const
pure virtual

◆ surfaceRepresentation() [2/2]

Member Data Documentation

◆ m_insideVolume

template<class Tvol>
const Tvol* Trk::BoundarySurface< Tvol >::m_insideVolume {}
protected

Definition at line 124 of file BoundarySurface.h.

124{};

◆ m_insideVolumeArray

template<class Tvol>
std::shared_ptr<const VolumeArray> Trk::BoundarySurface< Tvol >::m_insideVolumeArray {}
protected

Definition at line 127 of file BoundarySurface.h.

127{};

◆ m_outsideVolume

template<class Tvol>
const Tvol* Trk::BoundarySurface< Tvol >::m_outsideVolume {}
protected

Definition at line 125 of file BoundarySurface.h.

125{};

◆ m_outsideVolumeArray

template<class Tvol>
std::shared_ptr<const VolumeArray> Trk::BoundarySurface< Tvol >::m_outsideVolumeArray {}
protected

Definition at line 128 of file BoundarySurface.h.

128{};

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