Update of the DA in order to cope with the dense filling scheme of 2011. Necessitates...
[u/mrichter/AliRoot.git] / VZERO / AliVZERODataDCS.h
CommitLineData
76b6018a 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
80663cb8 7#include <TObject.h>
76b6018a 8#include <TClonesArray.h>
76b6018a 9
10class TMap;
11class TH2F;
12class TGraph;
13class TF1;
80663cb8 14class TString;
15class TH1F;
76b6018a 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
21class AliVZERODataDCS : public TObject {
22public:
6e2c3e87 23 enum {kNAliases=240,kNGraphs=64,kNHvChannel=64,kNLvChannel=16,kNCIUBoards = 8};
1646eccd 24 enum {kHvMin=0, kHvMax=3000};
76b6018a 25
26 AliVZERODataDCS();
3b757990 27 AliVZERODataDCS(Int_t nRun, UInt_t timeCreated, UInt_t timeCompleted, UInt_t daqStart, UInt_t daqEnd);
76b6018a 28 ~AliVZERODataDCS();
29
30 void SetRun(Int_t run) {fRun = run;}
31 void SetStartTime(Int_t startTime) {fStartTime = startTime;}
32 void SetEndTime(Int_t endTime) {fEndTime = endTime;}
3b757990 33 void SetDaqStartTime(Int_t startTime) {fDaqStartTime = startTime;}
34 void SetDaqEndTime(Int_t endTime) {fDaqEndTime = endTime;}
76b6018a 35 Int_t GetRun() const {return fRun;}
36 Int_t GetStartTime() const {return fStartTime;}
37 Int_t GetEndTime() const {return fEndTime;}
3b757990 38 Int_t GetDaqStartTime() const {return fDaqStartTime;}
39 Int_t GetDaqEndTime() const {return fDaqEndTime;}
76b6018a 40
41 void ProcessData(TMap& aliasMap);
42
43 const char* GetAliasName(Int_t pos) const
44 {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
45
46 void Draw(const Option_t* option);
47
080c32e6 48 Float_t* GetMeanHV() const {return (float*)fMeanHV;}
76b6018a 49 Float_t* GetWidthHV() const {return (float*)fWidthHV;}
7495d2be 50 Bool_t * GetDeadMap() const {return (bool*)fDeadChannel;}
d5deaaa5 51 TMap * GetFEEParameters() const {return fFEEParameters;};
52
080c32e6 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 { 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 return fOfflineChannel[channel]; }
66
76b6018a 67private:
c61a7285 68 AliVZERODataDCS(const AliVZERODataDCS&); // Not implemented
69 AliVZERODataDCS& operator=(const AliVZERODataDCS&); // Not implemented
70
76b6018a 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
3b757990 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
76b6018a 80
81 TString fAliasNames[kNAliases]; // aliases for DCS data
80663cb8 82 TClonesArray fGraphs; // Array containing graphics
7495d2be 83 TH1F *fHv[kNHvChannel]; // High Voltage histograms
84 Float_t fMeanHV[kNHvChannel]; // High Voltage mean values
85 Float_t fWidthHV[kNHvChannel]; // High Voltage widths
86 Bool_t fDeadChannel[kNHvChannel]; // Dead Map
d5deaaa5 87 TMap * fFEEParameters; // TMap holding the FEE parameters of Time Resolution
88
76b6018a 89 Bool_t fIsProcessed; // bool to know processing status
90
32cd3fdc 91 ClassDef(AliVZERODataDCS, 6);
76b6018a 92};
93
94#endif