00001 #ifndef CALPEDCALIB_H
00002 #define CALPEDCALIB_H
00003
00004 #include <string>
00005
00006
00007 #include "CalRecon/CalBase.h"
00008 #include "CalRecon/CalADCLogs.h"
00009
00010
00011
00012 class CalPedCalib : public CalADCLogs
00013
00014 {
00015 public:
00016
00017
00018 CalPedCalib() {ini(); }
00019 ~CalPedCalib() {}
00020
00021 void setFileName(const std::string& filename) { m_fileName = filename;}
00022
00024
00025
00026 void setNegGain(CalBase::RANGE r, double v) {m_gain[CalBase::NEG][r] = v;}
00027 void setPosGain(CalBase::RANGE r, double v) {m_gain[CalBase::POS][r] = v;}
00028
00029
00030 double gain(CalBase::SIDE s, CalBase::RANGE r) const {return m_gain[s][r];}
00031
00032
00033 virtual void clear();
00034 virtual void make();
00035
00036
00037 protected:
00038
00039 virtual void ini();
00040
00041 private:
00042
00043 void readGain(std::istream& file);
00044 void readPedestal(std::istream& file);
00045
00046 private:
00047
00048 std::string m_fileName;
00049 double m_gain[CALNSIDES][CALNRANGES];
00050 };
00051 #endif