ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
HighGranularityTimingDetector
HGTD_Reconstruction
HGTD_TrackingGeometry
src
HGTD_OverlapDescriptor.h
Go to the documentation of this file.
1
2
/*
3
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4
*/
5
7
// HGTD_OverlapDescriptor.h, (c) ATLAS Detector software
9
10
#ifndef HGTDET_HGTDTRACKINGGEOMETRY_HGTDOVERLAPDESCRIPTOR
11
#define HGTDET_HGTDTRACKINGGEOMETRY_HGTDOVERLAPDESCRIPTOR
12
13
// Trk
14
#include "
TrkGeometry/OverlapDescriptor.h
"
15
// Trk inlcude
16
#include "
TrkDetDescrUtils/BinnedArray.h
"
17
// STL include
18
#include <atomic>
19
20
namespace
Trk
{
21
class
Surface
;
22
}
23
24
namespace
InDetDD
{
25
class
HGTD_DetectorElement
;
26
}
27
28
class
HGTD_ID
;
29
38
39
class
HGTD_OverlapDescriptor
:
public
Trk::OverlapDescriptor
{
40
public
:
41
43
HGTD_OverlapDescriptor
(
const
Trk::BinnedArray<Trk::Surface>
* bin_array =
nullptr
,
44
std::vector < float > valuesR = {},
45
std::vector < std::vector< float> > valuesPhi = {},
46
int
nStepsR=3,
int
nStepsPhi=10);
47
49
virtual
~HGTD_OverlapDescriptor
() {
50
}
51
53
HGTD_OverlapDescriptor
(
const
HGTD_OverlapDescriptor
&) =
delete
;
54
56
HGTD_OverlapDescriptor
&
operator=
(
const
HGTD_OverlapDescriptor
&) =
delete
;
57
59
virtual
HGTD_OverlapDescriptor
*
clone
()
const override
;
60
66
bool
reachableSurfaces
(std::vector<Trk::SurfaceIntersection>& surfaces,
67
const
Trk::Surface
& sf,
68
const
Amg::Vector3D
& pos,
69
const
Amg::Vector3D
& dir)
const override
;
70
71
private
:
72
bool
dumpSurfaces
(std::vector<Trk::SurfaceIntersection>& surfaces)
const
;
73
74
const
Trk::BinnedArray<Trk::Surface>
*
m_binnedArray
;
75
std::vector < float >
m_valuesR
;
76
std::vector < std::vector< float> >
m_valuesPhi
;
77
int
m_nStepsR
;
78
int
m_nStepsPhi
;
79
mutable
std::atomic<const HGTD_ID*>
m_hgtdIdHelper
{
nullptr
};
80
81
};
82
83
84
inline
HGTD_OverlapDescriptor
*
HGTD_OverlapDescriptor::clone
()
const
{
85
return
new
HGTD_OverlapDescriptor
();
86
}
87
88
#endif
// end of HGTDET_HGTDTRACKINGGEOMETRY_HGTDOVERLAPDESCRIPTOR
BinnedArray.h
OverlapDescriptor.h
HGTD_ID
This is an Identifier helper class for the HGTD subdetector.
Definition
HGTD_ID.h:47
HGTD_OverlapDescriptor::m_binnedArray
const Trk::BinnedArray< Trk::Surface > * m_binnedArray
Definition
HGTD_OverlapDescriptor.h:74
HGTD_OverlapDescriptor::dumpSurfaces
bool dumpSurfaces(std::vector< Trk::SurfaceIntersection > &surfaces) const
Definition
HGTD_OverlapDescriptor.cxx:88
HGTD_OverlapDescriptor::m_hgtdIdHelper
std::atomic< const HGTD_ID * > m_hgtdIdHelper
Definition
HGTD_OverlapDescriptor.h:79
HGTD_OverlapDescriptor::~HGTD_OverlapDescriptor
virtual ~HGTD_OverlapDescriptor()
Destructor.
Definition
HGTD_OverlapDescriptor.h:49
HGTD_OverlapDescriptor::m_nStepsPhi
int m_nStepsPhi
Definition
HGTD_OverlapDescriptor.h:78
HGTD_OverlapDescriptor::m_nStepsR
int m_nStepsR
Definition
HGTD_OverlapDescriptor.h:77
HGTD_OverlapDescriptor::m_valuesR
std::vector< float > m_valuesR
Definition
HGTD_OverlapDescriptor.h:75
HGTD_OverlapDescriptor::HGTD_OverlapDescriptor
HGTD_OverlapDescriptor(const HGTD_OverlapDescriptor &)=delete
Delete copy.
HGTD_OverlapDescriptor::reachableSurfaces
bool reachableSurfaces(std::vector< Trk::SurfaceIntersection > &surfaces, const Trk::Surface &sf, const Amg::Vector3D &pos, const Amg::Vector3D &dir) const override
get the compatible surfaces
Definition
HGTD_OverlapDescriptor.cxx:36
HGTD_OverlapDescriptor::clone
virtual HGTD_OverlapDescriptor * clone() const override
Pseudo-Constructor.
Definition
HGTD_OverlapDescriptor.h:84
HGTD_OverlapDescriptor::HGTD_OverlapDescriptor
HGTD_OverlapDescriptor(const Trk::BinnedArray< Trk::Surface > *bin_array=nullptr, std::vector< float > valuesR={}, std::vector< std::vector< float > > valuesPhi={}, int nStepsR=3, int nStepsPhi=10)
Constructor.
Definition
HGTD_OverlapDescriptor.cxx:24
HGTD_OverlapDescriptor::m_valuesPhi
std::vector< std::vector< float > > m_valuesPhi
Definition
HGTD_OverlapDescriptor.h:76
HGTD_OverlapDescriptor::operator=
HGTD_OverlapDescriptor & operator=(const HGTD_OverlapDescriptor &)=delete
Delete assignment.
InDetDD::HGTD_DetectorElement
Class to hold geometrical description of an HGTD detector element.
Definition
HGTD_DetectorElement.h:40
Trk::BinnedArray
Binned Array for avoiding map searches/.
Definition
BinnedArray.h:36
Trk::OverlapDescriptor
BaseClass to be overloaded for describing overlaps and next-by elements for the sub-detector implemen...
Definition
OverlapDescriptor.h:41
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:48
InDetDD
Message Stream Member.
Definition
FakeTrackBuilder.h:8
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Generated on
for ATLAS Offline Software by
1.17.0