00001 #ifndef TOFCALIBRATION_H 00002 #define TOFCALIBRATION_H 00003 00004 #include "tofcalgsec/TofDataSet.h" 00005 #include "CLHEP/Matrix/Matrix.h" 00006 #include "CLHEP/Matrix/Vector.h" 00007 #include "TH1F.h" 00008 #include "TGraph.h" 00009 00010 using namespace std; 00011 using namespace CLHEP; 00012 00013 class TofCalibration{ 00014 public: 00015 TofCalibration( const int npar ); 00016 ~TofCalibration(); 00017 00018 public: 00019 virtual const string& name() const { return m_name; } 00020 00021 virtual void calculate( RecordSet*& data, unsigned int icounter ); 00022 // virtual void updateData( RecordSet*& data ) = 0; 00023 00024 void fillTxt( const char* file ); 00025 void fillRoot( const char* file, bool isbarrel ); 00026 00027 protected: 00028 virtual void calculate_record(const Record* r, unsigned int icounter) = 0; 00029 virtual void calculate_result( unsigned int icounter ) = 0; 00030 00031 protected: 00032 string m_name; 00033 int Npar; 00034 unsigned int Npar2; 00035 unsigned int nHistPerCounter; 00036 unsigned int nGraphPerCounter; 00037 unsigned int nHistogram; 00038 unsigned int nGraph; 00039 00040 HepVector X; 00041 00042 std::vector<TH1F*> histograms; 00043 std::vector<TGraph*> graphs; 00044 std::vector<HepVector> m_result; 00045 00046 }; 00047 00048 #endif