ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDetDescr
TrkGeometry
src
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
10
#include "
TrkGeometry/SubtractedPlaneLayer.h
"
11
12
#include "
TrkGeometry/LayerMaterialProperties.h
"
13
#include "
TrkGeometry/MaterialProperties.h
"
14
#include "
TrkParameters/TrackParameters.h
"
15
// CLHEP
16
#include "
GeoPrimitives/GeoPrimitives.h
"
17
18
Trk::SubtractedPlaneLayer::SubtractedPlaneLayer
(
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
25
Trk::SubtractedPlaneLayer::SubtractedPlaneLayer
(
26
const
Trk::SubtractedPlaneLayer
& play) =
default
;
27
28
Trk::SubtractedPlaneLayer::SubtractedPlaneLayer
(
29
const
Trk::SubtractedPlaneLayer
& play,
const
Amg::Transform3D
& transf)
30
:
SubtractedPlaneSurface
(play, transf),
Layer
(play) {}
31
32
Trk::SubtractedPlaneLayer
&
Trk::SubtractedPlaneLayer::operator=
(
33
const
SubtractedPlaneLayer
& play) {
34
if
(
this
!= &play) {
35
// call the assignments of the base classes
36
Trk::SubtractedPlaneSurface::operator=
(play);
37
Trk::Layer::operator=
(play);
38
}
39
return
(*
this
);
40
}
41
42
const
Trk::SubtractedPlaneSurface
&
43
Trk::SubtractedPlaneLayer::surfaceRepresentation
()
const
44
{
45
return
(*
this
);
46
}
47
48
Trk::SubtractedPlaneSurface
&
49
Trk::SubtractedPlaneLayer::surfaceRepresentation
()
50
{
51
return
(*
this
);
52
}
53
54
double
Trk::SubtractedPlaneLayer::preUpdateMaterialFactor
(
55
const
Trk::TrackParameters
& parm,
Trk::PropDirection
dir)
const
{
56
if
(!
Trk::Layer::m_layerMaterialProperties
)
return
0.;
57
if
(
Trk::SubtractedPlaneSurface::normal
().
dot
(
58
dir * parm.
momentum
().normalized()) > 0.)
59
return
Trk::Layer::m_layerMaterialProperties
->alongPreFactor();
60
return
Trk::Layer::m_layerMaterialProperties
->oppositePreFactor();
61
}
62
63
double
Trk::SubtractedPlaneLayer::postUpdateMaterialFactor
(
64
const
Trk::TrackParameters
& parm,
Trk::PropDirection
dir)
const
{
65
if
(!
Trk::Layer::m_layerMaterialProperties
)
return
0.;
66
if
(
Trk::SubtractedPlaneSurface::normal
().
dot
(
67
dir * parm.
momentum
().normalized()) > 0.)
68
return
Trk::Layer::m_layerMaterialProperties
->alongPostFactor();
69
return
Trk::Layer::m_layerMaterialProperties
->oppositePostFactor();
70
}
71
72
void
Trk::SubtractedPlaneLayer::moveLayer
(
Amg::Transform3D
& shift) {
73
m_transforms
=
74
std::make_unique<Transforms>(shift * (
m_transforms
->transform));
75
}
GeoPrimitives.h
LayerMaterialProperties.h
MaterialProperties.h
SubtractedPlaneLayer.h
TrackParameters.h
Trk::LayerMaterialProperties
This virtual base class encapsulates the logics to build pre/post/full update material for Layer stru...
Definition
LayerMaterialProperties.h:64
Trk::Layer::Layer
Layer()=default
Default Constructor.
Trk::Layer::thickness
double thickness() const
Return the Thickness of the Layer.
Trk::Layer::operator=
Layer & operator=(const Layer &lay)
Assignment operator for Derived classes.
Definition
Layer.cxx:84
Trk::Layer::m_layerMaterialProperties
std::unique_ptr< LayerMaterialProperties > m_layerMaterialProperties
thickness of the Layer
Definition
Layer.h:288
Trk::ParametersBase::momentum
const Amg::Vector3D & momentum() const
Access method for the momentum.
Trk::SubtractedPlaneLayer
Class to describe a planar detector layer for tracking, with subtraction.
Definition
SubtractedPlaneLayer.h:34
Trk::SubtractedPlaneLayer::postUpdateMaterialFactor
double postUpdateMaterialFactor(const Trk::TrackParameters &par, Trk::PropDirection dir) const override final
getting the MaterialProperties back - for post-update
Definition
SubtractedPlaneLayer.cxx:63
Trk::SubtractedPlaneLayer::preUpdateMaterialFactor
double preUpdateMaterialFactor(const Trk::TrackParameters &par, Trk::PropDirection dir) const override final
getting the MaterialProperties back - for pre-update
Definition
SubtractedPlaneLayer.cxx:54
Trk::SubtractedPlaneLayer::SubtractedPlaneLayer
SubtractedPlaneLayer()
Default Constructor.
Definition
SubtractedPlaneLayer.h:37
Trk::SubtractedPlaneLayer::surfaceRepresentation
virtual const SubtractedPlaneSurface & surfaceRepresentation() const override final
Transforms the layer into a Surface representation for extrapolation.
Definition
SubtractedPlaneLayer.cxx:43
Trk::SubtractedPlaneLayer::operator=
SubtractedPlaneLayer & operator=(const SubtractedPlaneLayer &)
Assignment operator for PlaneLayers.
Definition
SubtractedPlaneLayer.cxx:32
Trk::SubtractedPlaneLayer::moveLayer
virtual void moveLayer(Amg::Transform3D &shift) override final
move the Layer
Definition
SubtractedPlaneLayer.cxx:72
Trk::SubtractedPlaneSurface
Class for a planar subtracted/shared surface in the ATLAS detector.
Definition
SubtractedPlaneSurface.h:32
Trk::SubtractedPlaneSurface::SubtractedPlaneSurface
SubtractedPlaneSurface()=default
Defaults.
Trk::SubtractedPlaneSurface::operator=
SubtractedPlaneSurface & operator=(SubtractedPlaneSurface &&)=default
Trk::Surface::normal
virtual const Amg::Vector3D & normal() const
Returns the normal vector of the Surface (i.e.
Trk::Surface::m_transforms
std::unique_ptr< Transforms > m_transforms
Unique Pointer to the Transforms struct.
Definition
Surface.h:439
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition
GeoPrimitives.h:46
Trk::PropDirection
PropDirection
PropDirection, enum for direction of the propagation.
Definition
PropDirection.h:19
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
dot
Definition
dot.py:1
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0