ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_OverlapDescriptor.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
6// TRT_OverlapDescriptor.h, (c) ATLAS Detector software
8
9#ifndef INDETTRACKINGGEOMETRY_TRT_OVERLAPDESCRIPTOR_H
10#define INDETTRACKINGGEOMETRY_TRT_OVERLAPDESCRIPTOR_H
11
12// Trk
14// ID
16
17namespace Trk {
18 class Surface;
19}
20
21namespace InDet {
22
30
32 public:
34 TRT_OverlapDescriptor(const TRT_ID* helper, double bTolerance = 0.9, double oTolerance = 1.1) :
35 m_trtIdHelper(helper),
36 m_breakTolerance(bTolerance),
37 m_outsideTolerance(oTolerance)
38 {}
39
46
49
52
55
57 bool reachableSurfaces(std::vector<Trk::SurfaceIntersection>& cSurfaces,
58 const Trk::Surface& sf,
59 const Amg::Vector3D& pos,
60 const Amg::Vector3D& dir) const;
61
62 private:
63 // this checks if the surface intersection is within bounds, if it returns 0 break, otherwise +/- for checking in +/- of index
64 int checkAndFill(std::vector<Trk::SurfaceIntersection>& cSurfaces,
65 const Trk::Surface& sf,
66 const Amg::Vector3D& pos,
67 const Amg::Vector3D& dir) const;
68
72
73 };
74
76
77}
78
79#endif
This is an Identifier helper class for the TRT subdetector.
Class to describe overlaps in the TRT detector, it extends the Trk::OverlapDescriptor base class.
TRT_OverlapDescriptor(const TRT_OverlapDescriptor &od)
Copy Constructor.
double m_outsideTolerance
accept even if it outside the bounds by this tolerance
TRT_OverlapDescriptor(const TRT_ID *helper, double bTolerance=0.9, double oTolerance=1.1)
Constructor.
double m_breakTolerance
if the straight line intersection is within this fraction of the bounds - don't look for neighbours
int checkAndFill(std::vector< Trk::SurfaceIntersection > &cSurfaces, const Trk::Surface &sf, const Amg::Vector3D &pos, const Amg::Vector3D &dir) const
virtual ~TRT_OverlapDescriptor()
Destructor.
TRT_OverlapDescriptor * clone() const
Pseudo-Constructor.
TRT_OverlapDescriptor & operator=(const TRT_OverlapDescriptor &)=default
Default assignment.
const TRT_ID * m_trtIdHelper
the Id helper
bool reachableSurfaces(std::vector< Trk::SurfaceIntersection > &cSurfaces, const Trk::Surface &sf, const Amg::Vector3D &pos, const Amg::Vector3D &dir) const
get the compatible surfaces
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
BaseClass to be overloaded for describing overlaps and next-by elements for the sub-detector implemen...
OverlapDescriptor()
Default constructor.
Abstract Base Class for tracking surfaces.
Eigen::Matrix< double, 3, 1 > Vector3D
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.