#ifndef CBMLITCHECKFIELD_H_ #define CBMLITCHECKFIELD_H_ #include "FairTask.h" #include class FairField; class TH1D; class TH2D; class TGraph2D; class TList; class TF1; class TF2; class CbmLitFieldFitter; class CBmLitPolynom; class CbmLitCheckField : public FairTask { public: CbmLitCheckField(); virtual ~CbmLitCheckField(); virtual InitStatus Init(); virtual void Exec( Option_t* opt); virtual void Finish(); virtual void SetParContainers(); Bool_t IsDrawBx() const {return fDrawBx;} Bool_t IsDrawBy() const {return fDrawBy;} Bool_t IsDrawBz() const {return fDrawBz;} void IsDrawBx(Bool_t drawBx) {fDrawBx = drawBx;} void IsDrawBy(Bool_t drawBy) {fDrawBy = drawBy;} void IsDrawBz(Bool_t drawBz) {fDrawBz = drawBz;} void SetXangle(double xangle) {fXangle = xangle;} void SetYangle(double yangle) {fYangle = yangle;} void SetNofBinsX(int nofBinsX) {fNofBinsX = nofBinsX;} void SetNofBinsY(int nofBinsY) {fNofBinsY = nofBinsY;} void SetUseEllipseAcc(bool useEllipseAcc) {fUseEllipseAcc = useEllipseAcc;} void SetOutputDir(const std::string& dir) {fOutputDir = dir;} void SetPolynomDegree(unsigned int degree) {fPolynomDegree = degree;} private: void CreateHistos(); void FillBHistos(); void FillErrHistos(); void DrawHistos(Int_t v); void DrawHistosPhd(Int_t v); void DrawHistosPoly(const std::string& opt); FairField* fField; TList* fHistoList; Int_t fNofSlices; std::vector fZpos; std::vector fXpos; std::vector fYpos; std::vector > > fCx; std::vector > > fCy; std::vector > >fCz; // std::vector >fhB; std::vector >fhBGraph; std::vector > >fhBAprGraph; std::vector > >fhBErrH2D; std::vector > >fhBErrH1D; std::vector > >fhBRelErrH1D; std::vector > >fhBRelErrH2D; // std::vector > > fhBErrPolyH1D; Bool_t fDrawBx; Bool_t fDrawBy; Bool_t fDrawBz; const Int_t BX; const Int_t BY; const Int_t BZ; double fXangle; // acceptance angle for X double fYangle; // acceptance angle for Y int fNofBinsX; // number of bins for X int fNofBinsY; // number of bins for Y bool fUseEllipseAcc; // if true than only values inside a certain ellipse will be fitted std::string fOutputDir; // iutput directory for images std::vector fFitter; // fiel fitter tool unsigned int fPolynomDegree; // degree of the polinom unsigned int fNofPolynoms; // number of polynoms for tests std::vector fDegrees; // array with polynom degrees to be analysed ClassDef(CbmLitCheckField, 1); }; #endif /* CBMLITCHECKFIELD_H_ */