1 #ifndef AliTOFDataDCS_H
2 #define AliTOFDataDCS_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
18 class AliTOFFormatDCS;
20 // AliTOFDataDCS class
21 // main aim is to process DCS data
22 // in order to obtain the data to be stored in the OCDB
24 class AliTOFDataDCS : public TObject {
26 enum {kNAliases=10514, kNHV=90, kNLV=576,
27 kNLV33=72, kNLV50=72, kNLV48=72,
28 kNFEEthr=1152, kNFEEtfeac=576, kNFEEttrm=6840,
29 kNFunctions=0, kNT=1, kNP=1};
32 AliTOFDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime);
33 AliTOFDataDCS(const AliTOFDataDCS & data);
34 AliTOFDataDCS& operator=(const AliTOFDataDCS & data);
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;}
44 Bool_t ProcessData(TMap& aliasMap);
46 const char* GetAliasName(Int_t pos) const
47 {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
50 Float_t* GetT() const;
51 Float_t* GetP() const;
53 Float_t GetT(Int_t i) const {return fT[i];}
54 Float_t GetP(Int_t i) const {return fP[i];}
55 Float_t GetSlopeT() const {return fT[0];}
56 Float_t GetInterceptT() const {return fT[1];}
57 Float_t GetMaxT()const {return fT[2];}
58 Float_t GetSlopeP() const {return fP[0];}
59 Float_t GetInterceptP() const {return fP[1];}
60 Float_t GetMaxP() const {return fP[2];}
62 void SetSlopeT(Float_t slopeT) {fT[0]=slopeT;}
63 void SetInterceptT(Float_t interceptT) {fT[1]=interceptT;}
64 void SetMaxT(Float_t maxT) {fT[2]=maxT;}
65 void SetSlopeP(Float_t slopeP) {fP[0]=slopeP;}
66 void SetInterceptP(Float_t interceptP) {fP[1]=interceptP;}
67 void SetMaxP(Float_t maxP) {fP[2]=maxP;}
69 void Draw(const Option_t* option) /*const*/;
71 AliTOFFormatDCS* GetHVvp(Int_t pos) const
72 {return pos<kNHV ? fHVvp[pos] : 0;}
73 AliTOFFormatDCS* GetHVvn(Int_t pos) const
74 {return pos<kNHV ? fHVvn[pos] : 0;}
75 AliTOFFormatDCS* GetHVip(Int_t pos) const
76 {return pos<kNHV ? fHVip[pos] : 0;}
77 AliTOFFormatDCS* GetHVin(Int_t pos) const
78 {return pos<kNHV ? fHVin[pos] : 0;}
79 AliTOFFormatDCS* GetLVv(Int_t pos) const
80 {return pos<kNLV ? fLVv[pos] : 0;}
81 AliTOFFormatDCS* GetLVi(Int_t pos) const
82 {return pos<kNLV ? fLVi[pos] : 0;}
83 AliTOFFormatDCS* GetLVv33(Int_t pos) const
84 {return pos<kNLV ? fLVv33[pos] : 0;}
85 AliTOFFormatDCS* GetLVi33(Int_t pos) const
86 {return pos<kNLV ? fLVi33[pos] : 0;}
87 AliTOFFormatDCS* GetLVv50(Int_t pos) const
88 {return pos<kNLV ? fLVv50[pos] : 0;}
89 AliTOFFormatDCS* GetLVi50(Int_t pos) const
90 {return pos<kNLV ? fLVi50[pos] : 0;}
91 AliTOFFormatDCS* GetLVv48(Int_t pos) const
92 {return pos<kNLV ? fLVv48[pos] : 0;}
93 AliTOFFormatDCS* GetLVi48(Int_t pos) const
94 {return pos<kNLV ? fLVi48[pos] : 0;}
95 AliTOFFormatDCS* GetFEEthr(Int_t pos) const
96 {return pos<kNFEEthr ? fFEEthr[pos] : 0;}
97 AliTOFFormatDCS* GetFEEtfeac(Int_t pos) const
98 {return pos<kNFEEtfeac ? fFEEtfeac[pos] : 0;}
99 AliTOFFormatDCS* GetFEEttrm(Int_t pos) const
100 {return pos<kNFEEttrm ? fFEEttrm[pos] : 0;}
104 void Introduce(UInt_t numAlias, const TObjArray* aliasArr) const;
105 void CreateHisto(int nbin);
107 Int_t fRun; // Run number
108 Int_t fStartTime; // start time
109 Int_t fEndTime; // end time
112 TString fAliasNames[kNAliases]; // aliases for DCS data
113 AliTOFFormatDCS *fHVvp[kNHV]; // HV voltages, positive ch
114 AliTOFFormatDCS *fHVvn[kNHV]; // HV voltages, negative ch
115 AliTOFFormatDCS *fHVip[kNHV]; // HV currents, positive ch
116 AliTOFFormatDCS *fHVin[kNHV]; // HV currents, negative ch
117 AliTOFFormatDCS *fLVv[kNLV]; // LV fea voltages
118 AliTOFFormatDCS *fLVi[kNLV]; // LV fea currents
119 AliTOFFormatDCS *fLVv33[kNLV33]; // LV 3.3 V voltages
120 AliTOFFormatDCS *fLVi33[kNLV33]; // LV 3.3 V currents
121 AliTOFFormatDCS *fLVv50[kNLV50]; // LV 5.0 V voltages
122 AliTOFFormatDCS *fLVi50[kNLV50]; // LV 5.0 V currents
123 AliTOFFormatDCS *fLVv48[kNLV48]; // LV 48 V voltages
124 AliTOFFormatDCS *fLVi48[kNLV48]; // LV 48 V currents
125 AliTOFFormatDCS *fFEEthr[kNFEEthr]; // FEE thresholds
126 AliTOFFormatDCS *fFEEtfeac[kNFEEtfeac];// FEE feac temperatures
127 AliTOFFormatDCS *fFEEttrm[kNFEEttrm]; // FEE trm temperatures
128 Float_t fT[3]; // environment temperature
129 Float_t fP[3]; // environment pressure
131 Bool_t fIsProcessed; // bool to know processing status
133 ClassDef(AliTOFDataDCS, 2);