3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
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
14 //-------------------------------------------------------------------------
19 class TMemStatManager;
21 class AliSysInfo : public TObject {
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);
33 // Object size function
34 static Double_t EstimateObjectSize(TObject* object);
37 AliSysInfo(const AliSysInfo& source);
38 AliSysInfo& operator= (const AliSysInfo& rec);
40 fstream *fSysWatch; // system watch - Memory and CPU usage
41 TStopwatch *fTimer; // timer
42 TMemStatManager *fMemStat;
43 static AliSysInfo * fInstance; //instance pointer
44 StampCallback_t *fCallBackFunc; // call back functions
45 Int_t fNCallBack; // number of call back functions
46 ClassDef(AliSysInfo,0)