]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/TRD/info/AliTRDtrendingManager.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGPP / TRD / info / AliTRDtrendingManager.h
1 #ifndef ALITRDTRENDINGMANAGER_H
2 #define ALITRDTRENDINGMANAGER_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6 ////////////////////////////////////////////////////////////////////////////
7 //                                                                        //
8 //  Trend Value Manager                                                   //
9 //                                                                        //
10 //  Authors:                                                              //
11 //    Alexandru Bercuci <A.Bercuci@gsi.de>                                //
12 //                                                                        //
13 ////////////////////////////////////////////////////////////////////////////
14
15 #ifndef ROOT_TObject
16 #include "TObject.h"
17 #endif
18
19 #ifndef ALITRDTRENDVALUE_H
20 #include "AliTRDtrendValue.h"
21 #endif
22
23 class TH1;
24 class TObjArray;
25 class AliTRDtrendingManager : public TObject
26 {
27 public:
28   enum AliTRDtrendingManagerSteer{
29     kRelative    = BIT(14) // trending plots normalized to mean/sigma
30   };
31   virtual ~AliTRDtrendingManager();
32   void              AddValue(const Char_t *name
33                             ,Double_t mean,Double_t sigm=1
34                             ,const Char_t *title=NULL
35                             ,const Char_t *responsible=NULL
36                             ,const Char_t *notifiables=NULL
37                             ,Char_t **messages = NULL
38                             );
39   AliTRDtrendValue* GetValue(const Char_t *name);
40   static AliTRDtrendingManager* Instance();
41   Bool_t            IsRelativeMeanSigma() const     { return TestBit(kRelative);}
42   void              Load(const char *fn = "$ALICE_ROOT/PWGPP/TRD/data/TRD.Trend.root");
43   TH1*              MakeTrends(const char *fileList, TObjArray *dump=NULL);
44   Bool_t            ModifyValue(const Char_t *name
45                             ,const Char_t *title
46                             ,Double_t mean,Double_t sigm
47                             ,Char_t **messages=NULL
48                             ,const Char_t *responsible=NULL
49                             ,const Char_t *notifiables=NULL
50                             );
51   void              Print(Option_t *o="") const;
52 //  void              ResetRunRange(Int_t runStart, Int_t runStop) {fRunRange[0]=runStart; fRunRange[1]=runStop;}
53   void              SetRelativeMeanSigma(Bool_t set=kTRUE) { SetBit(kRelative, set);}
54   void              Terminate();
55
56 protected:
57   AliTRDtrendingManager();
58   AliTRDtrendingManager(const AliTRDtrendingManager& ref);
59   AliTRDtrendingManager& operator=(const AliTRDtrendingManager& ref);
60
61 private:
62   void              MakeList(Int_t entries=1000);
63 //  static Bool_t                       fgTerminated; // instance terminate flag
64         static AliTRDtrendingManager*   fgInstance;       // instance
65   TObjArray        *fEntries;    // list of trending values
66   ClassDef(AliTRDtrendingManager, 0) // TRD trending Manager
67 };
68
69 #endif