ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkDetDescr
TrkGeometrySurfaces
TrkGeometrySurfaces
SlidingCylinderSurface.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// SlidingCylinderSurface.h, (c) ATLAS Detector software
8
9
#ifndef TRKGEOMETRYSURFACES_SLIDINGCYLINDERSURFACE_H
10
#define TRKGEOMETRYSURFACES_SLIDINGCYLINDERSURFACE_H
11
12
// Trk
13
#include "
TrkDetDescrUtils/BinUtility.h
"
14
#include "
TrkEventPrimitives/ParamDefs.h
"
15
#include "
TrkSurfaces/CylinderSurface.h
"
16
// Geometry & Math
17
#include "
GeoPrimitives/GeoPrimitives.h
"
18
#include <string>
19
#include <vector>
20
21
namespace
Trk
{
22
32
33
class
SlidingCylinderSurface
final :
public
CylinderSurface
34
{
35
public
:
36
38
SlidingCylinderSurface
(
const
CylinderSurface
& surf,
39
const
Trk::BinUtility
& bu,
40
const
std::vector<float> &
offset
);
41
42
44
virtual
bool
operator==
(
const
Surface
& sf)
const
override
final
;
45
49
virtual
bool
isOnSurface
(
const
Amg::Vector3D
& glopo,
50
const
BoundaryCheck
& bchk =
true
,
51
double
tol1 = 0.,
52
double
tol2 = 0.)
const
override
final
;
53
56
virtual
void
localToGlobal
(
const
Amg::Vector2D
& locp,
57
const
Amg::Vector3D
& mom,
58
Amg::Vector3D
& glob)
const
override
final
;
59
63
virtual
bool
globalToLocal
(
const
Amg::Vector3D
& glob,
64
const
Amg::Vector3D
& mom,
65
Amg::Vector2D
& loc)
const
override
final
;
66
68
virtual
DistanceSolution
straightLineDistanceEstimate
(
69
const
Amg::Vector3D
& pos,
70
const
Amg::Vector3D
& dir)
const
override
final
;
71
73
virtual
DistanceSolution
straightLineDistanceEstimate
(
74
const
Amg::Vector3D
& pos,
75
const
Amg::Vector3D
& dir,
76
bool
Bound)
const
override
final
;
77
79
const
Trk::BinUtility
&
binUtility
()
const
{
return
m_etaBin
; }
80
82
const
std::vector<float>&
offset
()
const
{
return
m_depth
; }
83
85
virtual
std::string
name
()
const override
86
{
87
return
"Trk::SlidingCylinderSurface"
;
88
}
89
90
protected
:
91
std::vector<float>
m_depth
{};
92
Trk::BinUtility
m_etaBin
{};
93
};
94
95
}
// end of namespace
96
97
#endif
// TRKGEOMETRYSURFACES_SLIDINGCYLINDERSURFACE_H
BinUtility.h
CylinderSurface.h
GeoPrimitives.h
ParamDefs.h
Trk::BinUtility
A generic symmetric BinUtility, for fully symmetric binning in terms of binning grid and binning type...
Definition
BinUtility.h:39
Trk::BoundaryCheck
The BoundaryCheck class allows to steer the way surface boundaries are used for inside/outside checks...
Definition
BoundaryCheck.h:51
Trk::CylinderSurface::CylinderSurface
CylinderSurface()
Default Constructor.
Definition
CylinderSurface.cxx:21
Trk::DistanceSolution
Access to distance solutions.
Definition
DistanceSolution.h:25
Trk::SlidingCylinderSurface::name
virtual std::string name() const override
Return properly formatted class name for screen output.
Definition
SlidingCylinderSurface.h:85
Trk::SlidingCylinderSurface::straightLineDistanceEstimate
virtual DistanceSolution straightLineDistanceEstimate(const Amg::Vector3D &pos, const Amg::Vector3D &dir) const override final
fast straight line distance evaluation to Surface
Definition
SlidingCylinderSurface.cxx:112
Trk::SlidingCylinderSurface::globalToLocal
virtual bool globalToLocal(const Amg::Vector3D &glob, const Amg::Vector3D &mom, Amg::Vector2D &loc) const override final
Specialized for DiscSurface: GlobalToLocal method without dynamic memory allocation - boolean checks ...
Definition
SlidingCylinderSurface.cxx:67
Trk::SlidingCylinderSurface::localToGlobal
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const override final
Specialized for DiscSurface: LocalToGlobal method without dynamic memory allocation.
Definition
SlidingCylinderSurface.cxx:47
Trk::SlidingCylinderSurface::binUtility
const Trk::BinUtility & binUtility() const
This method allows access to the bin utility.
Definition
SlidingCylinderSurface.h:79
Trk::SlidingCylinderSurface::offset
const std::vector< float > & offset() const
This method allows access to the radial offset values.
Definition
SlidingCylinderSurface.h:82
Trk::SlidingCylinderSurface::SlidingCylinderSurface
SlidingCylinderSurface(const CylinderSurface &surf, const Trk::BinUtility &bu, const std::vector< float > &offset)
Constructor.
Definition
SlidingCylinderSurface.cxx:22
Trk::SlidingCylinderSurface::operator==
virtual bool operator==(const Surface &sf) const override final
Equality operator.
Definition
SlidingCylinderSurface.cxx:32
Trk::SlidingCylinderSurface::isOnSurface
virtual bool isOnSurface(const Amg::Vector3D &glopo, const BoundaryCheck &bchk=true, double tol1=0., double tol2=0.) const override final
This method returns true if the GlobalPosition is on the Surface for both, within or without check of...
Definition
SlidingCylinderSurface.cxx:94
Trk::SlidingCylinderSurface::m_etaBin
Trk::BinUtility m_etaBin
Definition
SlidingCylinderSurface.h:92
Trk::SlidingCylinderSurface::m_depth
std::vector< float > m_depth
Definition
SlidingCylinderSurface.h:91
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition
GeoPrimitives.h:48
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
Generated on
for ATLAS Offline Software by
1.17.0