9#ifndef TRKVOLUMES_BOUNDARYDISCSURFACE_H
10#define TRKVOLUMES_BOUNDARYDISCSURFACE_H
63 std::shared_ptr<const VolumeArray> outsideArray,
93#include "TrkVolumes/BoundaryDiscSurface.icc"
Binned Array for avoiding map searches/.
virtual ~BoundaryDiscSurface()=default
Virtual Destructor.
virtual const Tvol * attachedVolume(const TrackParameters &parms, PropDirection dir) const override final
Get the next Volume depending on the TrackParameters and the requested direction, gives back 0 if the...
BoundaryDiscSurface(const Tvol *inside, const Tvol *outside, const DiscSurface &dsf)
Constructor for a Boundary with exact two Volumes attached to it.
BoundaryDiscSurface(std::shared_ptr< const VolumeArray > insideArray, std::shared_ptr< const VolumeArray > outsideArray, const DiscSurface &dsf)
Constructor for a Boundary with two VolumeArrays attached to it.
BoundaryDiscSurface(const Tvol *inside, const Tvol *outside, const DiscSurface &dsf, const Amg::Transform3D &tr)
Copy constructor with a shift.
virtual const Surface & surfaceRepresentation() const override final
The Surface Representation of this.
BoundaryDiscSurface & operator=(const BoundaryDiscSurface &vol)=default
Assignment operator.
BoundaryDiscSurface()=default
Default Constructor - needed for pool and inherited classes.
BinnedArray< Tvol > VolumeArray
typedef the BinnedArray
BoundarySurface()=default
Default Constructor - needed for pool and inherited classes.
DiscSurface()
Default Constructor.
Abstract Base Class for tracking surfaces.
Base class for all volumes inside the tracking realm, it defines the interface for inherited Volume c...
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
PropDirection
PropDirection, enum for direction of the propagation.
ParametersBase< TrackParametersDim, Charged > TrackParameters