#ifndef ALITPCEXBEFFECTIVE_H
#define ALITPCEXBEFFECTIVE_H
#include "AliTPCCorrection.h"
class AliTPCExBEffective : public AliTPCCorrection {
public:
AliTPCExBEffective();
virtual ~AliTPCExBEffective();
virtual void Init();
virtual void Update(const TTimeStamp &timeStamp);
virtual void SetOmegaTauT1T2(Float_t omegaTau,Float_t t1,Float_t t2) {
fT1=t1; fT2=t2;
const Float_t wt1=t1*omegaTau; fC1=wt1/(1.+wt1*wt1);
const Float_t wt2=t2*omegaTau; fC0=1/(1.+wt2*wt2);
};
Float_t GetC1() const {return fC1;}
Float_t GetC0() const {return fC0;}
Double_t GetSum(const TMatrixD& pol, const TMatrixD&coef, Double_t r, Double_t drift, Double_t phi, Int_t coord=0) const;
void SetPolynoms(const TMatrixD *polA, const TMatrixD *polC);
void SetCoeficients(const TMatrixD *valA,const TMatrixD *valC);
void Print(const Option_t* option) const;
public:
virtual void GetCorrection(const Float_t x[],const Short_t roc,Float_t dx[]);
private:
Double_t fC0;
Double_t fC1;
TMatrixD *fPolynomA;
TMatrixD *fPolynomC;
TMatrixD *fPolynomValA;
TMatrixD *fPolynomValC;
AliTPCExBEffective(const AliTPCExBEffective&);
AliTPCExBEffective &operator=(const AliTPCExBEffective&);
ClassDef(AliTPCExBEffective,1);
};
#endif