ATLAS Offline Software
GeoSiHit.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOADAPTORS_GEOSIHIT_h
6 #define GEOADAPTORS_GEOSIHIT_h
7 //----------------------------------------------------------//
8 // //
9 // An adaptor for SiHits. //
10 // //
11 // Joe Boudreau Feb 04. //
12 // //
13 // This adaptor class allows SiHits to behave //
14 // as if they knew which detector they were in. //
15 // //
16 // //
17 //----------------------------------------------------------//
18 #include "CLHEP/Geometry/Point3D.h"
19 class SiHit;
20 class PixelID;
21 class SCT_ID;
22 class HGTD_ID;
23 class PLR_ID;
24 namespace InDetDD {
25  class SCT_DetectorManager;
26  class PixelDetectorManager;
27 }
29 
30 class GeoSiHit {
31 
32  public:
33 
34  // Constructor:
35  GeoSiHit(const SiHit & h);
36 
37  // Get the absolute global position:
38  HepGeom::Point3D<double> getGlobalPosition() const;
39 
40  // Underlying hit.
41  const SiHit &data() const { return *m_hit;}
42 
43  // Is this hit ok?
44 
45  operator bool () const { return true; }
46 
47  private:
51  static const HGTD_DetectorManager* initHgtdMgr();
52  static const PixelID* initPixID();
53  static const SCT_ID* initSctID();
54  static const HGTD_ID* initHgtdID();
55  static const PLR_ID* initPlrID();
56 
59  const InDetDD::SCT_DetectorManager* sctMgr() const;
60  const HGTD_DetectorManager* hgtdMgr() const;
61  const PixelID* pixID() const;
62  const SCT_ID* sctID() const;
63  const HGTD_ID* hgtdID() const;
64  const PLR_ID* plrID() const;
65 
66  const SiHit *m_hit;
67 };
68 
69 #include "GeoAdaptors/GeoSiHit.icc"
70 
71 #endif
InDetDD::SCT_DetectorManager
Definition: SCT_DetectorManager.h:49
GeoSiHit::data
const SiHit & data() const
Definition: GeoSiHit.h:41
GeoSiHit::initPlrID
static const PLR_ID * initPlrID()
Definition: GeoSiHit.cxx:88
GeoSiHit.icc
GeoSiHit::initPixID
static const PixelID * initPixID()
Definition: GeoSiHit.cxx:58
GeoSiHit::initPlrMgr
static const InDetDD::PixelDetectorManager * initPlrMgr()
Definition: GeoSiHit.cxx:50
PLR_ID
This is an Identifier helper class for the PLR subdetector. This class inherits from PixelID.
Definition: PLR_ID.h:24
GeoSiHit::initPixMgr
static const InDetDD::PixelDetectorManager * initPixMgr()
Definition: GeoSiHit.cxx:11
GeoSiHit::plrID
const PLR_ID * plrID() const
Definition: GeoSiHit.cxx:147
GeoSiHit::plrMgr
const InDetDD::PixelDetectorManager * plrMgr() const
Definition: GeoSiHit.cxx:119
GeoSiHit
Definition: GeoSiHit.h:30
SiHit
Definition: SiHit.h:19
GeoSiHit::pixMgr
const InDetDD::PixelDetectorManager * pixMgr() const
Definition: GeoSiHit.cxx:98
GeoSiHit::sctMgr
const InDetDD::SCT_DetectorManager * sctMgr() const
Definition: GeoSiHit.cxx:105
HGTD_ID
Definition: HGTD_ID.h:47
GeoSiHit::initHgtdID
static const HGTD_ID * initHgtdID()
Definition: GeoSiHit.cxx:78
GeoSiHit::hgtdID
const HGTD_ID * hgtdID() const
Definition: GeoSiHit.cxx:140
GeoSiHit::sctID
const SCT_ID * sctID() const
Definition: GeoSiHit.cxx:133
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
GeoSiHit::m_hit
const SiHit * m_hit
Definition: GeoSiHit.h:66
GeoSiHit::initSctMgr
static const InDetDD::SCT_DetectorManager * initSctMgr()
Definition: GeoSiHit.cxx:27
h
GeoSiHit::hgtdMgr
const HGTD_DetectorManager * hgtdMgr() const
Definition: GeoSiHit.cxx:112
SCT_ID
Definition: SCT_ID.h:68
GeoSiHit::pixID
const PixelID * pixID() const
Definition: GeoSiHit.cxx:126
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
HGTD_DetectorManager
Definition: HGTD_DetectorManager.h:33
GeoSiHit::getGlobalPosition
HepGeom::Point3D< double > getGlobalPosition() const
GeoSiHit::initHgtdMgr
static const HGTD_DetectorManager * initHgtdMgr()
Definition: GeoSiHit.cxx:42
GeoSiHit::initSctID
static const SCT_ID * initSctID()
Definition: GeoSiHit.cxx:68
GeoSiHit::GeoSiHit
GeoSiHit(const SiHit &h)
PixelID
Definition: PixelID.h:67
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60