#include "TObject.h" #include class Calib { public: Calib(); virtual ~Calib(); void setParameters(Float_t * par) ; inline void setParameter(Int_t index, Float_t par) { _par[index] = par; } void setParErrors(Float_t * par) ; inline void setParError(Int_t index, Float_t par) { _errPar[index] = par; } void setFlags(Bool_t * par) ; inline void setFlag(Int_t index, Bool_t par) { _flag[index] = par; } inline void setEntries(Int_t entries ) { _entries = entries; }; inline void setChiSquare(Float_t chi2) { _chi2 = chi2; } inline void setIOV(UInt_t low, UInt_t high) { _iovLow = low; _iovHigh = high ; } inline void incrementCycle() { ++_cycle ; } inline void setCycle(Int_t cycle) { _cycle = cycle; } void clear() ; // getter Float_t * getParameters() { return &_par[0]; } Float_t getParameter(Int_t index) const { return _par[index]; } inline Bool_t * getFlags() { return &_flag[0]; } inline Bool_t getFlag(Int_t index) const { return _flag[index]; } inline Float_t * getParErrors() { return &_errPar[0]; } inline Float_t getParError(Int_t index) const { return _errPar[index]; } Int_t getEntries() const { return _entries; } inline Float_t getChiSquare() const { return _chi2; } inline UInt_t getIOVLow() const { return _iovLow ; } inline UInt_t getIOVHigh() const { return _iovHigh ; } inline Int_t getCycle() const { return _cycle ; } inline Bool_t isValid(UInt_t run) const { return ( ( run >= _iovLow ) && (run <= _iovHigh ) ) ; } inline friend ostream& operator<< (ostream& os , Calib c) { os << "Parameter "; for ( int i = 0; i < 8; i++ ) { os << c._par[i] << " "; } os << endl; os << "Error "; for ( int i = 0; i < 8; i++ ) { os << c._errPar[i] << " "; } os << std::endl; os << "Flag "; for ( int i = 0; i < 3; i++ ) { os << c._flag[i] << " "; } os << std::endl; os << "Entries " << c._entries << std::endl << "Chi2 " << c._chi2 << std::endl << "IOV " << c._iovLow << " --> " << c._iovHigh << std::endl << "Cycle " << c._cycle ; return os; } private: Float_t _par[8]; Float_t _errPar[8]; Bool_t _flag[3]; Int_t _entries; Float_t _chi2; UInt_t _iovLow; UInt_t _iovHigh; Int_t _cycle; ClassDef(Calib, 1); };