Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKVOLUMES_BOUNDARYSURFACE_H
10 #define TRKVOLUMES_BOUNDARYSURFACE_H
20 #include "GaudiKernel/MsgStream.h"
59 std::shared_ptr<const VolumeArray> outsideArray)
132 template <
class Tvol>
134 msg <<
"BoundarySurface debug information: " << std::endl;
135 msg <<
" -> pointer to insideVolume = " << m_insideVolume
137 msg <<
" -> pointer to insideVolumeArray = "
138 << m_insideVolumeArray.get() << std::endl;
139 msg <<
" -> pointer to outsideVolume = " << m_outsideVolume
141 msg <<
" -> pointer to outsideVolumeArray = "
142 << m_outsideVolumeArray.get() <<
endmsg;
147 #endif // TRKVOLUMES_BOUNDARYSURFACE_H
const VolumeArray * insideVolumeArray() const
getters/setters for inside/outside Volume arrays
virtual Surface & surfaceRepresentation()=0
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 ~BoundarySurface()
Virtual Destructor.
Tvol const * outsideVolume() const
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 r...
virtual const Tvol * attachedVolume(const TrackParameters &parms, PropDirection dir) const =0
Get the next Volume depending on the TrackParameters and the requested direction.
BoundarySurface(const Tvol *inside, const Tvol *outside)
Constructor for a Boundary with exact two Volumes attached to it.
BinnedArray< Tvol > VolumeArray
typedef the BinnedArray
bool onBoundary(const T &pars) const
templated onBoundary method
virtual const Surface & surfaceRepresentation() const =0
The Surface Representation of this.
std::shared_ptr< const VolumeArray > m_outsideVolumeArray
BoundarySurface()=default
Default Constructor - needed for pool and inherited classes.
Ensure that the ATLAS eigen extensions are properly loaded.
void setOutsideVolumeArray(std::shared_ptr< const VolumeArray > volArray)
Eigen::Matrix< double, 3, 1 > Vector3D
bool onSurface(const T ¶meters, const BoundaryCheck &bchk=BoundaryCheck(true)) const
The templated Parameters OnSurface method - checks on surface pointer first.
const VolumeArray * outsideVolumeArray() const
Tvol const * insideVolume() const
getters/setters for inside/outside Volume
void setInsideVolume(const Tvol *vol)
void setOutsideVolume(const Tvol *vol)
void debugInfo(MsgStream &msg) const
output debug information
void setInsideVolumeArray(std::shared_ptr< const VolumeArray > volArray)
std::shared_ptr< const VolumeArray > m_insideVolumeArray
Define macros for attributes used to control the static checker.
const Tvol * m_outsideVolume
const Tvol * m_insideVolume