ATLAS Offline Software
|
#include <BoundarySurface.h>
Public Member Functions | |
BoundarySurface () | |
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 (SharedObject< VolumeArray > insideArray, SharedObject< 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 Surface & | surfaceRepresentation () const =0 |
The Surface Representation of this. More... | |
virtual Surface & | surfaceRepresentation ()=0 |
virtual | ~BoundarySurface () |
Virtual Destructor. More... | |
void | debugInfo (MsgStream &msg) const |
output debug information More... | |
Tvol const * | insideVolume () const |
getters/setters for inside/outside Volume More... | |
void | setInsideVolume (const Tvol *) |
Tvol const * | outsideVolume () const |
void | setOutsideVolume (const Tvol *) |
const SharedObject< VolumeArray > & | insideVolumeArray () const |
getters/setters for inside/outside Volume arrays More... | |
void | setInsideVolumeArray (const SharedObject< VolumeArray > &) |
const SharedObject< VolumeArray > & | outsideVolumeArray () const |
void | setOutsideVolumeArray (const SharedObject< VolumeArray > &) |
Protected Attributes | |
const Tvol * | m_insideVolume |
const Tvol * | m_outsideVolume |
SharedObject< VolumeArray > | m_insideVolumeArray |
SharedObject< VolumeArray > | m_outsideVolumeArray |
Private Types | |
typedef BinnedArray< Tvol > | VolumeArray |
typedef the BinnedArray More... | |
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.
To avoid dynamic_cast operations the BoundarySurface class is realized as a templated class, with the Volume type as the template argument.
A Trk::BoundarySurface can have an inside Volume and an outside Volume, resp. a Trk::BinnedArray for inside or outside direction.
The GeometryBuilder as defined in the TrkDetDescrTools Package is declared to be friend, so that it can glue Volumes together by sharing the same Boundary Surface.
Definition at line 50 of file BoundarySurface.h.
|
private |
typedef the BinnedArray
Definition at line 52 of file BoundarySurface.h.
|
inline |
Default Constructor - needed for pool and inherited classes.
Definition at line 55 of file BoundarySurface.h.
|
inline |
Constructor for a Boundary with exact two Volumes attached to it.
Definition at line 62 of file BoundarySurface.h.
|
inline |
Constructor for a Boundary with exact two Volumes attached to it.
Definition at line 69 of file BoundarySurface.h.
|
inlinevirtual |
|
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 >.
|
pure virtual |
Get the next Volume depending 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 >.
|
inline |
Tvol const * Trk::BoundarySurface< Tvol >::insideVolume |
getters/setters for inside/outside Volume
Definition at line 125 of file BoundarySurface.h.
const SharedObject< BinnedArray< Tvol > > & Trk::BoundarySurface< Tvol >::insideVolumeArray |
getters/setters for inside/outside Volume arrays
Definition at line 144 of file BoundarySurface.h.
|
inline |
templated onBoundary method
Definition at line 90 of file BoundarySurface.h.
Tvol const * Trk::BoundarySurface< Tvol >::outsideVolume |
Definition at line 134 of file BoundarySurface.h.
const SharedObject< BinnedArray< Tvol > > & Trk::BoundarySurface< Tvol >::outsideVolumeArray |
Definition at line 155 of file BoundarySurface.h.
void Trk::BoundarySurface< Tvol >::setInsideVolume | ( | const Tvol * | vol | ) |
Definition at line 129 of file BoundarySurface.h.
void Trk::BoundarySurface< Tvol >::setInsideVolumeArray | ( | const SharedObject< VolumeArray > & | ) |
Definition at line 148 of file BoundarySurface.h.
void Trk::BoundarySurface< Tvol >::setOutsideVolume | ( | const Tvol * | vol | ) |
Definition at line 138 of file BoundarySurface.h.
void Trk::BoundarySurface< Tvol >::setOutsideVolumeArray | ( | const SharedObject< VolumeArray > & | ) |
Definition at line 159 of file BoundarySurface.h.
|
pure virtual |
The Surface Representation of this.
Implemented in Trk::BoundarySubtractedCylinderSurface< Tvol >, Trk::BoundarySubtractedPlaneSurface< Tvol >, Trk::BoundaryDiscSurface< Tvol >, Trk::BoundaryCylinderSurface< Tvol >, and Trk::BoundaryPlaneSurface< Tvol >.
|
pure virtual |
|
protected |
Definition at line 118 of file BoundarySurface.h.
|
protected |
Definition at line 120 of file BoundarySurface.h.
|
protected |
Definition at line 119 of file BoundarySurface.h.
|
protected |
Definition at line 121 of file BoundarySurface.h.