1 #ifndef AliVZERODataDCS_H
2 #define AliVZERODataDCS_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
8 #include <TClonesArray.h>
17 // AliVZERODataDCS class
18 // main aim is to process DCS data
19 // in order to obtain the data to be stored in the OCDB
21 class AliVZERODataDCS : public TObject {
23 enum {kNAliases=80,kNGraphs=64,kNHvChannel=64,kNLvChannel=16,kNCIUBoards = 8};
24 enum {kHvMin=0, kHvMax=3000};
27 AliVZERODataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime);
30 void SetRun(Int_t run) {fRun = run;}
31 void SetStartTime(Int_t startTime) {fStartTime = startTime;}
32 void SetEndTime(Int_t endTime) {fEndTime = endTime;}
33 Int_t GetRun() const {return fRun;}
34 Int_t GetStartTime() const {return fStartTime;}
35 Int_t GetEndTime() const {return fEndTime;}
37 void ProcessData(TMap& aliasMap);
39 const char* GetAliasName(Int_t pos) const
40 {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
42 void Draw(const Option_t* option);
44 Float_t* GetMeanHV() const {return (float*)fMeanHV;}
45 Float_t* GetWidthHV() const {return (float*)fWidthHV;}
46 Bool_t * GetDeadMap() const {return (bool*)fDeadChannel;}
47 TMap * GetFEEParameters() const {return fFEEParameters;};
49 // Getter of Offline Channel number as used in aliroot (defined by aliroot
50 // numbering convention) from DCS Channel number
52 Int_t GetOfflineChannel(Int_t channel) const
53 { Int_t fOfflineChannel[64] = {32, 33, 34, 35, 36, 37, 38, 39,
54 40, 41, 42, 43, 44, 45, 46, 47,
55 48, 49, 50, 51, 52, 53, 54, 55,
56 56, 57, 58, 59, 60, 61, 62, 63,
57 0, 1, 2, 3, 4, 5, 6, 7,
58 8, 9, 10, 11, 12, 13, 14, 15,
59 16, 17, 18, 19, 20, 21, 22, 23,
60 24, 25, 26, 27, 28, 29, 30, 31};
61 return fOfflineChannel[channel]; }
64 AliVZERODataDCS(const AliVZERODataDCS&); // Not implemented
65 AliVZERODataDCS& operator=(const AliVZERODataDCS&); // Not implemented
68 void Introduce(UInt_t numAlias, const TObjArray* aliasArr) const;
69 void CreateGraph(int i, int dim, const Double_t *x, const Double_t *y);
71 Int_t fRun; // Run number
72 Int_t fStartTime; // start time
73 Int_t fEndTime; // end time
76 TString fAliasNames[kNAliases]; // aliases for DCS data
77 TClonesArray fGraphs; // Array containing graphics
78 TH1F *fHv[kNHvChannel]; // High Voltage histograms
79 Float_t fMeanHV[kNHvChannel]; // High Voltage mean values
80 Float_t fWidthHV[kNHvChannel]; // High Voltage widths
81 Bool_t fDeadChannel[kNHvChannel]; // Dead Map
82 TMap * fFEEParameters; // TMap holding the FEE parameters of Time Resolution
84 Bool_t fIsProcessed; // bool to know processing status
86 ClassDef(AliVZERODataDCS, 4);