BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/DstEvent/DstEvent/DstMucTrack.h
Go to the documentation of this file.
1#ifndef DST_MUCTRACK_H
2#define DST_MUCTRACK_H
3#include "GaudiKernel/ObjectVector.h"
4#include "GaudiKernel/ContainedObject.h"
5#include "EventModel/EventModel.h"
6#include <vector>
7
8using namespace std;
9
10using namespace EventModel;
11extern const CLID &CLID_DstMucTrack;
12
13//class MucTrack;
14class DstMucTrack : virtual public ContainedObject {
15
16public:
18
19 /// Assignment constructor.
20 //DstMucTrack& operator=(const MucTrack& source);
21
22 //void copy(const MucTrack* orig);
23
24 /// Copy constructor.
25 //DstMucTrack(const MucTrack& source);
26
27 virtual ~DstMucTrack() {}
28
29 virtual const CLID& clID() const { return DstMucTrack::classID();}
30 static const CLID& classID() { return CLID_DstMucTrack; }
31
32 int trackId() const { return m_trackId ; }
33 int id() const { return m_id; }
34 int status() const { return m_status; }
35 int type() const { return m_type; }
36
37 int startPart() const { return m_startPart; } // start position of track locates in which part
38 int endPart() const { return m_endPart; } // end position of track locates in which part
39 int brLastLayer() const { return m_brLastLayer; } // last layer with hits in barrel
40 int ecLastLayer() const { return m_ecLastLayer; } // last layer with hits in end cap
41 int numHits() const { return m_numHits; } // total hits on the track
42 int numLayers() const { return m_numLayers; } // number of layers with hits
43 int maxHitsInLayer() const { return m_maxHitsInLayer; }
44
45 double depth() const { return m_depth; } // depth of the track transport in iron
46 double chi2() const { return m_chi2; }
47 int dof() const { return m_dof; }
48 double rms() const { return m_rms; }
49
50 double xPos() const { return m_xPos; } // position on the start of track in muc (vertex)
51 double yPos() const { return m_yPos; }
52 double zPos() const { return m_zPos; }
53
54 double xPosSigma() const { return m_xPosSigma; }
55 double yPosSigma() const { return m_yPosSigma; }
56 double zPosSigma() const { return m_zPosSigma; }
57
58 double px() const { return m_px; } // momentum on the start of track in muc
59 double py() const { return m_py; }
60 double pz() const { return m_pz; }
61
62 double distance() const { return m_distance;}
63 double deltaPhi() const { return m_deltaPhi;}
64
65 vector<int> vecHits() const { return m_vecHits ;}
66
67 //added by LI Chunhua 2013/02/01
68 double kalRechi2() const {return m_kalrechi2;}
69 int kaldof() const {return m_kaldof;}
70 double kaldepth() const {return m_kaldepth;}
71 int kalbrLastLayer() const {return m_kalbrLastLayer;}
72 int kalecLastLayer() const {return m_kalecLastLayer;}
73 //**********************
74 // Set
76 void setId(int id) { m_id = id ; }
77 void setStatus(int st) { m_status = st; }
78 void setType(int type) { m_type = type; }
79
80 void setStartPart(int part) {m_startPart = part; }
81 void setEndPart(int part) {m_endPart = part; }
82 void setBrLastLayer(int layer) {m_brLastLayer = layer; }
83 void setEcLastLayer(int layer) {m_ecLastLayer = layer; }
86 void setMaxHitsInLayer(int maxHits) { m_maxHitsInLayer = maxHits; }
87
88 void setDepth( double depth) { m_depth = depth; }
89 void setChi2(double chi2) { m_chi2 = chi2; }
90 void setDof(int dof) { m_dof = dof ; }
91 void setRms(double rms) { m_rms = rms ; }
92
93 void setXPos(double x) { m_xPos = x; }
94 void setYPos(double y) { m_yPos = y; }
95 void setZPos(double z) { m_zPos = z; }
96
97 void setXPosSigma(double xsigma) { m_xPosSigma = xsigma; }
98 void setYPosSigma(double ysigma) { m_yPosSigma = ysigma; }
99 void setZPosSigma(double zsigma) { m_zPosSigma = zsigma; }
100
101 void setPx( double px) { m_px = px; }
102 void setPy( double py) { m_py = py; }
103 void setPz( double pz) { m_pz = pz; }
104
105 void setDistance( double dist){m_distance = dist; }
106 void setDeltaPhi( double dphi){m_deltaPhi = dphi; }
107
108 void setVecHits(vector<int>& vecHits) { m_vecHits = vecHits; }
109 //added by LI Chunhua
110 void setkalRechi2(double ch){m_kalrechi2=ch;}
111 void setkalDof(int f){m_kaldof = f;}
112 void setkalDepth(double de){m_kaldepth = de;}
115 //******************
116
117protected:
118 int m_trackId; // Track ID wensp Add 2005-10-19
119 int m_id; // Muc Identifier
120 int m_status; // Muc Status
121 int m_type; // Method of judge?
122
123 int m_startPart; // In which part does the start position of track locate
124 int m_endPart; // In which part does the end position of track locate
125 int m_brLastLayer; // Last layer with hits in barrel
126 int m_ecLastLayer; // Last layer with hits in endcap
127 int m_numHits; // Number of hits on track
128 int m_numLayers; // Number of layer with hits
129 int m_maxHitsInLayer; // Max number of hits in a layer
130
131 double m_depth; // Depth of iron penetrated
132 double m_chi2; // Fit parameters
133 int m_dof;
134 double m_rms;
135
136 double m_xPos; // x position of muc track vertex
137 double m_yPos; // y position of muc track vertex
138 double m_zPos; // z position of muc track vertex
139
140 double m_xPosSigma; // sigma of x position of muc track vertex in first gap local coordinate.
141 double m_yPosSigma; // sigma of y ...
142 double m_zPosSigma; // sigma of z ... ... so it' 0;
143
144 double m_px; // px on muc track vertex
145 double m_py; // py on muc track vertex
146 double m_pz; // pz on muc track vertex
147
148 double m_distance;
149 double m_deltaPhi;
150
151 vector<int> m_vecHits; //// hit list of the track
152
153 //added by LI Chunhua
154 double m_kalrechi2;
155 int m_kaldof;
156 double m_kaldepth;
159 //***************
160};
161
162typedef ObjectVector<DstMucTrack> DstMucTrackCol;
163#endif //NDST_DstMucTrack_H
164
Double_t x[10]
const CLID & CLID_DstMucTrack
Definition: EventModel.cxx:267
ObjectVector< DstMucTrack > DstMucTrackCol
virtual ~DstMucTrack()
Assignment constructor.