]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/STEERBase/AliSysInfo.h
Reading friends in analysis framework inside HLT
[u/mrichter/AliRoot.git] / STEER / STEERBase / 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 using std::fstream;
21
22 class AliSysInfo : public TObject {
23 public:
24   AliSysInfo();
25   static AliSysInfo * Instance();
26   static void AddStamp(const char *sname, Int_t id0=-1, Int_t id1=-1, Int_t id2=-1, Int_t id3=-1);
27   static TTree * MakeTree(const char *lname);
28   static void OpenMemStat();
29   static void CloseMemStat();
30   static Bool_t Contain(const char * str1, const char * str2);
31   typedef void (*StampCallback_t)(const Char_t * desription);
32   static  void AddCallBack(StampCallback_t callback);
33   //
34   // Object size function
35   static Double_t EstimateObjectSize(TObject* object);
36   static  TTree* Test();
37 private:
38   AliSysInfo(const AliSysInfo& source);
39   AliSysInfo& operator= (const AliSysInfo& rec);
40
41   fstream         *fSysWatch;       // system watch - Memory and CPU usage 
42   TStopwatch      *fTimer;          // timer
43   TMemStatManager *fMemStat;      
44   static AliSysInfo *   fInstance; //instance pointer
45   StampCallback_t *fCallBackFunc; // call back functions
46   Int_t           fNCallBack;        // number of call back functions
47   ClassDef(AliSysInfo,0)
48 };
49
50 #endif