]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ZDC/AliZDCDataDCS.h
moved component registration to agent; added component configuration/initialization...
[u/mrichter/AliRoot.git] / ZDC / AliZDCDataDCS.h
1 #ifndef AliZDCDataDCS_H
2 #define AliZDCDataDCS_H
3
4 ////////////////////////////////////////////////
5 //  Class for ZDC DCS data                    //
6 ////////////////////////////////////////////////
7
8
9 #include <TMap.h>
10 #include <TClonesArray.h>
11 #include <TGraph.h>
12
13 class AliZDCDataDCS : public TObject {
14 public:
15         enum {kNAliases=28, kNGraphs=24};
16
17         AliZDCDataDCS();
18         AliZDCDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime);
19         ~AliZDCDataDCS();
20
21         void SetRun(Int_t run) {fRun = run;}
22         void SetStartTime(Int_t startTime) {fStartTime = startTime;}
23         void SetEndTime(Int_t endTime) {fEndTime = endTime;}
24         Int_t GetRun() {return fRun;}
25         Int_t GetStartTime() {return fStartTime;}
26         Int_t GetEndTime() {return fEndTime;}
27
28         void ProcessData(TMap& aliasMap, Float_t *CalibData);
29
30         const char* GetAliasName(UInt_t pos)
31                         {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
32
33         const TGraph* GetGraph(UInt_t pos)
34                         {return pos<kNGraphs ? ((TGraph*) fGraphs.UncheckedAt(pos)) : 0;}
35
36         Double_t Eval(int pos, Double_t time)
37                         {return pos<kNGraphs ? ((TGraph*) fGraphs.UncheckedAt(pos))->Eval(time) : -1;}
38
39         void Draw(const Option_t* option);
40
41
42 private:
43         void Init();
44         void Introduce(UInt_t numAlias, const TObjArray* aliasArr);
45         void CreateGraph(int i, int dim, const Double_t *x, const Double_t *y);
46
47         Int_t fRun;             // Run number
48         UInt_t fStartTime;      // Start of run time
49         UInt_t fEndTime;        // End of run time
50
51         TString fAliasNames[kNAliases]; // Name of the aliases provided by the DCS
52         TClonesArray fGraphs;           // Array containing PTM HV graphics
53         
54         Float_t fCalibData[kNGraphs];   // Array containing calibration data
55
56         Bool_t fIsProcessed;            // Flag set when data are processed
57
58         ClassDef(AliZDCDataDCS, 2);
59 };
60
61 #endif