00001
00006 #include "CSCHit.h"
00007
00008
00030 class CSCTrack{
00031
00032 private:
00033 CSCHit* hitX[4], hitY[4];
00034 double interX, interY;
00035 double slopeX, slopeY;
00036 double chi2X, chi2Y;
00037 double numHitsX, numHitsY;
00038 int bitmapX, bitmapY;
00039 double offsetA[4], offsetB[4];
00040 double earliest, latest;
00041 CSCChamber* csc;
00042
00043
00044 public:
00046 CSCTrack();
00047
00048
00050 ~CSCTrack();
00051
00052
00054 void Print();
00055
00059 double GetInterceptX () { return interX;} ;
00060
00061
00065 double GetInterceptY () { return interY;} ;
00066
00067
00073 double GetSlopeX () { return interX;} ;
00074
00075
00076
00082 double GetSlopeY () { return interY;} ;
00083
00084
00085
00086
00087
00091 double GetAngleX () { return slopeX;} ;
00092
00093
00094
00098 double GetSlopeY () { return slopeY;} ;
00099
00100
00101
00102
00103
00104
00108 double GetChi2X () { return chi2X;} ;
00109
00110
00111
00115 double GetChi2Y () { return chi2Y;} ;
00116
00117
00118
00119
00120
00121
00127 double GetBitmapX () { return bitmapX;} ;
00128
00129
00130
00131
00132
00133
00139 double GetBitmapY () { return bitmapY;} ;
00140
00141
00142
00143
00144
00146 int GetNumHitsX () { return numHitsX;};
00147
00148
00150 int GetNumHitsY () { return numHitsY;};
00151
00152
00158 CSCHit* GetHitX(int layer) {return hitX[layer];}
00159
00165 CSCHit* GetHitY(int layer) {return hitY[layer];}
00166
00167
00173 double GetPredictedX (int layer) {return interX + slopeX * layer;};
00174
00175
00181 double GetPredictedY (int layer) {return interY + slopeY * layer;};
00182
00183
00184
00191 double GetMeasuredX (int layer);
00192
00193
00201 double GetMeasuredY (int layer);
00202
00203
00208 void SetOffsetA (int layer, double offset){offsetA[layer] = offset;};
00209
00210
00215 void SetOffsetB (int layer, double offset){offsetB[layer] = offset;};
00216
00217
00222 double GetOffsetA (int layer){return offsetA[layer];};
00223
00224
00229 double GetOffsetB (int layer){return offsetB[layer];};
00230
00231
00232
00233
00234
00239 CSCChamber* GetChamber(){ return csc;};
00240
00245 void SetChamber (CSCChamber* csc) {this->csc = csc;};
00246
00247
00248
00255 void AddHit (CSCHit* hit);
00256
00257
00262 void Fit();
00263
00264
00266 double GetEarliest () {return earliest;};
00267
00269 double GetLatest () {return latest; };
00270 };
00271