//class for cluster position correction to be used by TpcClusterCorrectionTask and TpcReclsuterizer #ifndef TCPCLUSTERCORRECTION_H #define TCPCLUSTERCORRECTION_H #include "TpcCluster.h" #include "TF1.h" class TpcPadPlane; class TpcClusterCorrector{ public: TpcClusterCorrector(TpcPadPlane* plane, TClonesArray* digiArray); TpcClusterCorrector(); void SetPadPlane(TpcPadPlane* plane){fpadplane=plane;} void SetDigiArray(TClonesArray* digiArray){fdigiArray=digiArray;} void SetParameterXY(double *parArr); void SetParameterT(double *parArr); void SetParameterXY2(double *parArr); void SetParameterT2(double *parArr); TVector3 ExecCorrection(TpcCluster* cl,bool doXY, bool doT); private: bool fparSetXY,fparSetXY2; bool fparSetT,fparSetT2; std::vector corrFuncXY; TF1* corrFuncT; std::vector corrFuncXY2; TF1* corrFuncT2; TClonesArray* fdigiArray; TpcPadPlane* fpadplane; public: ClassDef(TpcClusterCorrector,1) }; #endif