TOF QA Task (F. Bellini)
[u/mrichter/AliRoot.git] / RAW / AliStats.h
1 #ifndef ALISTATS_H
2 #define ALISTATS_H
3 // @(#) $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) { fRun = run; fFirstEvent = event; }
42    void SetLastId(Int_t event) { 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       GetRun() const { return fRun; }
51    Int_t       GetFirstEvent() const { return fFirstEvent; }
52    Int_t       GetLastEvent() const { return fLastEvent; }
53    TDatime    &GetBeginTime() { return fBegin; }
54    TDatime    &GetEndTime() { return fEnd; }
55    Double_t    GetFileSize() const { return fFileSize; }
56    Int_t       GetCompressionMode() const { return fCompMode; }
57    Float_t     GetCompressionFactor() const { return fCompFactor; }
58    Bool_t      GetFilterState() const { return fFilter; }
59    const char *GetFileName() const { return fFileName; }
60    TH1F       *GetRTHist() const { return fRTHist; }
61
62 private:
63    Int_t    fEvents;     // number of events in this file
64    Int_t    fRun;   // run number of first event in file
65    Int_t    fFirstEvent; // event number of first event in file
66    Int_t    fLastEvent;  // event number of last event in file
67    TDatime  fBegin;      // begin of filling time
68    TDatime  fEnd;        // end of filling time
69    TString  fFileName;   // name of file containing this data
70    Double_t fFileSize;   // size of file
71    Float_t  fCompFactor; // tree compression factor
72    Int_t    fCompMode;   // compression mode
73    Bool_t   fFilter;     // 3rd level filter on/off
74    TH1F    *fRTHist;     // histogram of real-time to process chunck of data
75    Float_t  fChunk;      //!chunk to be histogrammed
76
77    ClassDef(AliStats,2)  // Statistics object
78 };
79
80 #endif