#ifndef HTOFWALKPAR_H #define HTOFWALKPAR_H #include "hparcond.h" #include "TArrayF.h" #include "TF1.h" class HTofDigiPar; class HTofCalPar; class HTofGeomPar; class HParamList; class HTofRaw; class HTofWalkPar : public HParCond { protected: TArrayF fWPars; // Parameters for the walking effect correction. TArrayF fWErrors; // Parameters for the errors for each cell and side. TArrayI fSideIsUsed; // Array for the working or not properly PMT+FEE //Methods and members for the use of this container in the HTofHitF2 HTofDigiPar *fDigiPar; //! HTofCalPar *fCalPar; //! HTofGeomPar *fTofGeometry; //! TF1* func; //! static Double_t ffunc(Double_t* x, Double_t* par); public: HTofWalkPar(const Char_t* name ="TofWalkPar", const Char_t* title ="Walking correciton parameters for the TOF Detector", const Char_t* context="TofWalkParProduction"); ~HTofWalkPar(); const Float_t* getPars (Int_t sec, Int_t mod, Int_t cell, Int_t side, Int_t bin) { return &fWPars [8*8*4*20*9*sec + 8*4*20*9*mod + 4*20*9*cell + 20*9*side + 9*bin];} const Float_t getError (Int_t sec, Int_t mod, Int_t cell, Int_t side, Int_t bin) { return fWErrors [8*8*4*20 *sec + 8*4*20 *mod + 4*20 *cell + 20 *side + bin];} const Float_t getIsUsed(Int_t sec, Int_t mod, Int_t cell, Int_t side) { return fSideIsUsed[8*8*2 *sec + 8*2 *mod + 2 *cell + side];} void setPars (Int_t sec, Int_t mod, Int_t cell, Int_t side, Int_t bin, Int_t npar, Float_t* pars) { for(Int_t i =0;i