ATLAS Offline Software
Loading...
Searching...
No Matches
SubtractedPlaneLayer.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// SubtractedPlaneLayer.cxx, (c) ATLAS Detector software
8
9// Trk
11
15// CLHEP
17
19 const SubtractedPlaneSurface* subtrPlaneSurf,
20 const Trk::LayerMaterialProperties& laymatprop, double thickness,
21 std::unique_ptr<Trk::OverlapDescriptor> olap, int laytyp)
22 : SubtractedPlaneSurface(*subtrPlaneSurf),
23 Layer(laymatprop, thickness, std::move(olap), laytyp) {}
24
26 const Trk::SubtractedPlaneLayer& play) = default;
27
31
33 const SubtractedPlaneLayer& play) {
34 if (this != &play) {
35 // call the assignments of the base classes
38 }
39 return (*this);
40}
41
44{
45 return (*this);
46}
47
53
55 const Trk::TrackParameters& parm, Trk::PropDirection dir) const {
58 dir * parm.momentum().normalized()) > 0.)
59 return Trk::Layer::m_layerMaterialProperties->alongPreFactor();
60 return Trk::Layer::m_layerMaterialProperties->oppositePreFactor();
61}
62
64 const Trk::TrackParameters& parm, Trk::PropDirection dir) const {
67 dir * parm.momentum().normalized()) > 0.)
68 return Trk::Layer::m_layerMaterialProperties->alongPostFactor();
69 return Trk::Layer::m_layerMaterialProperties->oppositePostFactor();
70}
71
74 std::make_unique<Transforms>(shift * (m_transforms->transform));
75}
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.
Layer & operator=(const Layer &lay)
Assignment operator for Derived classes.
Definition Layer.cxx:84
std::unique_ptr< LayerMaterialProperties > m_layerMaterialProperties
thickness of the Layer
Definition Layer.h:288
const Amg::Vector3D & momentum() const
Access method for the momentum.
Class to describe a planar detector layer for tracking, with subtraction.
double postUpdateMaterialFactor(const Trk::TrackParameters &par, Trk::PropDirection dir) const override final
getting the MaterialProperties back - for post-update
double preUpdateMaterialFactor(const Trk::TrackParameters &par, Trk::PropDirection dir) const override final
getting the MaterialProperties back - for pre-update
SubtractedPlaneLayer()
Default Constructor.
virtual const SubtractedPlaneSurface & surfaceRepresentation() const override final
Transforms the layer into a Surface representation for extrapolation.
SubtractedPlaneLayer & operator=(const SubtractedPlaneLayer &)
Assignment operator for PlaneLayers.
virtual void moveLayer(Amg::Transform3D &shift) override final
move the Layer
Class for a planar subtracted/shared surface in the ATLAS detector.
SubtractedPlaneSurface()=default
Defaults.
SubtractedPlaneSurface & operator=(SubtractedPlaneSurface &&)=default
virtual const Amg::Vector3D & normal() const
Returns the normal vector of the Surface (i.e.
std::unique_ptr< Transforms > m_transforms
Unique Pointer to the Transforms struct.
Eigen::Affine3d Transform3D
PropDirection
PropDirection, enum for direction of the propagation.
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition dot.py:1
STL namespace.