// --------------------------------------------------------------------- // ----- KrattaRecognizer header file ----- // ----- Created 10/11/13 by P. Pawlowski ----- // --------------------------------------------------------------------- #ifndef KrattaRecognizer_hxx #define KrattaRecognizer_hxx #include #include "TFile.h" #include "TString.h" #include "KrattaGrid.hxx" #include "KrattaCalib.hxx" #include "TRootKRATEvent.h" class KrattaRecognizer{ private: static const int Nmodules = Kratta::NMODULE; const char * GridMask; const char * Obj; KrattaGrid * grid[Nmodules]; double tolerance; public: static void GetIntAZ(int pid, int & A, int & Z); static float GetRealA(double x, double y, KrattaGrid * grid); static float GetRealZ(double x, double y, KrattaGrid * grid); static void SetUp(TRootKRATParticle * part, KrattaGrid * grid, double tolerance = 0); void SetUp(TRootKRATParticle * part); TFile * GetFile(int module); virtual ~KrattaRecognizer(); KrattaRecognizer(const char * filemask, const char * obj = ""); KrattaRecognizer(const std::string filemask, const char * obj = ""); //KrattaRecognizer(const std::string filemask, const char * obj = ""):KrattaRecognizer(filemask.c_str(),obj){} /// 1105 SK change //KrattaRecognizer(const std::string filemask, const char * obj = ""){KrattaRecognizer(filemask.c_str(),obj);} /// 1105 SK change //bool Recognize(TRootKRATParticle * part, double x, double y); bool Recognize(TRootKRATParticle * part); bool Read(int module); KrattaGrid * GetGrid(int module); void Remove(int module); void Load(); void ls(); void SetTolerance(float t){tolerance = t;} }; #endif