]>
Commit | Line | Data |
---|---|---|
3b181530 | 1 | /**************************************************** |
2 | AliACORDEDataDCS class | |
3 | Pointer to the DCS objects | |
4 | Author: Pedro Gonzalez (CIEMAT, Madrid) | |
5 | Last updated: March 21 th 2010 | |
6 | Fixing coding violatgion | |
7 | Mario Rodriguez (FCFM-BUAP, Puebla MX) | |
8 | ||
9 | *****************************************************/ | |
10 | #ifndef AliACORDEDATADCS_H | |
11 | #define AliACORDEDATADCS_H | |
749347ef | 12 | |
749347ef | 13 | #include <TClonesArray.h> |
749347ef | 14 | #include <TGraph.h> |
3b181530 | 15 | #include <TMap.h> |
749347ef | 16 | class AliACORDEDataDCS : public TObject { |
17 | public: | |
18 | enum {kNAliases=60, kNHistos=60, kNGraphs=60, kNFunctions=2}; | |
19 | enum {kHvMin=0, kHvMax=20}; | |
20 | ||
21 | AliACORDEDataDCS(); | |
22 | AliACORDEDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime); | |
81f02b9a | 23 | AliACORDEDataDCS(const AliACORDEDataDCS & data); |
24 | AliACORDEDataDCS& operator=(const AliACORDEDataDCS & data); | |
25 | ||
749347ef | 26 | ~AliACORDEDataDCS(); |
27 | ||
3b181530 | 28 | void SetRun(Int_t run) {fRun = run;} |
749347ef | 29 | void SetStartTime(Int_t startTime) {fStartTime = startTime;} |
30 | void SetEndTime(Int_t endTime) {fEndTime = endTime;} | |
3b181530 | 31 | Int_t GetRun() const {return fRun;} |
32 | Int_t GetStartTime() const {return fStartTime;} | |
33 | Int_t GetEndTime() const {return fEndTime;} | |
749347ef | 34 | |
35 | void ProcessData(TMap& aliasMap); | |
36 | ||
37 | const char* GetAliasName(UInt_t pos) | |
38 | {return pos<kNAliases ? fAliasNames[pos].Data() : 0;} | |
3b181530 | 39 | TH1F* GetHisto(UInt_t pos) const {return pos<kNHistos ? fHv[pos] : 0;} |
749347ef | 40 | |
3b181530 | 41 | Float_t GetMean(UInt_t pos) const {return pos<kNHistos ? fMean[pos] : 0;} |
42 | Float_t GetWidth(UInt_t pos) const {return pos<kNHistos ? fWidth[pos] : 0;} | |
749347ef | 43 | |
3b181530 | 44 | const TGraph* GetGraph(UInt_t pos) {return pos<kNGraphs ? ((TGraph*) fGraphs.UncheckedAt(pos)) : 0;} |
749347ef | 45 | |
3b181530 | 46 | const TF1* GetFunction() const {return fFunc;} |
749347ef | 47 | |
48 | Double_t Eval(int pos, Double_t time) | |
49 | {return pos<kNGraphs ? ((TGraph*) fGraphs.UncheckedAt(pos))->Eval(time) : -1;} | |
50 | ||
51 | void Draw(const Option_t* option); | |
52 | ||
53 | ||
54 | private: | |
55 | void Init(); | |
56 | void Introduce(UInt_t numAlias, const TObjArray* aliasArr); | |
57 | void CreateGraph(int i, int dim, const Double_t *x, const Double_t *y); | |
58 | ||
3b181530 | 59 | Int_t fRun; // # of Run |
60 | UInt_t fStartTime; // Start time of the Run | |
61 | UInt_t fEndTime; // End time of the Run | |
749347ef | 62 | |
3b181530 | 63 | Float_t fMean[kNHistos]; // Mean of hits distribution for ACORDE |
64 | Float_t fWidth[kNHistos]; // Width of the hits dist. for ACORDE | |
749347ef | 65 | |
3b181530 | 66 | TString fAliasNames[kNAliases]; // Alias names for ACORDE Data Points |
67 | TH1F *fHv[kNHistos]; // High Voltage values | |
68 | TClonesArray fGraphs; // Clones of plots for ACORDE | |
69 | TF1 *fFunc; // Funtion for ACORDE DP | |
749347ef | 70 | |
3b181530 | 71 | Bool_t fIsProcessed; // Boolean flag to know if the vent was processed |
749347ef | 72 | |
73 | ClassDef(AliACORDEDataDCS, 1); | |
74 | }; | |
75 | ||
76 | #endif |