00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef STTOFCALIBRATION_H
00021 #define STTOFCALIBRATION_H
00022 #include <vector>
00023 #ifndef ST_NO_NAMESPACES
00024 using std::vector;
00025 #endif
00026
00027 #define TOFP_MAX_SLATS 41
00028
00029 struct StructSlatCalib {
00030 float offset_tdc;
00031 float cc_tdc;
00032 float ods_tdc;
00033 float offset_adc;
00034 float cc_adc;
00035 float ods_adc;
00036 };
00037
00038 #ifndef ST_NO_TEMPLATE_DEF_ARGS
00039 typedef vector<StructSlatCalib> slatCalibVector;
00040 #else
00041 typedef vector<StructSlatCalib, allocator<StructSlatCalib> > slatCalibVector;
00042 #endif
00043 typedef slatCalibVector::iterator slatCalibIter;
00044
00045
00046 class StTofCalibration{
00047 private:
00048 slatCalibVector mSlatCalibVec;
00049 public:
00050 StTofCalibration();
00051 ~StTofCalibration();
00052 void init();
00053 void print(ostream& os = cout);
00054 int numberOfEntries() const;
00055 StructSlatCalib slat(int) const;
00056 };
00057
00058 inline StructSlatCalib StTofCalibration::slat(int index) const {return mSlatCalibVec[index];}
00059 inline int StTofCalibration::numberOfEntries() const {return mSlatCalibVec.size();}
00060 #endif