Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Protected Attributes | Private Types | List of all members
Trk::BoundarySurface< Tvol > Class Template Referenceabstract

#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. More...
 
 BoundarySurface (const Tvol *inside, const Tvol *outside)
 Constructor for a Boundary with exact two Volumes attached to it. More...
 
 BoundarySurface (std::shared_ptr< const VolumeArray > insideArray, std::shared_ptr< const VolumeArray > outsideArray)
 Constructor for a Boundary with exact two Volumes attached to it. More...
 
virtual const Tvol * attachedVolume (const TrackParameters &parms, PropDirection dir) const =0
 Get the next Volume depending on the TrackParameters and the requested direction. More...
 
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. More...
 
template<class T >
bool onBoundary (const T &pars) const
 templated onBoundary method More...
 
virtual const SurfacesurfaceRepresentation () const =0
 The Surface Representation of this. More...
 
virtual SurfacesurfaceRepresentation ()=0
 
virtual ~BoundarySurface ()
 Virtual Destructor. More...
 
void debugInfo (MsgStream &msg) const
 output debug information More...
 
Tvol constinsideVolume () const
 getters/setters for inside/outside Volume More...
 
void setInsideVolume (const Tvol *vol)
 
Tvol constoutsideVolume () const
 
void setOutsideVolume (const Tvol *vol)
 
const VolumeArrayinsideVolumeArray () const
 getters/setters for inside/outside Volume arrays More...
 
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 More...
 

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.

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

60  : m_insideVolume(),
62  m_insideVolumeArray(std::move(insideArray)),
63  m_outsideVolumeArray(std::move(outsideArray)) {}

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

Get the next Volume depending on GlobalPosition, GlobalMomentum, dir on the TrackParameters and the requested direction.

Implemented in Trk::BoundarySubtractedCylinderSurface< Tvol >, Trk::BoundarySubtractedPlaneSurface< Tvol >, Trk::BoundaryDiscSurface< Tvol >, Trk::BoundaryCylinderSurface< Tvol >, and Trk::BoundaryPlaneSurface< Tvol >.

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

◆ 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  {
98  m_insideVolume = vol;
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  {
113  m_insideVolumeArray = std::move(volArray);
114  }

◆ setOutsideVolume()

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

Definition at line 104 of file BoundarySurface.h.

104  {
105  m_outsideVolume = vol;
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.

118  {
119  m_outsideVolumeArray = std::move(volArray);
120  }

◆ surfaceRepresentation() [1/2]

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

◆ surfaceRepresentation() [2/2]

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

Member Data Documentation

◆ m_insideVolume

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

Definition at line 124 of file BoundarySurface.h.

◆ m_insideVolumeArray

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

Definition at line 127 of file BoundarySurface.h.

◆ m_outsideVolume

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

Definition at line 125 of file BoundarySurface.h.

◆ m_outsideVolumeArray

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

Definition at line 128 of file BoundarySurface.h.


The documentation for this class was generated from the following file:
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
Trk::BoundarySurface::surfaceRepresentation
virtual const Surface & surfaceRepresentation() const =0
The Surface Representation of this.
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
Trk::BoundarySurface::m_outsideVolumeArray
std::shared_ptr< const VolumeArray > m_outsideVolumeArray
Definition: BoundarySurface.h:128
Trk::inside
@ inside
Definition: PropDirection.h:29
Trk::Surface::onSurface
bool onSurface(const T &parameters, const BoundaryCheck &bchk=BoundaryCheck(true)) const
The templated Parameters OnSurface method - checks on surface pointer first.
Trk::outside
@ outside
Definition: PropDirection.h:29
Trk::BoundarySurface::m_insideVolumeArray
std::shared_ptr< const VolumeArray > m_insideVolumeArray
Definition: BoundarySurface.h:127
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
Trk::BoundarySurface::m_outsideVolume
const Tvol * m_outsideVolume
Definition: BoundarySurface.h:125
Trk::BoundarySurface::m_insideVolume
const Tvol * m_insideVolume
Definition: BoundarySurface.h:124