Fixes for bug #52499: Field polarities inconsistiency
[u/mrichter/AliRoot.git] / STEER / AliSysInfo.h
1 #ifndef ALISYSINFO_H
2 #define ALISYSINFO_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //-------------------------------------------------------------------------
7 // This is the class which is to be used during the writing of
8 // simulated raw data (DDL files format).
9 // It is using the root functionality in order to deal correctly
10 // with little/big endian issue. By convention the detector raw
11 // data payload is stored always with little endian (this corresponds
12 // to the real life situation when the detector data is coming from
13 // the hardware).
14 //-------------------------------------------------------------------------
15
16 #include <TObject.h>
17 class TStopwatch;
18 class TTree;
19 class TMemStatManager;
20
21 class AliSysInfo : public TObject {
22 public:
23   AliSysInfo();
24   static AliSysInfo * Instance();
25   static void AddStamp(const char *sname, Int_t id0=-1, Int_t id1=-1, Int_t id2=-1);
26   static TTree * MakeTree(const char *lname);
27   static void OpenMemStat();
28   static void CloseMemStat();
29   static Bool_t Contain(const char * str1, const char * str2);
30   typedef void (*StampCallback_t)(const Char_t * desription);
31   static  void AddCallBack(StampCallback_t callback);
32 private:
33   AliSysInfo(const AliSysInfo& source);
34   AliSysInfo& operator= (const AliSysInfo& rec);
35
36   fstream         *fSysWatch;       // system watch - Memory and CPU usage 
37   TStopwatch      *fTimer;          // timer
38   TMemStatManager *fMemStat;      
39   static AliSysInfo *   fInstance; //instance pointer
40   StampCallback_t *fCallBackFunc; // call back functions
41   Int_t           fNCallBack;        // number of call back functions
42   ClassDef(AliSysInfo,0)
43 };
44
45 #endif