#ifndef _TANACOUNTER_H_ #define _TANACOUNTER_H_ #include "TMath.h" #include "TNamed.h" #include #include #include class TArtCounter : public TNamed { public: static TArtCounter* Instance();//singleton static TArtCounter* SetCounterFromRIDF(const char* ridfname=""); static TArtCounter* SetCounter(const unsigned int num); ~TArtCounter(){} void Draw(); void Reset(){fCurrentNum=0;fMaxNum=0;fOldNum=0;fStartTime=0;fOldTime=0;}; void DispWithRestTime(const unsigned int n_curr, const unsigned int n_tot, const double t_pas, const char unit_p, const double t_rem , const char unit_r); std::string changeRotstring(); char Unit(double& t); void SetMaxNum(unsigned int num){fMaxNum=num;}; unsigned int SetMaxNum(const char* ridfname);// return fMaxNum private: TArtCounter(){}; static TArtCounter *fCounter;// singleton unsigned int fMaxNum; unsigned int fCurrentNum; unsigned int fOldNum; time_t fStartTime; time_t fOldTime; int fDispIndex; struct ridf_hdst{ int hd1; int hd2; }; static int ridf_ci(struct ridf_hdst hd); static int ridf_sz(struct ridf_hdst hd); ClassDef(TArtCounter,1); }; #endif