Changes for report #56707: On the proper usage of syswatch.log (Marian)
[u/mrichter/AliRoot.git] / STEER / AliSysInfo.h
index c45a45a08cbfb9e3988408328e9a7440f80fd33a..ea13fc79170d8a0bac1856ce5e54855ec6c168d3 100644 (file)
 #include <TObject.h>
 class TStopwatch;
 class TTree;
+class TMemStatManager;
 
 class AliSysInfo : public TObject {
 public:
   AliSysInfo();
   static AliSysInfo * Instance();
-  static void AddStamp(const char *stamp);
-  void Print(Option_t* option = "") const;
+  static void AddStamp(const char *sname, Int_t id0=-1, Int_t id1=-1, Int_t id2=-1);
   static TTree * MakeTree(const char *lname);
+  static void OpenMemStat();
+  static void CloseMemStat();
+  static Bool_t Contain(const char * str1, const char * str2);
+  typedef void (*StampCallback_t)(const Char_t * desription);
+  static  void AddCallBack(StampCallback_t callback);
+  static  TTree* Test();
 private:
   AliSysInfo(const AliSysInfo& source);
   AliSysInfo& operator= (const AliSysInfo& rec);
 
-  fstream        *fSysWatch;       // system watch - Memory and CPU usage 
-  TStopwatch     *fTimer;          // timer
+  fstream         *fSysWatch;       // system watch - Memory and CPU usage 
+  TStopwatch      *fTimer;          // timer
+  TMemStatManager *fMemStat;      
   static AliSysInfo *   fInstance; //instance pointer
+  StampCallback_t *fCallBackFunc; // call back functions
+  Int_t           fNCallBack;        // number of call back functions
   ClassDef(AliSysInfo,0)
 };