EICd
EIC data model
TrackerHitConst.h
Go to the documentation of this file.
1 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2 
3 #ifndef EICD_ConstTrackerHit_H
4 #define EICD_ConstTrackerHit_H
5 
6 #include "eicd/TrackerHitObj.h"
7 
8 #include "eicd/CovDiagXYZT.h"
9 #include "eicd/Index.h"
10 #include "eicd/VectorXYZT.h"
11 #include "podio/ObjectID.h"
12 
13 
14 
15 namespace eic {
16 
17 
18 /** @class ConstTrackerHit
19  * Tracker hit (reconstructed from Raw)
20  * @author: W. Armstrong, S. Joosten
21  */
23 
24  friend class TrackerHit;
25  friend class TrackerHitCollection;
27 
28 public:
29  /// default constructor
32 
33  /// constructor from existing TrackerHitObj
35 
36  /// copy constructor
37  ConstTrackerHit(const ConstTrackerHit& other);
38 
39  /// copy-assignment operator
41 
42  /// support cloning (deep-copy)
43  ConstTrackerHit clone() const;
44 
45  /// destructor
47 
48 
49 public:
50 
51  /// Access the unique ID for this hit
52  const eic::Index& ID() const;
53 
54  /// Access the The detector specific (geometrical) cell id.
55  const std::int64_t& cellID() const;
56 
57  /// Access the Hit (cell) position and time [mm, ns]
58  const eic::VectorXYZT& position() const;
59 
60  /// Access the Covariance Matrix
61  const eic::CovDiagXYZT& covMatrix() const;
62 
63  /// Access the Energy deposit in this hit [GeV]
64  const float& edep() const;
65 
66  /// Access the Error on the energy deposit [GeV]
67  const float& edepError() const;
68 
69 
70 
71 
72  double time() const {return position().t;}
73 
74 
75  /// check whether the object is actually available
76  bool isAvailable() const;
77  /// disconnect from TrackerHitObj instance
78  void unlink() { m_obj = nullptr; }
79 
80  bool operator==(const ConstTrackerHit& other) const { return m_obj == other.m_obj; }
81  bool operator==(const TrackerHit& other) const;
82 
83  // less comparison operator, so that objects can be e.g. stored in sets.
84  bool operator<(const ConstTrackerHit& other) const { return m_obj < other.m_obj; }
85 
86  unsigned int id() const { return getObjectID().collectionID * 10000000 + getObjectID().index; }
87 
88  const podio::ObjectID getObjectID() const;
89 
90 private:
91  TrackerHitObj* m_obj;
92 };
93 
94 } // namespace eic
95 
96 
97 #endif
eic::Index
Definition: Index.h:11
eic::VectorXYZT::t
double t
[ns] or [GeV]
Definition: VectorXYZT.h:18
eic::CovDiagXYZT
Definition: CovDiagXYZT.h:11
eic::ConstTrackerHit::time
double time() const
Definition: TrackerHitConst.h:72
CovDiagXYZT.h
eic::ConstTrackerHit::edepError
const float & edepError() const
Access the Error on the energy deposit [GeV].
Definition: TrackerHitConst.cc:56
eic
Definition: BasicParticle.cc:13
eic::VectorXYZT
Definition: VectorXYZT.h:13
eic::TrackerHitCollection
Definition: TrackerHitCollection.h:76
eic::ConstTrackerHit::isAvailable
bool isAvailable() const
check whether the object is actually available
Definition: TrackerHitConst.cc:63
eic::ConstTrackerHit::clone
ConstTrackerHit clone() const
support cloning (deep-copy)
Definition: TrackerHitConst.cc:44
eic::TrackerHitObj
Definition: TrackerHitObj.h:18
eic::ConstTrackerHit::~ConstTrackerHit
~ConstTrackerHit()
destructor
Definition: TrackerHitConst.cc:48
eic::TrackerHitConstCollectionIterator
Definition: TrackerHitCollection.h:51
eic::ConstTrackerHit::operator<
bool operator<(const ConstTrackerHit &other) const
Definition: TrackerHitConst.h:84
eic::ConstTrackerHit::covMatrix
const eic::CovDiagXYZT & covMatrix() const
Access the Covariance Matrix.
Definition: TrackerHitConst.cc:54
eic::ConstTrackerHit::getObjectID
const podio::ObjectID getObjectID() const
Definition: TrackerHitConst.cc:70
eic::ConstTrackerHit
Definition: TrackerHitConst.h:22
TrackerHitObj.h
VectorXYZT.h
eic::TrackerHit
Definition: TrackerHit.h:24
eic::ConstTrackerHit::cellID
const std::int64_t & cellID() const
Access the The detector specific (geometrical) cell id.
Definition: TrackerHitConst.cc:52
eic::ConstTrackerHit::ConstTrackerHit
ConstTrackerHit()
default constructor
Definition: TrackerHitConst.cc:16
eic::ConstTrackerHit::position
const eic::VectorXYZT & position() const
Access the Hit (cell) position and time [mm, ns].
Definition: TrackerHitConst.cc:53
eic::ConstTrackerHit::operator==
bool operator==(const ConstTrackerHit &other) const
Definition: TrackerHitConst.h:80
eic::ConstTrackerHit::operator=
ConstTrackerHit & operator=(const ConstTrackerHit &other)
copy-assignment operator
Definition: TrackerHitConst.cc:34
Index.h
eic::ConstTrackerHit::unlink
void unlink()
disconnect from TrackerHitObj instance
Definition: TrackerHitConst.h:78
eic::ConstTrackerHit::ID
const eic::Index & ID() const
Access the unique ID for this hit.
Definition: TrackerHitConst.cc:51
eic::ConstTrackerHit::edep
const float & edep() const
Access the Energy deposit in this hit [GeV].
Definition: TrackerHitConst.cc:55
eic::ConstTrackerHit::id
unsigned int id() const
Definition: TrackerHitConst.h:86