ATLAS Offline Software
Loading...
Searching...
No Matches
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
15// Trk inlcude
17// STL include
18#include <atomic>
19
20namespace Trk {
21 class Surface;
22}
23
24namespace InDetDD {
26}
27
28class HGTD_ID;
29
38
40public:
41
44 std::vector < float > valuesR = {},
45 std::vector < std::vector< float> > valuesPhi = {},
46 int nStepsR=3, int nStepsPhi=10);
47
50 }
51
54
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
71private:
72 bool dumpSurfaces(std::vector<Trk::SurfaceIntersection>& surfaces) const;
73
75 std::vector < float > m_valuesR;
76 std::vector < std::vector< float> > m_valuesPhi;
79 mutable std::atomic<const HGTD_ID*> m_hgtdIdHelper{nullptr};
80
81};
82
83
87
88#endif // end of HGTDET_HGTDTRACKINGGEOMETRY_HGTDOVERLAPDESCRIPTOR
This is an Identifier helper class for the HGTD subdetector.
Definition HGTD_ID.h:47
const Trk::BinnedArray< Trk::Surface > * m_binnedArray
bool dumpSurfaces(std::vector< Trk::SurfaceIntersection > &surfaces) const
std::atomic< const HGTD_ID * > m_hgtdIdHelper
virtual ~HGTD_OverlapDescriptor()
Destructor.
std::vector< float > m_valuesR
HGTD_OverlapDescriptor(const HGTD_OverlapDescriptor &)=delete
Delete copy.
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
virtual HGTD_OverlapDescriptor * clone() const override
Pseudo-Constructor.
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.
std::vector< std::vector< float > > m_valuesPhi
HGTD_OverlapDescriptor & operator=(const HGTD_OverlapDescriptor &)=delete
Delete assignment.
Class to hold geometrical description of an HGTD detector element.
Binned Array for avoiding map searches/.
Definition BinnedArray.h:36
BaseClass to be overloaded for describing overlaps and next-by elements for the sub-detector implemen...
Abstract Base Class for tracking surfaces.
Eigen::Matrix< double, 3, 1 > Vector3D
Message Stream Member.
Ensure that the ATLAS eigen extensions are properly loaded.