Line data Source code
1 : #ifndef AliADDataDCS_H
2 : #define AliADDataDCS_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : #include <TObject.h>
8 : #include <TClonesArray.h>
9 :
10 : class TMap;
11 : class TH2F;
12 : class TGraph;
13 : class TF1;
14 : class TString;
15 : class TH1F;
16 :
17 : // AliADDataDCS class
18 : // main aim is to process DCS data
19 : // in order to obtain the data to be stored in the OCDB
20 :
21 : class AliADDataDCS : public TObject {
22 : public:
23 : enum {kNAliases=213,kNGraphs=32,kNHvChannel=16,kNLvChannel=4,kNCIUBoards = 2};
24 : enum {kHvMin=0, kHvMax=3000};
25 :
26 : AliADDataDCS();
27 : AliADDataDCS(Int_t nRun, UInt_t timeCreated, UInt_t timeCompleted, UInt_t daqStart, UInt_t daqEnd, UInt_t ctpStart, UInt_t ctpEnd);
28 : ~AliADDataDCS();
29 :
30 0 : void SetRun(Int_t run) {fRun = run;}
31 0 : void SetStartTime(Int_t startTime) {fStartTime = startTime;}
32 0 : void SetEndTime(Int_t endTime) {fEndTime = endTime;}
33 0 : void SetDaqStartTime(Int_t startTime) {fDaqStartTime = startTime;}
34 0 : void SetDaqEndTime(Int_t endTime) {fDaqEndTime = endTime;}
35 0 : Int_t GetRun() const {return fRun;}
36 0 : Int_t GetStartTime() const {return fStartTime;}
37 0 : Int_t GetEndTime() const {return fEndTime;}
38 0 : Int_t GetDaqStartTime() const {return fDaqStartTime;}
39 0 : Int_t GetDaqEndTime() const {return fDaqEndTime;}
40 :
41 : Bool_t ProcessData(TMap& aliasMap);
42 :
43 : const char* GetAliasName(Int_t pos) const
44 0 : {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
45 :
46 : void Draw(const Option_t* option);
47 :
48 0 : Float_t* GetMeanHV() const {return (float*)fMeanHV;}
49 0 : Float_t* GetWidthHV() const {return (float*)fWidthHV;}
50 0 : Bool_t * GetDeadMap() const {return (bool*)fDeadChannel;}
51 0 : TMap * GetFEEParameters() const {return fFEEParameters;};
52 0 : TClonesArray * GetGraphs() const {return fGraphs;};
53 :
54 : private:
55 : AliADDataDCS(const AliADDataDCS&); // Not implemented
56 : AliADDataDCS& operator=(const AliADDataDCS&); // Not implemented
57 :
58 : void Init();
59 : void Introduce(UInt_t numAlias, const TObjArray* aliasArr) const;
60 : void CreateGraph(int i, int dim, const Double_t *x, const Double_t *y);
61 :
62 : Int_t fRun; // Run number
63 : Int_t fStartTime; // start time (time created)
64 : Int_t fEndTime; // end time (time completed)
65 : UInt_t fDaqStartTime; // DAQ start time
66 : UInt_t fDaqEndTime; // DAQ end time
67 : UInt_t fCtpStartTime; // CTP start time
68 : UInt_t fCtpEndTime; // CTP end time
69 :
70 : TString fAliasNames[kNAliases]; // aliases for DCS data
71 : TClonesArray *fGraphs; // Array containing graphics
72 : TH1F *fHv[kNHvChannel]; // High Voltage histograms
73 : Float_t fMeanHV[kNHvChannel]; // High Voltage mean values
74 : Float_t fWidthHV[kNHvChannel]; // High Voltage widths
75 : Bool_t fDeadChannel[kNHvChannel]; // Dead Map
76 : TMap * fFEEParameters; // TMap holding the FEE parameters
77 :
78 : Bool_t fIsProcessed; // bool to know processing status
79 :
80 16 : ClassDef(AliADDataDCS, 7);
81 : };
82 :
83 : #endif
|