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