|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef INDETTRACKINGGEOMETRY_DISCOVERLAPDESCRIPTOR_H
10 #define INDETTRACKINGGEOMETRY_DISCOVERLAPDESCRIPTOR_H
23 #ifndef INDETTRACKINGGEOMETRY_DISCDETADDNEXTPHIETA
24 #define INDETTRACKINGGEOMETRY_DISCDETADDNEXTPHIETA
26 #define addSurfaceDO(cur, surfaces) \
27 surfaces.emplace_back( \
28 Trk::Intersection(Amg::Vector3D(0., 0., 0.), 0., true), \
29 &(cur->surface(cur->identify())))
31 #define addOtherSideDO(cur, surfaces) \
32 if (cur->otherSide()) \
33 surfaces.emplace_back( \
34 Trk::Intersection(Amg::Vector3D(0., 0., 0.), 0., true), \
35 &(cur->otherSide()->surface(cur->otherSide()->identify())))
37 #define addNextInPhiDO(cur, surfaces) \
38 addSurfaceDO(cur->nextInPhi(), surfaces); \
39 addOtherSideDO(cur->nextInPhi(), surfaces)
41 #define addPrevInPhiDO(cur, surfaces) \
42 addSurfaceDO(cur->prevInPhi(), surfaces); \
43 addOtherSideDO(cur->prevInPhi(), surfaces)
45 #define addNextInEtaDO(cur, surfaces) \
46 addSurfaceDO(cur->nextInEta(), surfaces); \
47 addOtherSideDO(cur->nextInEta(), surfaces)
49 #define addPrevInEtaDO(cur, surfaces) \
50 addSurfaceDO(cur->prevInEta(), surfaces); \
51 addOtherSideDO(cur->prevInEta(), surfaces)
53 #endif // INDETTRACKINGGEOMETRY_DISCDETADDNEXTPHIETA
63 class SiDetectorElement;
84 std::vector<Trk::BinUtility*>* singleBinUtils = 0,
85 bool isPixel =
false);
116 bool dumpSurfaces(std::vector<Trk::SurfaceIntersection>& surfaces)
const;
128 #endif // INDETTRACKINGGEOMETRY_DISCOVERLAPDESCRIPTOR_H
JetConstituentVector::iterator iterator
std::vector< Trk::BinUtility * > * m_singleBinUtils
virtual ~DiscOverlapDescriptor()
Destructor.
DiscOverlapDescriptor(const DiscOverlapDescriptor &)=delete
Delete copy.
Ensure that the ATLAS eigen extensions are properly loaded.
const Trk::BinnedArray< Trk::Surface > * m_bin_array
Eigen::Matrix< double, 3, 1 > Vector3D
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
DiscOverlapDescriptor(const Trk::BinnedArray< Trk::Surface > *bin_array=0, std::vector< Trk::BinUtility * > *singleBinUtils=0, bool isPixel=false)
Constructor.
virtual DiscOverlapDescriptor * clone() const override
Pseudo-Constructor.
bool dumpSurfaces(std::vector< Trk::SurfaceIntersection > &surfaces) const
DiscOverlapDescriptor & operator=(const DiscOverlapDescriptor &)=delete
Delete assignment.