//----------------------------------------------------------- // // Description: // 3D Straight Line fitter // // Author List: // Mathias Michel // //----------------------------------------------------------- #ifndef PNDDMLLINFITTASK_H #define PNDDMLLINFITTASK_H // Base Class Headers ---------------- #include "FairTask.h" #include #include // Collaborating Class Headers ------- #include #include "TString.h" // Collaborating Class Declarations -- class TClonesArray; class TGeoManager; void SumDistance2(int &, double *, double & sum, double * par, int ); //for Fitter double distance2(double x,double y,double z, double *p); class PndDmlLinFitTask : public FairTask { public: // Constructors/Destructors --------- PndDmlLinFitTask(); PndDmlLinFitTask(const PndDmlLinFitTask& o){}; PndDmlLinFitTask& operator=(const PndDmlLinFitTask& o) { return *this;}; virtual ~PndDmlLinFitTask(); virtual InitStatus Init(); virtual void Exec(Option_t* opt); private: // Input Data------------ TClonesArray* fTCandArray; TClonesArray* fRecoArray; TString fTCandBranchName; TString fRecoBranchName; // Output Data---------- TClonesArray* fTrackArray; //Bool_t firstIt; Int_t fTrackcount; Int_t fEvent; // Fitting ------------ void line(double t, double *p, double &x, double &y, double &z); double line3Dfit(Int_t nd, TGraph2DErrors* gr, Double_t* fitpar); ClassDef(PndDmlLinFitTask,1); }; #endif