00001 #ifndef CALIB_BARREL_SIGMA_H 00002 #define CALIB_BARREL_SIGMA_H 00003 00004 #include "tofcalgsec/TofCalibFit.h" 00005 00006 const int nBarrelSigma = 15; // number of calib_barrel_sigma.txt 00007 const int nParSigma = 4; // 4: offset, offset error, sigma, sigma error 00008 const int nGraphTotalSigma = 11; 00009 00010 class calib_barrel_sigma:public TofCalibFit { 00011 public: 00012 calib_barrel_sigma( const unsigned int nzbin ); 00013 ~calib_barrel_sigma(); 00014 00015 void calculate( RecordSet*& data, unsigned int icounter ); 00016 00017 private: 00018 void fillRecord( const Record* r, unsigned int icounter ); 00019 void fitHistogram( unsigned int icounter ); 00020 void fillGraph( unsigned int icounter ); 00021 void fitGraph( unsigned int icounter ); 00022 00023 void updateData( Record* r, unsigned int icounter ); 00024 void fillRecordT0( const Record* r, unsigned int icounter ); 00025 void fitHistogramT0( unsigned int icounter ); 00026 void fillGraphT0( unsigned int icounter ); 00027 void fitGraphT0( unsigned int icounter ); 00028 00029 private: 00030 std::vector<double> zpos; 00031 std::vector<double> zposerr; 00032 double zstep; 00033 00034 std::vector<HepVector> m_fitresult; 00035 }; 00036 00037 #endif 00038