Fixes in alimdc package in order to be able to compile the code without HLT
[u/mrichter/AliRoot.git] / RAW / AliStats.h
1 #ifndef ALISTATS_H
2 #define ALISTATS_H
3 // @(#)alimdc:$Name$:$Id$
4 // Author: Fons Rademakers  26/11/99
5
6 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
7  * See cxx source for full Copyright notice                               */
8
9 //////////////////////////////////////////////////////////////////////////
10 //                                                                      //
11 // AliStats                                                             //
12 //                                                                      //
13 //////////////////////////////////////////////////////////////////////////
14
15 #ifndef ROOT_TObject
16 #include <TObject.h>
17 #endif
18
19 #ifndef ROOT_TDatime
20 #include <TDatime.h>
21 #endif
22
23 #ifndef ROOT_TString
24 #include <TString.h>
25 #endif
26
27
28 // Forward class declarations
29 class TH1F;
30
31
32 class AliStats : public TObject {
33
34 public:
35    AliStats(const char *filename = "", Int_t compmode = 0, Bool_t filter = kFALSE);
36    AliStats(const AliStats &rhs);
37    virtual ~AliStats();
38    AliStats &operator=(const AliStats &rhs);
39
40    void SetEvents(Int_t events) { fEvents = events; }
41    void SetFirstId(Int_t run, Int_t event) { fFirstRun = run; fFirstEvent = event; }
42    void SetLastId(Int_t run, Int_t event) { fLastRun = run; fLastEvent = event; }
43    void SetBeginTime() { fBegin.Set(); }
44    void SetEndTime() { fEnd.Set(); }
45    void SetFileSize(Double_t size) { fFileSize = size; }
46    void SetCompressionFactor(Float_t comp) { fCompFactor = comp; }
47    void Fill(Float_t time);
48
49    Int_t       GetEvents() const { return fEvents; }
50    Int_t       GetFirstRun() const { return fFirstRun; }
51    Int_t       GetFirstEvent() const { return fFirstEvent; }
52    Int_t       GetLastRun() const { return fLastRun; }
53    Int_t       GetLastEvent() const { return fLastEvent; }
54    TDatime    &GetBeginTime() { return fBegin; }
55    TDatime    &GetEndTime() { return fEnd; }
56    Double_t    GetFileSize() const { return fFileSize; }
57    Int_t       GetCompressionMode() const { return fCompMode; }
58    Float_t     GetCompressionFactor() const { return fCompFactor; }
59    Bool_t      GetFilterState() const { return fFilter; }
60    const char *GetFileName() const { return fFileName; }
61    TH1F       *GetRTHist() const { return fRTHist; }
62
63 private:
64    Int_t    fEvents;     // number of events in this file
65    Int_t    fFirstRun;   // run number of first event in file
66    Int_t    fFirstEvent; // event number of first event in file
67    Int_t    fLastRun;    // run number of last event in file
68    Int_t    fLastEvent;  // event number of last event in file
69    TDatime  fBegin;      // begin of filling time
70    TDatime  fEnd;        // end of filling time
71    TString  fFileName;   // name of file containing this data
72    Double_t fFileSize;   // size of file
73    Float_t  fCompFactor; // tree compression factor
74    Int_t    fCompMode;   // compression mode
75    Bool_t   fFilter;     // 3rd level filter on/off
76    TH1F    *fRTHist;     // histogram of real-time to process chunck of data
77    Float_t  fChunk;      //!chunk to be histogrammed
78
79    ClassDef(AliStats,1)  // Statistics object
80 };
81
82 #endif