]>
Commit | Line | Data |
---|---|---|
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 | void SetCalibData(Float_t *val) | |
25 | {for(Int_t i=0; i<kNAliases; i++) fCalibData[i] = val[i];} | |
26 | void SetCalibData(Int_t i, Float_t val) {fCalibData[i] = val;} | |
27 | // | |
28 | Int_t GetRun() {return fRun;} | |
29 | Int_t GetStartTime() {return fStartTime;} | |
30 | Int_t GetEndTime() {return fEndTime;} | |
31 | Float_t GetCalibData() {return *fCalibData;} | |
32 | Float_t GetCalibData(Int_t i) {return fCalibData[i];} | |
33 | ||
34 | void ProcessData(TMap& aliasMap); | |
35 | ||
36 | const char* GetAliasName(UInt_t pos) | |
37 | {return pos<kNAliases ? fAliasNames[pos].Data() : 0;} | |
38 | ||
39 | const TGraph* GetGraph(UInt_t pos) | |
40 | {return pos<kNGraphs ? ((TGraph*) fGraphs.UncheckedAt(pos)) : 0;} | |
41 | ||
42 | Double_t Eval(int pos, Double_t time) | |
43 | {return pos<kNGraphs ? ((TGraph*) fGraphs.UncheckedAt(pos))->Eval(time) : -1;} | |
44 | ||
45 | void Draw(const Option_t* option); | |
46 | ||
47 | ||
48 | private: | |
49 | void Init(); | |
50 | void Introduce(UInt_t numAlias, const TObjArray* aliasArr); | |
51 | void CreateGraph(int i, int dim, const Double_t *x, const Double_t *y); | |
52 | ||
53 | Int_t fRun; // Run number | |
54 | UInt_t fStartTime; // Start of run time | |
55 | UInt_t fEndTime; // End of run time | |
56 | ||
57 | TString fAliasNames[kNAliases]; // Name of the aliases provided by the DCS | |
58 | Double_t fCalibData[kNAliases]; // Array containing calibration data | |
59 | Double_t fTimeStamp[kNAliases]; // Array containing time stamps | |
60 | ||
61 | TClonesArray fGraphs; // Array containing PTM HV graphics | |
62 | ||
63 | Bool_t fIsProcessed; // Flag set when data are processed | |
64 | ||
65 | ClassDef(AliZDCDataDCS, 3); | |
66 | }; | |
67 | ||
68 | #endif |