]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFDataDCS.h
Updated Aliases for DCS TOF datapoints (C.Zampolli)
[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 AliTOFFormatDCS;
18
19 // AliTOFDataDCS class
20 // main aim is to process DCS data
21 // in order to obtain the data to be stored in the OCDB
22
23 class AliTOFDataDCS : public TObject {
24 public:
25   enum {kNAliases=10514, kNHV=90, kNLV=576, 
26         kNLV33=72, kNLV50=72, kNLV48=72, 
27         kNFEEthr=1152, kNFEEtfeac=576, kNFEEttrm=6840, 
28         kNFunctions=0, kNT=1, kNP=1};
29   
30   AliTOFDataDCS();
31   AliTOFDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime);
32   AliTOFDataDCS(const AliTOFDataDCS & data);
33   AliTOFDataDCS& operator=(const AliTOFDataDCS & data);
34   ~AliTOFDataDCS();
35   
36   void SetRun(Int_t run) {fRun = run;}
37   void SetStartTime(Int_t startTime) {fStartTime = startTime;}
38   void SetEndTime(Int_t endTime) {fEndTime = endTime;}
39   Int_t GetRun() const {return fRun;}
40   Int_t GetStartTime() const {return fStartTime;}
41   Int_t GetEndTime() const {return fEndTime;}
42   
43   void ProcessData(TMap& aliasMap);
44   
45   const char* GetAliasName(Int_t pos) const 
46     {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
47   
48   
49   Float_t* GetT() const;
50   Float_t* GetP() const;
51   
52   Float_t GetT(Int_t i) const {return fT[i];}
53   Float_t GetP(Int_t i) const {return fP[i];}
54   Float_t GetSlopeT() const {return fT[0];}
55   Float_t GetInterceptT() const {return fT[1];}
56   Float_t GetMaxT()const {return fT[2];}
57   Float_t GetSlopeP() const {return fP[0];}
58   Float_t GetInterceptP() const {return fP[1];}
59   Float_t GetMaxP() const {return fP[2];}
60  
61   void SetSlopeT(Float_t slopeT) {fT[0]=slopeT;}
62   void SetInterceptT(Float_t interceptT) {fT[1]=interceptT;}
63   void SetMaxT(Float_t maxT) {fT[2]=maxT;}
64   void SetSlopeP(Float_t slopeP) {fP[0]=slopeP;}
65   void SetInterceptP(Float_t interceptP) {fP[1]=interceptP;}
66   void SetMaxP(Float_t maxP) {fP[2]=maxP;}
67   
68   void Draw(const Option_t* option);
69   
70   AliTOFFormatDCS* GetHVvp(Int_t pos) const
71     {return pos<kNHV ? fHVvp[pos] : 0;}
72   AliTOFFormatDCS* GetHVvn(Int_t pos) const 
73     {return pos<kNHV ? fHVvn[pos] : 0;}
74   AliTOFFormatDCS* GetHVip(Int_t pos) const 
75     {return pos<kNHV ? fHVip[pos] : 0;}
76   AliTOFFormatDCS* GetHVin(Int_t pos) const 
77     {return pos<kNHV ? fHVin[pos] : 0;}
78   AliTOFFormatDCS* GetLVv(Int_t pos) const 
79     {return pos<kNLV ? fLVv[pos] : 0;}
80   AliTOFFormatDCS* GetLVi(Int_t pos) const 
81     {return pos<kNLV ? fLVi[pos] : 0;}
82   AliTOFFormatDCS* GetLVv33(Int_t pos) const 
83     {return pos<kNLV ? fLVv33[pos] : 0;}
84   AliTOFFormatDCS* GetLVi33(Int_t pos) const 
85     {return pos<kNLV ? fLVi33[pos] : 0;}
86   AliTOFFormatDCS* GetLVv50(Int_t pos) const 
87     {return pos<kNLV ? fLVv50[pos] : 0;}
88   AliTOFFormatDCS* GetLVi50(Int_t pos) const 
89     {return pos<kNLV ? fLVi50[pos] : 0;}
90   AliTOFFormatDCS* GetLVv48(Int_t pos) const 
91     {return pos<kNLV ? fLVv48[pos] : 0;}
92   AliTOFFormatDCS* GetLVi48(Int_t pos) const 
93     {return pos<kNLV ? fLVi48[pos] : 0;}
94   AliTOFFormatDCS* GetFEEthr(Int_t pos) const
95     {return pos<kNFEEthr ? fFEEthr[pos] : 0;}
96   AliTOFFormatDCS* GetFEEtfeac(Int_t pos) const
97     {return pos<kNFEEtfeac ? fFEEtfeac[pos] : 0;}
98   AliTOFFormatDCS* GetFEEttrm(Int_t pos) const
99     {return pos<kNFEEttrm ? fFEEttrm[pos] : 0;}
100
101 private:
102   void Init();
103   void Introduce(UInt_t numAlias, const TObjArray* aliasArr) const;
104   void CreateHisto(int nbin);
105   
106   Int_t fRun;       // Run number
107   Int_t fStartTime; // start time
108   Int_t fEndTime;   // end time
109   
110   
111   TString fAliasNames[kNAliases];        // aliases for DCS data
112   AliTOFFormatDCS *fHVvp[kNHV];          // HV voltages, positive ch
113   AliTOFFormatDCS *fHVvn[kNHV];          // HV voltages, negative ch
114   AliTOFFormatDCS *fHVip[kNHV];          // HV currents, positive ch
115   AliTOFFormatDCS *fHVin[kNHV];          // HV currents, negative ch
116   AliTOFFormatDCS *fLVv[kNLV];           // LV fea voltages
117   AliTOFFormatDCS *fLVi[kNLV];           // LV fea currents
118   AliTOFFormatDCS *fLVv33[kNLV33];       // LV 3.3 V voltages
119   AliTOFFormatDCS *fLVi33[kNLV33];       // LV 3.3 V currents
120   AliTOFFormatDCS *fLVv50[kNLV50];       // LV 5.0 V voltages
121   AliTOFFormatDCS *fLVi50[kNLV50];       // LV 5.0 V currents
122   AliTOFFormatDCS *fLVv48[kNLV48];       // LV 48 V voltages
123   AliTOFFormatDCS *fLVi48[kNLV48];       // LV 48 V currents
124   AliTOFFormatDCS *fFEEthr[kNFEEthr];    // FEE thresholds
125   AliTOFFormatDCS *fFEEtfeac[kNFEEtfeac];// FEE feac temperatures
126   AliTOFFormatDCS *fFEEttrm[kNFEEttrm];  // FEE trm temperatures
127   Float_t fT[3];                         // environment temperature
128   Float_t fP[3];                         // environment pressure
129   
130   Bool_t fIsProcessed;                   // bool to know processing status
131   
132   ClassDef(AliTOFDataDCS, 2);
133 };
134
135 #endif