hpstr
The Heavy Photon Search Toolkit for Reconstruction (hpstr) provides an interface to physics data from the HPS experiment saved in the LCIO format and converts it into an ROOT based format.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TrackerHit.h
Go to the documentation of this file.
1
7#ifndef _TRACKER_HIT_H_
8#define _TRACKER_HIT_H_
9
10//----------------//
11// C++ StdLib //
12//----------------//
13#include <iostream>
14
15//----------//
16// ROOT //
17//----------//
18#include <TObject.h>
19#include <TClonesArray.h>
20#include <TRefArray.h>
21
22class TrackerHit : public TObject {
23
24 public:
25
28
30 virtual ~TrackerHit();
31
33 void Clear(Option_t *option="");
34
36 TRefArray getRawHits() const {return raw_hits_;};
37
43 void setPosition(const double* position, bool rotate = false, int type = 0);
44
45 //TODO: avoid returning a vector, rather pass by ref.
47 std::vector<double> getPosition() const { return {x_, y_, z_}; };
48
50 double getGlobalX() const {return x_;}
51
53 double getGlobalY() const {return y_;}
54
56 double getGlobalZ() const {return z_;}
57
63 void setCovarianceMatrix(std::vector<float> cov);
64
66 std::vector<double> getCovarianceMatrix() const;
67
73 void setTime(const double time) { time_ = time; };
74
80 void addMCPartID(const int id) { mcPartIDs_.push_back(id); };
81
83 double getTime() const { return time_; };
84
90 void setCharge(const double charge) { charge_ = charge; };
91
93 double getCharge() const { return charge_; };
94
95 void setRawCharge(const double rawcharge) { rawcharge_ = rawcharge; };
96
98 double getRawCharge() const { return rawcharge_; };
99
100 void setVolume(const int volume ) {volume_ = volume;} ;
101
102 //** @return the tracker hit volume from the raw hit content */
103 int getVolume() { return volume_;} ;
104
105 //** set the tracker hit layer from the raw hit content */
106 void setLayer(const int layer) {layer_ = layer;};
107
108 //** @return the tracker hit layer from the raw hit content */
109 int getLayer() const {return layer_;};
110
112 bool isShared() const ;
113
115 void addRawHit(TObject* rawhit) {
116 ++n_rawhits_;
117 raw_hits_.Add(rawhit);
118 }
119
120 //TODO: I use this to get the shared hits. Not sure if useful.
122 void setID(const int id) {id_=id;};
123
124 int getID() const {return id_;};
125
127 std::vector<int> getMCPartIDs() const {return mcPartIDs_;};
128
130 std::vector<int> getRawHitStripNumbers(){return rawhit_strips_;};
131
133 void setRawHitStripNumbers(std::vector<int> rawhit_strips){rawhit_strips_ = rawhit_strips;};
134
136
137 private:
138
141
143 double x_{-999};
144
146 double y_{-999};
147
149 double z_{-999};
150
152 double cxx_{0};
153 double cxy_{0};
154 double cxz_{0};
155 double cyy_{0};
156 double cyz_{0};
157 double czz_{0};
158
160 double time_{-999};
161
163 double charge_{-999};
164
166 TRefArray raw_hits_{TRefArray{}};
167
169 int layer_{-999};
170
172 int volume_{-999};
173
175 float rawcharge_{-999};
176
178 int shared_{-999};
179
181 int id_{-999};
182
184 TRefArray tracks_{TRefArray{}};
185
187 std::vector<int> mcPartIDs_;
188
190 std::vector<int> rawhit_strips_;
191
192
193}; // TrackerHit
194
195#endif // _TRACKER_HIT_H_
float rawcharge_
Definition TrackerHit.h:175
double getGlobalY() const
Definition TrackerHit.h:53
virtual ~TrackerHit()
TRefArray raw_hits_
Definition TrackerHit.h:166
double cyy_
Definition TrackerHit.h:155
void setLayer(const int layer)
Definition TrackerHit.h:106
int getLayer() const
Definition TrackerHit.h:109
void setVolume(const int volume)
Definition TrackerHit.h:100
double cxz_
Definition TrackerHit.h:154
void addRawHit(TObject *rawhit)
Definition TrackerHit.h:115
TRefArray tracks_
Definition TrackerHit.h:184
void setCovarianceMatrix(std::vector< float > cov)
double cyz_
Definition TrackerHit.h:156
void addMCPartID(const int id)
Definition TrackerHit.h:80
ClassDef(TrackerHit, 1)
std::vector< int > rawhit_strips_
Definition TrackerHit.h:190
double time_
Definition TrackerHit.h:160
std::vector< int > getMCPartIDs() const
Definition TrackerHit.h:127
double cxx_
Definition TrackerHit.h:152
double charge_
Definition TrackerHit.h:163
double getCharge() const
Definition TrackerHit.h:93
void setID(const int id)
Definition TrackerHit.h:122
std::vector< int > getRawHitStripNumbers()
Definition TrackerHit.h:130
double getGlobalZ() const
Definition TrackerHit.h:56
double cxy_
Definition TrackerHit.h:153
void setRawHitStripNumbers(std::vector< int > rawhit_strips)
Definition TrackerHit.h:133
void setRawCharge(const double rawcharge)
Definition TrackerHit.h:95
std::vector< double > getPosition() const
Definition TrackerHit.h:47
void Clear(Option_t *option="")
int getID() const
Definition TrackerHit.h:124
void setCharge(const double charge)
Definition TrackerHit.h:90
int getVolume()
Definition TrackerHit.h:103
double czz_
Definition TrackerHit.h:157
double z_
Definition TrackerHit.h:149
double y_
Definition TrackerHit.h:146
double getRawCharge() const
Definition TrackerHit.h:98
void setTime(const double time)
Definition TrackerHit.h:73
bool isShared() const
std::vector< int > mcPartIDs_
Definition TrackerHit.h:187
double x_
Definition TrackerHit.h:143
void setPosition(const double *position, bool rotate=false, int type=0)
TRefArray getRawHits() const
Definition TrackerHit.h:36
std::vector< double > getCovarianceMatrix() const
double getGlobalX() const
Definition TrackerHit.h:50
double getTime() const
Definition TrackerHit.h:83