00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef STSVTHYBRIDDRIFTVELOCITY_HH
00019 #define STSVTHYBRIDDRIFTVELOCITY_HH
00020
00021 #include "StSvtHybridObject.hh"
00022
00023 class StSvtHybridDriftVelocity : public StSvtHybridObject
00024 {
00025 public:
00026 StSvtHybridDriftVelocity();
00027 StSvtHybridDriftVelocity(int barrel, int ladder, int wafer, int hybrid);
00028 ~StSvtHybridDriftVelocity();
00029
00030 StSvtHybridDriftVelocity(const StSvtHybridDriftVelocity&);
00031 StSvtHybridDriftVelocity& operator = (const StSvtHybridDriftVelocity&);
00032 float operator [] (int anode);
00033
00034 int getNumberOfAnodes(){return numberOfAnodes;}
00035 float getV1(int anode){return mV1[anode-1];}
00036 float getV2(int anode){return mV2[anode-1];}
00037 float getV3(int anode){return mV3[anode-1];}
00038 float getTotalLength(float l){return mTotalLength;}
00039 float getFocusLength(float l){return mFocusLength;}
00040 float getNoDriftLength(float l){return mNoDriftLength;}
00041
00042 void setV1(float v, int anode){mV1[anode-1] = v;}
00043 void setV2(float v, int anode){mV2[anode-1] = v;}
00044 void setV3(float v, int anode){mV3[anode-1] = v;}
00045 void setBilinearConst(float aa, float bb){mA = aa; mB = bb;}
00046 void setTotalLength(float l){mTotalLength = l;}
00047 void setFocusLength(float l){mFocusLength = l;}
00048 void setNoDriftLength(float l){mNoDriftLength = l;}
00049
00050 private:
00051 int numberOfAnodes;
00052 float mV1[240];
00053 float mV2[240];
00054 float mV3[240];
00055 float mA, mB;
00056 float mTotalLength;
00057 float mFocusLength;
00058 float mAlpha;
00059 float mNoDriftLength;
00060 float mDriftCorr[4];
00061 float *mDevLinFit[240];
00062
00063
00064 ClassDef(StSvtHybridDriftVelocity,1)
00065 };
00066
00067 #endif