00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef STTOFINLCORR_H
00026 #define STTOFINLCORR_H
00027
00028 #include "StObject.h"
00029 #include "StMaker.h"
00030 #include <assert.h>
00031 #include "Stypes.h"
00032 #include "TDataSet.h"
00033 #include "TDataSetIter.h"
00034 #include "TObjectSet.h"
00035 #include <string>
00036
00037
00038 class StTofINLCorr{
00039 private:
00040 static const Int_t mNTray = 120;
00041 static const Int_t mNTDIGOnTray = 8;
00042 static const Int_t mNGLOBALCHANMAX = 192;
00043
00044 static const Int_t mNTDIGMAX = 1200;
00045 static const Int_t mNChanOnTDIG = 24;
00046 static const Int_t mNChanMAX = 1024;
00047 static const Int_t mNBoardIdMAX = 4800;
00048
00049 static const Int_t mEastVpdTrayId = 122;
00050 static const Int_t mWestVpdTrayId = 121;
00051
00052 Int_t mTdigOnTray[mNTray][mNTDIGOnTray];
00053 Int_t mTdigOnEastVpd[mNTDIGOnTray];
00054 Int_t mTdigOnWestVpd[mNTDIGOnTray];
00055
00056 Int_t mBoardId[mNTDIGMAX];
00057 Int_t mBoardId2Index[mNBoardIdMAX];
00058 Float_t mINLCorr[mNTDIGMAX][mNChanOnTDIG][mNChanMAX];
00059
00060 Int_t mNValidTrays;
00061
00062 public:
00063 StTofINLCorr();
00064 ~StTofINLCorr();
00065
00066 void init();
00067 void init(StMaker *maker);
00068 void initFromDbase(StMaker *maker);
00069 void Reset();
00070
00071 float getTrayINLCorr(int trayId, int globalTdcChan, int bin);
00072 float getVpdINLCorr(int ewId, int globalTdcChan, int bin);
00073
00074 void setNValidTrays(int ntrays);
00075 };
00076
00077 inline void StTofINLCorr::setNValidTrays(int ntrays) { mNValidTrays = ntrays; }
00078
00079 #endif