ATLAS Offline Software
Loading...
Searching...
No Matches
SubtractedCylinderLayer.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// SubtractedCylinderLayer.h, (c) ATLAS Detector software
8
9#ifndef TRKGEOMETRY_SUBTRACTEDCYLINDERLAYER_H
10#define TRKGEOMETRY_SUBTRACTEDCYLINDERLAYER_H
11
12class MsgStream;
13
16#include "TrkGeometry/Layer.h"
18
19namespace Trk {
20
23
32
35 , public Layer
36{
37public:
40
44 const LayerMaterialProperties& laymatprop,
45 double thickness = 0.,
46 std::unique_ptr<OverlapDescriptor> od = nullptr,
47 int laytyp = int(Trk::active));
48
51
54 const Amg::Transform3D& tr);
55
58
60 virtual ~SubtractedCylinderLayer() override {}
61
63 virtual const SubtractedCylinderSurface& surfaceRepresentation() const override final;
64 virtual SubtractedCylinderSurface& surfaceRepresentation() override final;
65
66
68 virtual double preUpdateMaterialFactor(
70 Trk::PropDirection dir) const override final;
71
73 virtual double postUpdateMaterialFactor(
75 Trk::PropDirection dir) const override final;
76
79
81 virtual void moveLayer(Amg::Transform3D& shift) override final;
82
84 virtual void resizeLayer(const VolumeBounds&, double) override final {}
85
88 const Amg::Vector3D&,
89 double) override final {}
90};
91
92} // namespace Trk
93
94#endif // TRKGEOMETRY_SUBTRACTEDCYLINDERLAYER_H
95
Eigen::Affine3d Transform3D
Class for a CylinderSurface in the ATLAS detector.
This virtual base class encapsulates the logics to build pre/post/full update material for Layer stru...
Layer()=default
Default Constructor.
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...
virtual const SubtractedCylinderSurface & surfaceRepresentation() const override final
Transforms the layer into a Surface representation for extrapolation.
virtual void resizeAndRepositionLayer(const VolumeBounds &, const Amg::Vector3D &, double) override final
Resize the layer to the tracking volume - not implemented.
SubtractedCylinderLayer & operator=(const SubtractedCylinderLayer &)
Assignment operator.
virtual ~SubtractedCylinderLayer() override
Destructor.
virtual double preUpdateMaterialFactor(const Trk::TrackParameters &par, Trk::PropDirection dir) const override final
getting the MaterialProperties back - for pre-update
virtual void resizeLayer(const VolumeBounds &, double) override final
Resize the layer to the tracking volume - not implemented.
virtual bool insideBounds(const Amg::Vector2D &locpos, double tol1=0., double tol2=0.) const override
use the base class insideBounds (Vector2d, BoundaryCheck)
SubtractedCylinderLayer()
Default Constructor.
virtual double postUpdateMaterialFactor(const Trk::TrackParameters &par, Trk::PropDirection dir) const override final
getting the MaterialProperties back - for post-update
virtual void moveLayer(Amg::Transform3D &shift) override final
move the Layer
SubtractedCylinderLayer(const SubtractedCylinderLayer &cla)
Copy constructor.
Class for a cylinder subtracted/shared surface in the ATLAS detector.
SubtractedCylinderSurface()=default
Defaults.
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
@ active
Definition Layer.h:47