reading - writing CDB
[u/mrichter/AliRoot.git] / T0 / AliT0DataDCS.h
CommitLineData
dc7ca31d 1#ifndef AliT0DataDCS_H
2#define AliT0DataDCS_H
3
4#include <TMap.h>
5#include <TClonesArray.h>
6#include <TH2F.h>
7#include <TGraph.h>
8#include <TF1.h>
9
10class AliT0DataDCS : public TObject {
11public:
12 enum {kNAliases=6, kNHistos=3, kNGraphs=3, kNFunctions=2};
13 enum {kHvMin=0, kHvMax=20};
14
15 AliT0DataDCS();
16 AliT0DataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime);
17 ~AliT0DataDCS();
18
19 void SetRun(Int_t run) {fRun = run;}
20 void SetStartTime(Int_t startTime) {fStartTime = startTime;}
21 void SetEndTime(Int_t endTime) {fEndTime = endTime;}
22 Int_t GetRun() {return fRun;}
23 Int_t GetStartTime() {return fStartTime;}
24 Int_t GetEndTime() {return fEndTime;}
25
26 void ProcessData(TMap& aliasMap);
27
28 const char* GetAliasName(UInt_t pos)
29 {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
30 const TH1F* GetHisto(UInt_t pos)
31 {return pos<kNHistos ? fHv[pos] : 0;}
32
33 Float_t GetMean(UInt_t pos) {return pos<kNHistos ? fMean[pos] : 0;}
34 Float_t GetWidth(UInt_t pos) {return pos<kNHistos ? fWidth[pos] : 0;}
35
36 const TGraph* GetGraph(UInt_t pos)
37 {return pos<kNGraphs ? ((TGraph*) fGraphs.UncheckedAt(pos)) : 0;}
38
39 const TF1* GetFunction() {return fFunc;}
40
41 Double_t Eval(int pos, Double_t time)
42 {return pos<kNGraphs ? ((TGraph*) fGraphs.UncheckedAt(pos))->Eval(time) : -1;}
43
44 void Draw(const Option_t* option);
45
46
47private:
48 void Init();
49 void Introduce(UInt_t numAlias, const TObjArray* aliasArr);
50 void CreateGraph(int i, int dim, const Double_t *x, const Double_t *y);
51
52 Int_t fRun;
53 UInt_t fStartTime;
54 UInt_t fEndTime;
55
56 Float_t fMean[kNHistos];
57 Float_t fWidth[kNHistos];
58
59 TString fAliasNames[kNAliases];
60 TH1F *fHv[kNHistos];
61 TClonesArray fGraphs;
62 TF1 *fFunc;
63
64 Bool_t fIsProcessed;
65
66 ClassDef(AliT0DataDCS, 2);
67};
68
69#endif