/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Tof/tofcalgsec/tofcalgsec-00-02-21/tofcalgsec/TofCalib.h

Go to the documentation of this file.
00001 #ifndef TOFCALIB_H
00002 #define TOFCALIB_H
00003 
00004 #include "tofcalgsec/TofDataSet.h"
00005 #include "CLHEP/Matrix/Matrix.h"
00006 #include "CLHEP/Matrix/Vector.h"
00007 
00008 using namespace std;
00009 using namespace CLHEP;
00010 
00011 class TofCalib{
00012  public:
00013   TofCalib( const int npar ):Npar(npar) {
00014     F = HepMatrix(Npar,Npar,0);
00015     Y = HepVector(Npar,0);
00016     X = HepVector(Npar,0);
00017     funcs = HepVector(Npar,0);
00018     m_name=string("calculation");
00019   }
00020   ~TofCalib() {}
00021 
00022   void reset();
00023 
00024  public:
00025   virtual void calculate( RecordSet*& data, unsigned int icounter );
00026   virtual void updateData( RecordSet*& data ) = 0;
00027   virtual const string& name()        const { return m_name;}
00028 
00029   void fillTxt( const char* file );
00030 
00031  protected:
00032   virtual void calculate_funcs(const Record* r) = 0;
00033   virtual void calculate_y(const Record* r) = 0;
00034 
00035  protected:
00036   string m_name;
00037   int Npar;
00038   HepMatrix F;
00039   HepVector X;
00040   HepVector Y;
00041   HepVector funcs;
00042   double y;
00043 
00044   std::vector<HepVector> m_result;
00045 };
00046 
00047 #endif
00048 

Generated on Tue Nov 29 23:14:37 2016 for BOSS_7.0.2 by  doxygen 1.4.7