9#ifndef TRKGEOMETRY_CONELAYER_H
10#define TRKGEOMETRY_CONELAYER_H
49 std::shared_ptr<const ConeBounds> cbounds,
52 std::unique_ptr<OverlapDescriptor> od =
nullptr,
59 std::unique_ptr<OverlapDescriptor> od =
nullptr,
65 std::shared_ptr<const ConeBounds> cbounds,
68 std::unique_ptr<OverlapDescriptor> od =
nullptr,
74 std::shared_ptr<const ConeBounds> cbounds,
78 std::unique_ptr<OverlapDescriptor> od =
nullptr,
118 double)
override final
Eigen::Affine3d Transform3D
Bounds for a conical Surface, the opening angle is stored in and always positively defined.
virtual void resizeLayer(const VolumeBounds &, double) override final
Resize the layer to the tracking volume - not (yet) supported for ConeLayer.
virtual double preUpdateMaterialFactor(const Trk::TrackParameters &par, Trk::PropDirection dir) const override final
getting the MaterialProperties back - for pre-update
ConeLayer(const ConeLayer &cla)
Copy constructor of ConeLayer.
virtual double postUpdateMaterialFactor(const Trk::TrackParameters &par, Trk::PropDirection dir) const override final
getting the MaterialProperties back - for post-update
virtual const ConeSurface & surfaceRepresentation() const override final
Transforms the layer into a Surface representation for extrapolation.
ConeLayer & operator=(const ConeLayer &)
Assignment operator for ConeLayers.
virtual void resizeAndRepositionLayer(const VolumeBounds &, const Amg::Vector3D &, double) override final
Resize the layer to the tracking volume - not supported since this an entry layer method.
virtual ~ConeLayer() override
Destructor.
virtual void moveLayer(Amg::Transform3D &shift) override final
move the Layer
ConeLayer()
Default Constructor.
Class for a conical surface in the ATLAS detector.
ConeSurface()
Default Constructor.
This virtual base class encapsulates the logics to build pre/post/full update material for Layer stru...
Layer()=default
Default Constructor.
const SurfaceArray * surfaceArray() const
Return the entire SurfaceArray, returns nullptr if no SurfaceArray.
double thickness() const
Return the Thickness of the Layer.
BaseClass to be overloaded for describing overlaps and next-by elements for the sub-detector implemen...
const Amg::Transform3D & transform() const
Returns HepGeom::Transform3D by reference.
Pure Absract Base Class for Volume bounds.
Definition of ATLAS Math & Geometry primitives (Amg)
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