EDM4eic
EIC data model
Loading...
Searching...
No Matches
TrackerHit.h
Go to the documentation of this file.
1// AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2
3#ifndef EDM4EIC_TrackerHit_H
4#define EDM4EIC_TrackerHit_H
5
7
8#include "edm4eic/CovDiag3f.h"
9#include "edm4hep/Vector3f.h"
10#include <cstdint>
11
12#include "podio/utilities/MaybeSharedPtr.h"
13
14#include <ostream>
15#include <cstddef>
16
17#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
18#include "nlohmann/json_fwd.hpp"
19#endif
20
21// forward declarations
22namespace edm4eic {
23class RawTrackerHit;
24class MutableRawTrackerHit;
25}
26
27
28namespace edm4eic {
29
30class MutableTrackerHit;
31class TrackerHitCollection;
32class TrackerHitCollectionData;
33
34/** @class TrackerHit
35 * Tracker hit (reconstructed from Raw)
36 * @author: W. Armstrong, S. Joosten
37 */
39
40 friend class MutableTrackerHit;
44
45public:
48
49 /// default constructor
50 TrackerHit();
51
52 /// Constructor initializing all members
53 TrackerHit(std::uint64_t cellID, edm4hep::Vector3f position, edm4eic::CovDiag3f positionError, float time, float timeError, float edep, float edepError);
54
55 /// copy constructor
56 TrackerHit(const TrackerHit& other) = default;
57
58 /// copy-assignment operator
60
61 /// create a mutable deep-copy of the object with identical relations
63
64 /// destructor
65 ~TrackerHit() = default;
66
67
68 static TrackerHit makeEmpty();
69
70public:
71
72 /// Access the The detector specific (geometrical) cell id.
73 std::uint64_t getCellID() const;
74
75 /// Access the Hit (cell) position [mm]
76 const edm4hep::Vector3f& getPosition() const;
77
78 /// Access the Covariance Matrix
80
81 /// Access the Hit time [ns]
82 float getTime() const;
83
84 /// Access the Error on the time
85 float getTimeError() const;
86
87 /// Access the Energy deposit in this hit [GeV]
88 float getEdep() const;
89
90 /// Access the Error on the energy deposit [GeV]
91 float getEdepError() const;
92
93
94 /// Access the Related raw tracker hit
96
97
98
99 /// check whether the object is actually available
100 bool isAvailable() const;
101 /// disconnect from TrackerHitObj instance
102 void unlink() { m_obj = podio::utils::MaybeSharedPtr<TrackerHitObj>{nullptr}; }
103
104 bool operator==(const TrackerHit& other) const { return m_obj == other.m_obj; }
105 bool operator==(const MutableTrackerHit& other) const;
106
107 // less comparison operator, so that objects can be e.g. stored in sets.
108 bool operator<(const TrackerHit& other) const { return m_obj < other.m_obj; }
109
110 podio::ObjectID id() const { return getObjectID(); }
111
112 const podio::ObjectID getObjectID() const;
113
114 friend void swap(TrackerHit& a, TrackerHit& b) {
115 using std::swap;
116 swap(a.m_obj, b.m_obj); // swap out the internal pointers
117 }
118
119private:
120 /// constructor from existing TrackerHitObj
121 explicit TrackerHit(podio::utils::MaybeSharedPtr<TrackerHitObj> obj);
123
124 podio::utils::MaybeSharedPtr<TrackerHitObj> m_obj{nullptr};
125};
126
127std::ostream& operator<<(std::ostream& o, const TrackerHit& value);
128
129#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
130void to_json(nlohmann::json& j, const TrackerHit& value);
131#endif
132
133
134} // namespace edm4eic
135
136
137#endif
Definition CovDiag3f.h:18
Definition MutableTrackerHit.h:37
Definition RawTrackerHit.h:31
Definition TrackerHitCollectionData.h:31
Definition TrackerHitCollection.h:95
Definition TrackerHitCollection.h:40
Definition TrackerHit.h:38
friend class TrackerHitCollection
Definition TrackerHit.h:41
float getEdep() const
Access the Energy deposit in this hit [GeV].
Definition TrackerHit.cc:58
const edm4eic::CovDiag3f & getPositionError() const
Access the Covariance Matrix.
Definition TrackerHit.cc:55
~TrackerHit()=default
destructor
bool isAvailable() const
check whether the object is actually available
Definition TrackerHit.cc:73
const edm4eic::RawTrackerHit getRawHit() const
Access the Related raw tracker hit.
Definition TrackerHit.cc:61
friend void swap(TrackerHit &a, TrackerHit &b)
Definition TrackerHit.h:114
float getTimeError() const
Access the Error on the time.
Definition TrackerHit.cc:57
static TrackerHit makeEmpty()
Definition TrackerHit.cc:49
float getEdepError() const
Access the Error on the energy deposit [GeV].
Definition TrackerHit.cc:59
const podio::ObjectID getObjectID() const
Definition TrackerHit.cc:80
bool operator==(const TrackerHit &other) const
Definition TrackerHit.h:104
MutableTrackerHit clone() const
create a mutable deep-copy of the object with identical relations
Definition TrackerHit.cc:41
float getTime() const
Access the Hit time [ns].
Definition TrackerHit.cc:56
std::uint64_t getCellID() const
Access the The detector specific (geometrical) cell id.
Definition TrackerHit.cc:53
TrackerHit()
default constructor
Definition TrackerHit.cc:22
void unlink()
disconnect from TrackerHitObj instance
Definition TrackerHit.h:102
TrackerHit(const TrackerHit &other)=default
copy constructor
friend class MutableTrackerHit
Definition TrackerHit.h:40
bool operator<(const TrackerHit &other) const
Definition TrackerHit.h:108
TrackerHit & operator=(TrackerHit other)
copy-assignment operator
Definition TrackerHit.cc:36
podio::ObjectID id() const
Definition TrackerHit.h:110
const edm4hep::Vector3f & getPosition() const
Access the Hit (cell) position [mm].
Definition TrackerHit.cc:54
Definition TrackerHitObj.h:21
Definition CalorimeterHit.cc:18
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition CalorimeterHit.cc:97