BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/DstEvent/DstEvent-00-02-51/DstEvent/DstTofTrack.h
Go to the documentation of this file.
1#ifndef DST_TOFTRACK_H
2#define DST_TOFTRACK_H
3#include "GaudiKernel/ObjectVector.h"
4#include "GaudiKernel/ContainedObject.h"
5#include "EventModel/EventModel.h"
6#include <vector>
7
8using namespace std;
9using namespace EventModel;
10
11extern const CLID &CLID_DstTofTrack;
12
13/*
14class RecBTofTrack ;
15class RecETofTrack ;
16*/
17
18class DstTofTrack : virtual public ContainedObject {
19
20 public:
22 virtual ~DstTofTrack() {}
23
24 // Assignment constructor.
25 /*
26 DstTofTrack& operator=(const RecBTofTrack& source);
27 void copy(const RecBTofTrack* orig);
28 DstTofTrack(const RecBTofTrack& source);
29
30 DstTofTrack& operator=(const RecETofTrack& source);
31 void copy(const RecETofTrack* orig);
32 DstTofTrack(const RecETofTrack& source);
33 */
34
35 virtual const CLID& clID() const { return DstTofTrack::classID();}
36 static const CLID& classID() { return CLID_DstTofTrack; }
37
38 public:
39
40 int tofTrackID() const { return m_tofTrackID; }
41 int trackID() const { return m_trackID; }
42 int tofID();
43 int strip();
44
45 unsigned int status() const { return m_status; }
46
47 double path() const { return m_path; }
48 double zrhit() const { return m_zrhit; }
49 double ph() const { return m_ph; }
50 double tof() const { return m_tof; }
51 double errtof() const { return m_sigma[0]; }
52 double beta() const { return m_beta; }
53
54 double texp(int i) const { return m_texp[i]; }
55 double texpElectron() const { return m_texp[0]; }
56 double texpMuon() const { return m_texp[1]; }
57 double texpPion() const { return m_texp[2]; }
58 double texpKaon() const { return m_texp[3]; }
59 double texpProton() const { return m_texp[4]; }
60
61 double toffset(int i) const { return m_toffset[i]; }
62 double toffsetElectron() const { return m_toffset[0]; }
63 double toffsetMuon() const { return m_toffset[1]; }
64 double toffsetPion() const { return m_toffset[2]; }
65 double toffsetKaon() const { return m_toffset[3]; }
66 double toffsetProton() const { return m_toffset[4]; }
67 double toffsetAntiProton() const { return m_toffset[5]; }
68
69 double sigma(int i) const { return m_sigma[i]; }
70 double sigmaElectron() const { return m_sigma[0]; }
71 double sigmaMuon() const { return m_sigma[1]; }
72 double sigmaPion() const { return m_sigma[2]; }
73 double sigmaKaon() const { return m_sigma[3]; }
74 double sigmaProton() const { return m_sigma[4]; }
75 double sigmaAntiProton() const { return m_sigma[5]; }
76
77 int quality() const { return m_quality; }
78
79 double t0() const { return m_t0; }
80 double errt0() const { return m_errt0; }
81
82 double errz() const { return m_errz; }
83 double phi() const { return m_phi; }
84 double errphi() const { return m_errphi; }
85 double energy() const { return m_energy; }
86 double errenergy() const { return m_errenergy; }
87
88 public:
89
90 void setTofTrackID(int tofTrackID) { m_tofTrackID = tofTrackID; }
91 void setTrackID(int trackID) { m_trackID = trackID; }
92 void setTofID(int tofID) { m_tofID = tofID; }
93 void setStatus(unsigned int status) { m_status = status; }
94
95 void setPath(double path) { m_path = path; }
96 void setZrHit(double zrhit) { m_zrhit = zrhit; }
97 void setPh(double ph) { m_ph = ph; }
98 void setTof(double tof) { m_tof = tof; }
99 void setErrTof(double etof) { m_sigma[0] = etof; }
100 void setBeta(double beta) { m_beta = beta; }
101
102 void setTexp(double texp[5]) { for(int i=0; i<5; i++) { m_texp[i]=texp[i];} }
103 void setTexpElectron(double texpe) { m_texp[0] = texpe; }
104 void setTexpMuon(double texpmu) { m_texp[1] = texpmu; }
105 void setTexpPion(double texppi) { m_texp[2] = texppi; }
106 void setTexpKaon(double texpk) { m_texp[3] = texpk; }
107 void setTexpProton(double texpp) { m_texp[4] = texpp; }
108
109 void setToffset(double toffset[6]) { for(int i=0; i<6; i++) { m_toffset[i]=toffset[i];} }
110 void setToffsetElectron(double toe) { m_toffset[0] = toe; }
111 void setToffsetMuon(double tomu) { m_toffset[1] = tomu; }
112 void setToffsetPion(double topi) { m_toffset[2] = topi; }
113 void setToffsetKaon(double tok) { m_toffset[3] = tok; }
114 void setToffsetProton(double top) { m_toffset[4] = top; }
115 void setToffsetAntiProton(double topb){ m_toffset[5] = topb; }
116
117 void setSigma(double sigma[6]) { for(int i=0; i<6; i++) { m_sigma[i]=sigma[i];} }
118 void setSigmaElectron(double se) { m_sigma[0] = se; }
119 void setSigmaMuon(double smu) { m_sigma[1] = smu; }
120 void setSigmaPion(double spi) { m_sigma[2] = spi; }
121 void setSigmaKaon(double sk) { m_sigma[3] = sk; }
122 void setSigmaProton(double sp) { m_sigma[4] = sp; }
123 void setSigmaAntiProton(double spb) { m_sigma[5] = spb; }
124
125 void setQuality(int quality) { m_quality = quality; }
126
127 void setT0(double t0) { m_t0 = t0; }
128 void setErrT0(double errt0) { m_errt0 = errt0; }
129
130 void setErrZ(double errz) { m_errz = errz; }
131 void setPhi(double phi) { m_phi = phi; }
132 void setErrPhi(double errphi) { m_errphi = errphi; }
133 void setEnergy(double energy) { m_energy = energy; }
134 void setErrEnergy(double errenergy) { m_errenergy = errenergy; }
135
136 private:
137
138 int m_tofTrackID; // The ID of Tof Cluster reconstruction
139 int m_trackID; // Track ID from MDC / Shower ID from EMC.
140 int m_tofID; // Tof Counter ID.
141 unsigned int m_status; // Status.
142 // 0x0000 0000
143 // 0 0 0 0 0 0 0 0
144 // | | | BR / 1 EC | | | raw
145 // | | East / 1 West | | ReadOut Unit
146 // No Hit | Counter
147 // 01 1st Layer Cluster
148 // 10 2nd Layer / 11 both Layers
149 // 0x 00 00 00 00 00(used)
150 // | | counter number
151 // | east readout number
152 // west readout number
153
154 double m_path; // Distance of flight.
155 double m_zrhit; // Track extrapolate Z or R Hit position.
156 double m_ph; // Pulse height.
157 double m_tof; // Time of flight.
158 double m_beta; // Beta value of the track.
159 double m_texp[5]; // Expected time of flight of 5 sorts of particle.
160 double m_toffset[6]; // Time offset of e, mu, pi, k and p and pbar.
161 double m_sigma[6]; // Time resolution of 5+1 sorts of particle.
162 int m_quality; // Data quality of reconstruction.
163 // 1: good charged track
164 // 2: neutral track with good hit
165 // 0: ZT-ZTDC didnot match
166 // 3: no hit in counter
167 // 4: two hits in counter
168 // 5: more than two hits in counter
169 // 6: only single end output of one layer
170 // 7: two hits in counter with bad match with ZTDC
171 // 10: initialize
172 // ......
173 double m_t0; // t0 from data set calibration.
174 double m_errt0; // t0 sigma from tof calibration.
175
176 double m_errz; // Error of zTDC(m_zrhit) for neutral track.
177 double m_phi; // Angle of phi used for neutral track.
178 double m_errphi; // Error of angle of phi.
179 double m_energy; // Energy deposit for neutral track
180 double m_errenergy; // Error of energy deposit (m_ph) for neutral track.
181
182};
183
184typedef ObjectVector<DstTofTrack> DstTofTrackCol;
185
186#endif //DST_TOFTRACK_H
const CLID & CLID_DstTofTrack
Definition: EventModel.cxx:261
ObjectVector< DstTofTrack > DstTofTrackCol
const CLID & CLID_DstTofTrack
Definition: EventModel.cxx:261