ATLAS Offline Software
MaterialLayer.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 // MaterialLayer.h, (c) ATLAS Detector software
8 
9 #ifndef TRKGEOMETRY_NAVIGATIONLAYER_H
10 #define TRKGEOMETRY_NAVIGATIONLAYER_H
11 
12 class MsgStream;
13 
17 #include "TrkGeometry/Layer.h"
19 
20 namespace Trk {
21 
22 class Surface;
23 class LayerMaterialProperties;
24 
36 class MaterialLayer final : public Layer
37 {
38 public:
42 
45  const LayerMaterialProperties& mlprop);
46 
48  MaterialLayer(const MaterialLayer& lay);
49 
51  virtual ~MaterialLayer() override;
52 
55 
57  virtual const Surface& surfaceRepresentation() const override final;
58  virtual Surface& surfaceRepresentation() override final;
59 
62  virtual bool isOnLayer(
63  const Amg::Vector3D& gp,
64  const BoundaryCheck& bcheck = BoundaryCheck(true)) const override final;
65 
67  virtual void moveLayer(Amg::Transform3D&) override final {};
68 
70  virtual void resizeLayer(const VolumeBounds&, double) override final {}
71 
74  const Amg::Vector3D&,
75  double) override final {}
76 
77  protected:
80 
82  private:
85 };
86 
88  return (*(m_surfaceRepresentation.get()));
89 }
90 
91 
93  return (*(m_surfaceRepresentation.get()));
94 }
95 
96 
97 
98 } // namespace Trk
99 
100 #endif // TRKGEOMETRY_NAVIGATIONLAYER_H
101 
TrackParameters.h
Trk::MaterialLayer::MaterialLayer
MaterialLayer()
Default Constructor.
Definition: MaterialLayer.h:84
Trk::MaterialLayer::operator=
MaterialLayer & operator=(const MaterialLayer &lay)
Assignment operator.
Definition: MaterialLayer.cxx:50
Trk::MaterialLayer::resizeLayer
virtual void resizeLayer(const VolumeBounds &, double) override final
Resize the layer to the tracking volume - not implemented.
Definition: MaterialLayer.h:70
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
PropDirection.h
Layer.h
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
GeoPrimitives.h
Trk::VolumeBounds
Definition: VolumeBounds.h:45
Trk::MaterialLayer::~MaterialLayer
virtual ~MaterialLayer() override
Destructor.
Trk::LayerMaterialProperties
Definition: LayerMaterialProperties.h:62
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Trk::MaterialLayer::moveLayer
virtual void moveLayer(Amg::Transform3D &) override final
Move the layer - not implemented.
Definition: MaterialLayer.h:67
Trk::MaterialLayer::resizeAndRepositionLayer
virtual void resizeAndRepositionLayer(const VolumeBounds &, const Amg::Vector3D &, double) override final
Resize the layer to the tracking volume - not implemented.
Definition: MaterialLayer.h:73
SharedObject.h
Trk::MaterialLayer::m_surfaceRepresentation
SharedObject< Surface > m_surfaceRepresentation
for the navigation Volume the surface is a private member *‍/
Definition: MaterialLayer.h:79
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::SharedObject
std::shared_ptr< T > SharedObject
Definition: SharedObject.h:24
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::BoundaryCheck
Definition: BoundaryCheck.h:51
Trk::MaterialLayer::isOnLayer
virtual bool isOnLayer(const Amg::Vector3D &gp, const BoundaryCheck &bcheck=BoundaryCheck(true)) const override final
isOnLayer() method, using isOnSurface() with Layer specific tolerance
Definition: MaterialLayer.cxx:59
Trk::MaterialLayer
Definition: MaterialLayer.h:37
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::MaterialLayer::surfaceRepresentation
virtual const Surface & surfaceRepresentation() const override final
Transforms the layer into a Surface representation for extrapolation.
Definition: MaterialLayer.h:87
Trk::Layer
Definition: Layer.h:73