ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDetDescr
TrkGeometry
src
NavigationLayer.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// NavigationLayer.cxx, (c) ATLAS Detector software
8
9
#include "
TrkGeometry/NavigationLayer.h
"
10
11
// constructor with arguments
12
Trk::NavigationLayer::NavigationLayer
13
(std::unique_ptr<Trk::Surface>
surfaceRepresentation
)
14
:
Trk
::
Layer
(),
15
m_surfaceRepresentation
(
std
::move(
surfaceRepresentation
)) {
16
Trk::Layer::m_layerType
=
Trk::passive
;
17
}
18
19
// constructor with arguments
20
Trk::NavigationLayer::NavigationLayer
(
21
std::unique_ptr<Trk::Surface>
surfaceRepresentation
,
double
thickness
)
22
:
Trk
::
Layer
(),
23
m_surfaceRepresentation
(
std
::move(
surfaceRepresentation
)) {
24
Trk::Layer::m_layerThickness
=
thickness
;
25
}
26
27
// copy constructor
28
Trk::NavigationLayer::NavigationLayer
(
const
Trk::NavigationLayer
& lay)
29
:
Trk
::
Layer
(lay),
30
m_surfaceRepresentation
(lay.
m_surfaceRepresentation
->uniqueClone()) {
31
Trk::Layer::m_previousLayer
= lay.
m_previousLayer
;
32
Trk::Layer::m_nextLayer
= lay.
m_nextLayer
;
33
Trk::Layer::m_binUtility
= lay.
m_binUtility
;
34
}
35
36
Trk::NavigationLayer
&
Trk::NavigationLayer::operator=
(
37
const
Trk::NavigationLayer
& lay) {
38
if
(
this
!= &lay) {
39
Trk::Layer::operator=
(lay);
40
m_surfaceRepresentation
= lay.
m_surfaceRepresentation
->uniqueClone();
41
}
42
return
(*
this
);
43
}
44
45
bool
Trk::NavigationLayer::isOnLayer
(
const
Amg::Vector3D
& gp,
46
const
BoundaryCheck
& bcheck)
const
{
47
return
m_surfaceRepresentation
->isOnSurface(gp, bcheck);
48
}
49
NavigationLayer.h
Trk::BoundaryCheck
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
Definition
BoundaryCheck.h:51
Trk::Layer::Layer
Layer()=default
Default Constructor.
Trk::Layer::m_previousLayer
const Layer * m_previousLayer
< the previous Layer according to BinGenUtils
Definition
Layer.h:296
Trk::Layer::m_nextLayer
const Layer * m_nextLayer
BinUtility for next/previous decision.
Definition
Layer.h:298
Trk::Layer::m_layerThickness
double m_layerThickness
descriptor for overlap/next surface (owning ptr)
Definition
Layer.h:290
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_binUtility
const BinUtility * m_binUtility
Enclosing TrackingVolume.
Definition
Layer.h:300
Trk::Layer::m_layerType
int m_layerType
active passive layer
Definition
Layer.h:307
Trk::NavigationLayer
Class to be used for gaps in Volumes as a navigational link.
Definition
NavigationLayer.h:41
Trk::NavigationLayer::NavigationLayer
NavigationLayer(std::unique_ptr< Surface > surfaceRepresentation)
Constructor.
Definition
NavigationLayer.cxx:13
Trk::NavigationLayer::operator=
NavigationLayer & operator=(const NavigationLayer &lay)
Assignment operator.
Definition
NavigationLayer.cxx:36
Trk::NavigationLayer::surfaceRepresentation
virtual const Surface & surfaceRepresentation() const override final
Transforms the layer into a Surface representation for extrapolation.
Definition
NavigationLayer.h:101
Trk::NavigationLayer::m_surfaceRepresentation
std::unique_ptr< Surface > m_surfaceRepresentation
Definition
NavigationLayer.h:96
Trk::NavigationLayer::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
NavigationLayer.cxx:45
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::passive
@ passive
Definition
Layer.h:47
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0