Fixes in order to treat correctly event and sub-event header extensions.
[u/mrichter/AliRoot.git] / MONITOR / AliMonitorPlot.h
1 #ifndef ALIMONITORPLOT_H
2 #define ALIMONITORPLOT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 #include <TNamed.h>
9 #include <TString.h>
10 #include <Gtypes.h>
11
12
13 class TH1;
14
15
16 class AliMonitorPlot : public TNamed {
17 public:
18   AliMonitorPlot();
19   AliMonitorPlot(const AliMonitorPlot& plot);
20   AliMonitorPlot& operator = (const AliMonitorPlot& plot);
21   AliMonitorPlot(const char* name, const char* title);
22   virtual ~AliMonitorPlot() {};
23
24   virtual void    SetReference(TH1* ref) = 0;
25   virtual void    SetReference(AliMonitorPlot* ref) = 0;
26   void            SetDescription(TString description) 
27                     {fDescription = description;};
28   TString         GetDescription() const {return fDescription;};
29
30   virtual void    Update() = 0;
31   virtual void    Add(AliMonitorPlot* plot) = 0;
32   virtual void    Reset() = 0;
33   virtual void    ResetList() = 0;
34
35   static void     SetDrawRef(Bool_t drawRef = kTRUE); // *MENU*
36   static Bool_t   GetDrawRef() {return fgDrawRef;};
37   static void     SetThreshold(Float_t threshold); // *MENU*
38   static Float_t  GetThreshold() {return fgThreshold;};
39
40   virtual void    DrawEvent(Int_t number = 1); // *MENU*
41   virtual void    DrawSum(Int_t number); // *MENU*
42   virtual void    DrawRun(); // *MENU*
43
44   virtual Bool_t  CompareEvent(Int_t number = 1);
45   virtual Bool_t  CompareSum(Int_t number);
46   virtual Bool_t  CompareRun();
47
48 protected:
49   virtual Bool_t  ComparePlot() = 0;
50   virtual Bool_t  GetEvent(Int_t number = 1) = 0;
51   virtual Bool_t  GetSum(Int_t number) = 0;
52   virtual Bool_t  GetRun() = 0;
53   virtual void    DrawPlot() = 0;
54
55   TString         fDescription;  // description of the monitor histogram
56   Int_t           fNumberOfEvents;// number of monitored events
57
58   static Bool_t   fgDrawRef;     //! draw the reference histogram or not
59   static Float_t  fgThreshold;   //! threshold for the comparison to the reference histogram
60
61   static Color_t  fgColorData;   //! color of the data histogram
62   static Color_t  fgColorRef;    //! color of the reference histogram
63   static Color_t  fgColorCompare;//! color of the comparison histogram
64
65   ClassDef(AliMonitorPlot, 1)   // base class for plots used to monitor the quality of the recorded data
66 };
67  
68
69 #endif
70
71
72
73
74
75
76
77
78