Line data Source code
1 : #ifndef AliVZERODataDCS_H
2 : #define AliVZERODataDCS_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 : // AliVZERODataDCS 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 AliVZERODataDCS : public TObject {
22 : public:
23 : enum {kNAliases=240,kNGraphs=64,kNHvChannel=64,kNLvChannel=16,kNCIUBoards = 8};
24 : enum {kHvMin=0, kHvMax=3000};
25 :
26 : AliVZERODataDCS();
27 : AliVZERODataDCS(Int_t nRun, UInt_t timeCreated, UInt_t timeCompleted, UInt_t daqStart, UInt_t daqEnd, UInt_t ctpStart, UInt_t ctpEnd);
28 : ~AliVZERODataDCS();
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 :
53 : // Getter of Offline Channel number as used in aliroot (defined by aliroot
54 : // numbering convention) from DCS Channel number
55 :
56 : Int_t GetOfflineChannel(Int_t channel) const
57 0 : { Int_t fOfflineChannel[64] = {32, 33, 34, 35, 36, 37, 38, 39,
58 : 40, 41, 42, 43, 44, 45, 46, 47,
59 : 48, 49, 50, 51, 52, 53, 54, 55,
60 : 56, 57, 58, 59, 60, 61, 62, 63,
61 : 0, 1, 2, 3, 4, 5, 6, 7,
62 : 8, 9, 10, 11, 12, 13, 14, 15,
63 : 16, 17, 18, 19, 20, 21, 22, 23,
64 : 24, 25, 26, 27, 28, 29, 30, 31};
65 0 : return fOfflineChannel[channel]; }
66 :
67 : private:
68 : AliVZERODataDCS(const AliVZERODataDCS&); // Not implemented
69 : AliVZERODataDCS& operator=(const AliVZERODataDCS&); // Not implemented
70 :
71 : void Init();
72 : void Introduce(UInt_t numAlias, const TObjArray* aliasArr) const;
73 : void CreateGraph(int i, int dim, const Double_t *x, const Double_t *y);
74 :
75 : Int_t fRun; // Run number
76 : Int_t fStartTime; // start time (time created)
77 : Int_t fEndTime; // end time (time completed)
78 : UInt_t fDaqStartTime; // DAQ start time
79 : UInt_t fDaqEndTime; // DAQ end time
80 : UInt_t fCtpStartTime; // CTP start time
81 : UInt_t fCtpEndTime; // CTP end time
82 :
83 : TString fAliasNames[kNAliases]; // aliases for DCS data
84 : TClonesArray fGraphs; // Array containing graphics
85 : TH1F *fHv[kNHvChannel]; // High Voltage histograms
86 : Float_t fMeanHV[kNHvChannel]; // High Voltage mean values
87 : Float_t fWidthHV[kNHvChannel]; // High Voltage widths
88 : Bool_t fDeadChannel[kNHvChannel]; // Dead Map
89 : TMap * fFEEParameters; // TMap holding the FEE parameters of Time Resolution
90 :
91 : Bool_t fIsProcessed; // bool to know processing status
92 :
93 44 : ClassDef(AliVZERODataDCS, 7);
94 : };
95 :
96 : #endif
|