#ifndef HEMCCALPAR_H
#define HEMCCALPAR_H
#include "TObject.h"
#include "TObjArray.h"
#include "hparset.h"
class HEmcCalParCell : public TObject {
protected:
Float_t tdcSlope;
Float_t tdcOffset;
Float_t adcPar0;
Float_t adcPar1;
Float_t adcPar2;
Float_t twcPar0;
Float_t twcPar1;
Float_t twcPar2;
public:
HEmcCalParCell() {clear();}
virtual ~HEmcCalParCell() {}
void clear();
Float_t getTdcSlope(void) {return tdcSlope;}
Float_t getTdcOffset(void) {return tdcOffset;}
Float_t getAdcPar0(void) {return adcPar0;}
Float_t getAdcPar1(void) {return adcPar1;}
Float_t getAdcPar2(void) {return adcPar2;}
Float_t getTwcPar0(void) {return twcPar0;}
Float_t getTwcPar1(void) {return twcPar1;}
Float_t getTwcPar2(void) {return twcPar2;}
void getData(Float_t* data) {
data[0] = tdcSlope;
data[1] = tdcOffset;
data[2] = adcPar0;
data[3] = adcPar1;
data[4] = adcPar2;
data[5] = twcPar0;
data[6] = twcPar1;
data[7] = twcPar2;
}
void setTdcSlope(Float_t s) {tdcSlope = s;}
void setTdcOffset(Float_t o) {tdcOffset = o;}
void setAdcPar0(Float_t p) {adcPar0 = p;}
void setAdcPar1(Float_t p) {adcPar1 = p;}
void setAdcPar2(Float_t p) {adcPar2 = p;}
void setTwcPar0(Float_t t) {twcPar0 = t;}
void setTwcPar1(Float_t t) {twcPar1 = t;}
void setTwcPar2(Float_t t) {twcPar2 = t;}
void fill(Float_t, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t);
void fill(Float_t*);
void fill(HEmcCalParCell&);
ClassDef(HEmcCalParCell, 1)
};
class HEmcCalParSec: public TObject {
protected:
TObjArray* array;
public:
HEmcCalParSec(Int_t n = 255);
virtual ~HEmcCalParSec();
HEmcCalParCell& operator[](Int_t i) {
return *static_cast<HEmcCalParCell*>((*array)[i]);
}
Int_t getSize() {return array->GetEntries();}
ClassDef(HEmcCalParSec, 1)
};
class HEmcCalPar : public HParSet {
protected:
TObjArray* array;
public:
HEmcCalPar(const Char_t* name,
const Char_t* title,
const Char_t* context) ;
HEmcCalPar() : array(0) {;}
virtual ~HEmcCalPar();
HEmcCalParSec& operator[](Int_t i) {
return *static_cast<HEmcCalParSec*>((*array)[i]);
}
Int_t getSize() {return array->GetEntries();}
Bool_t init(HParIo* input, Int_t* set);
Int_t write(HParIo* output);
void clear();
void printParams();
void readline(const Char_t*, Int_t*);
void putAsciiHeader(TString&);
void write(fstream&);
ClassDef(HEmcCalPar, 1)
};
#endif /*!HEMCCALPAR_H*/