1 #ifndef AliZDCDataDCS_H
2 #define AliZDCDataDCS_H
4 ////////////////////////////////////////////////
5 // Class for ZDC DCS data //
6 ////////////////////////////////////////////////
10 #include <TClonesArray.h>
13 class AliZDCDataDCS : public TObject {
15 enum {kNAliases=28, kNGraphs=24};
18 AliZDCDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime);
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;}
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];}
34 void ProcessData(TMap& aliasMap);
36 const char* GetAliasName(UInt_t pos)
37 {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
39 const TGraph* GetGraph(UInt_t pos)
40 {return pos<kNGraphs ? ((TGraph*) fGraphs.UncheckedAt(pos)) : 0;}
42 Double_t Eval(int pos, Double_t time)
43 {return pos<kNGraphs ? ((TGraph*) fGraphs.UncheckedAt(pos))->Eval(time) : -1;}
45 void Draw(const Option_t* option);
50 void Introduce(UInt_t numAlias, const TObjArray* aliasArr);
51 void CreateGraph(int i, int dim, const Double_t *x, const Double_t *y);
53 Int_t fRun; // Run number
54 UInt_t fStartTime; // Start of run time
55 UInt_t fEndTime; // End of run time
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
61 TClonesArray fGraphs; // Array containing PTM HV graphics
63 Bool_t fIsProcessed; // Flag set when data are processed
65 ClassDef(AliZDCDataDCS, 3);