]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/info/AliTRDtrendingManager.h
Updates in D+ histos and ntuples (Renu, Francesco, Elena)
[u/mrichter/AliRoot.git] / PWG1 / 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 TObjArray;
24 class AliTRDtrendingManager : public TObject
25 {
26 public:
27   virtual ~AliTRDtrendingManager();
28   void              AddValue(Char_t *class_name
29                             ,Char_t *value_name
30                             ,Char_t *value_title
31                             ,Double_t limits[2*(AliTRDtrendValue::kNlevels+1)]
32                             ,Char_t *messages[AliTRDtrendValue::kNlevels]
33                             ,const Char_t *responsible
34                             ,const Char_t *notifiables=NULL
35                             );
36   AliTRDtrendValue* GetValue(Char_t *class_name, Char_t *value_name);
37   static AliTRDtrendingManager* Instance();
38   Bool_t            ModifyValue(Char_t *class_name
39                             ,Char_t *value_name
40                             ,Char_t *value_title
41                             ,Double_t *limits=NULL
42                             ,Char_t **messages=NULL
43                             ,const Char_t *responsible=NULL
44                             ,const Char_t *notifiables=NULL
45                             );
46   void              Print(Option_t *o="") const;
47   void              Save();
48   void              ResetRunRange(Int_t runStart, Int_t runStop) {fRunRange[0]=runStart; fRunRange[1]=runStop;}
49   void              Terminate();
50
51 protected:
52   AliTRDtrendingManager();
53   AliTRDtrendingManager(const AliTRDtrendingManager& ref);
54   AliTRDtrendingManager& operator=(const AliTRDtrendingManager& ref);
55
56 private:
57   static Bool_t                 fgTerminated; // instance terminate flag
58         static AliTRDtrendingManager*   fgInstance;       // instance
59   TObjArray        *fEntries;    // list of trending values
60   AliTRDtrendValue *fValue;      // current loaded trend value
61   Int_t             fRunRange[2];// valability range
62
63   ClassDef(AliTRDtrendingManager, 0) // TRD trending Manager
64 };
65
66 #endif