]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFDataDCS.h
New Run Range validity
[u/mrichter/AliRoot.git] / TOF / AliTOFDataDCS.h
1 #ifndef AliTOFDataDCS_H
2 #define AliTOFDataDCS_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 #include "TObject.h" 
10 #include "TString.h"
11
12 class TMap;
13 class TClonesArray;
14 class TH2F;
15 class TGraph;
16 class TF1;
17 //class TString;
18 class AliTOFFormatDCS;
19
20 // AliTOFDataDCS class
21 // main aim is to process DCS data
22 // in order to obtain the data to be stored in the OCDB
23
24 class AliTOFDataDCS : public TObject {
25 public:
26   enum {kNAliases=10512, kNHV=90, kNLV=576, 
27         kNLV33=72, kNLV50=72, kNLV48=72, 
28         kNFEEthr=1152, kNFEEtfeac=576, kNFEEttrm=6840, 
29         kNFunctions=0};
30   
31   AliTOFDataDCS();
32   AliTOFDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime);
33   AliTOFDataDCS(const AliTOFDataDCS & data);
34   AliTOFDataDCS& operator=(const AliTOFDataDCS & data);
35   ~AliTOFDataDCS();
36   
37   void SetRun(Int_t run) {fRun = run;}
38   void SetStartTime(Int_t startTime) {fStartTime = startTime;}
39   void SetEndTime(Int_t endTime) {fEndTime = endTime;}
40   Int_t GetRun() const {return fRun;}
41   Int_t GetStartTime() const {return fStartTime;}
42   Int_t GetEndTime() const {return fEndTime;}
43   
44   Bool_t ProcessData(TMap& aliasMap);
45   
46   const char* GetAliasName(Int_t pos) const 
47     {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
48   
49   void Draw(const Option_t* /*option*/);
50   
51   AliTOFFormatDCS* GetHVvp(Int_t pos) const
52     {return pos<kNHV ? fHVvp[pos] : 0;}
53   AliTOFFormatDCS* GetHVvn(Int_t pos) const 
54     {return pos<kNHV ? fHVvn[pos] : 0;}
55   AliTOFFormatDCS* GetHVip(Int_t pos) const 
56     {return pos<kNHV ? fHVip[pos] : 0;}
57   AliTOFFormatDCS* GetHVin(Int_t pos) const 
58     {return pos<kNHV ? fHVin[pos] : 0;}
59   AliTOFFormatDCS* GetLVv(Int_t pos) const 
60     {return pos<kNLV ? fLVv[pos] : 0;}
61   AliTOFFormatDCS* GetLVi(Int_t pos) const 
62     {return pos<kNLV ? fLVi[pos] : 0;}
63   AliTOFFormatDCS* GetLVv33(Int_t pos) const 
64     {return pos<kNLV ? fLVv33[pos] : 0;}
65   AliTOFFormatDCS* GetLVi33(Int_t pos) const 
66     {return pos<kNLV ? fLVi33[pos] : 0;}
67   AliTOFFormatDCS* GetLVv50(Int_t pos) const 
68     {return pos<kNLV ? fLVv50[pos] : 0;}
69   AliTOFFormatDCS* GetLVi50(Int_t pos) const 
70     {return pos<kNLV ? fLVi50[pos] : 0;}
71   AliTOFFormatDCS* GetLVv48(Int_t pos) const 
72     {return pos<kNLV ? fLVv48[pos] : 0;}
73   AliTOFFormatDCS* GetLVi48(Int_t pos) const 
74     {return pos<kNLV ? fLVi48[pos] : 0;}
75   AliTOFFormatDCS* GetFEEthr(Int_t pos) const
76     {return pos<kNFEEthr ? fFEEthr[pos] : 0;}
77   AliTOFFormatDCS* GetFEEtfeac(Int_t pos) const
78     {return pos<kNFEEtfeac ? fFEEtfeac[pos] : 0;}
79   AliTOFFormatDCS* GetFEEttrm(Int_t pos) const
80     {return pos<kNFEEttrm ? fFEEttrm[pos] : 0;}
81
82 private:
83   void Init();
84   void Introduce(UInt_t numAlias, const TObjArray* aliasArr) const;
85   void CreateHisto(int nbin);
86   
87   Int_t fRun;       // Run number
88   Int_t fStartTime; // start time
89   Int_t fEndTime;   // end time
90   
91   
92   TString fAliasNames[kNAliases];        // aliases for DCS data
93   AliTOFFormatDCS *fHVvp[kNHV];          // HV voltages, positive ch
94   AliTOFFormatDCS *fHVvn[kNHV];          // HV voltages, negative ch
95   AliTOFFormatDCS *fHVip[kNHV];          // HV currents, positive ch
96   AliTOFFormatDCS *fHVin[kNHV];          // HV currents, negative ch
97   AliTOFFormatDCS *fLVv[kNLV];           // LV fea voltages
98   AliTOFFormatDCS *fLVi[kNLV];           // LV fea currents
99   AliTOFFormatDCS *fLVv33[kNLV33];       // LV 3.3 V voltages
100   AliTOFFormatDCS *fLVi33[kNLV33];       // LV 3.3 V currents
101   AliTOFFormatDCS *fLVv50[kNLV50];       // LV 5.0 V voltages
102   AliTOFFormatDCS *fLVi50[kNLV50];       // LV 5.0 V currents
103   AliTOFFormatDCS *fLVv48[kNLV48];       // LV 48 V voltages
104   AliTOFFormatDCS *fLVi48[kNLV48];       // LV 48 V currents
105   AliTOFFormatDCS *fFEEthr[kNFEEthr];    // FEE thresholds
106   AliTOFFormatDCS *fFEEtfeac[kNFEEtfeac];// FEE feac temperatures
107   AliTOFFormatDCS *fFEEttrm[kNFEEttrm];  // FEE trm temperatures
108   
109   Bool_t fIsProcessed;                   // bool to know processing status
110   
111   ClassDef(AliTOFDataDCS, 3);
112 };
113
114 #endif