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