temporary fix of bug from Savannah report 54512
[u/mrichter/AliRoot.git] / T0 / AliT0DataDCS.h
CommitLineData
dc7ca31d 1#ifndef AliT0DataDCS_H
2#define AliT0DataDCS_H
3
9dcc11e4 4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
dc7ca31d 7#include <TMap.h>
8#include <TClonesArray.h>
dc7ca31d 9#include <TGraph.h>
9dcc11e4 10
11// AliT0DataDCS class
12// fetching T0 data points from DCS, calculating mean values for the run
13// and storing the result to Reference DB
dc7ca31d 14
15class AliT0DataDCS : public TObject {
16public:
955ef7d2 17 enum {kNAliases=191, kHV=12, kLV=2, kCFD=12, kScalers=32, kTRM=10, kDRM=5, kAtten=1}; // 191 T0 aliases
dc7ca31d 18
19 AliT0DataDCS();
8eb4ac75 20 AliT0DataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime, UInt_t startTimeDCSQuery, UInt_t endTimeDCSQuery);
21 AliT0DataDCS(const AliT0DataDCS & data);
22 AliT0DataDCS& operator=(const AliT0DataDCS & data);
dc7ca31d 23 ~AliT0DataDCS();
24
25 void SetRun(Int_t run) {fRun = run;}
26 void SetStartTime(Int_t startTime) {fStartTime = startTime;}
27 void SetEndTime(Int_t endTime) {fEndTime = endTime;}
8eb4ac75 28 void SetStartTimeDCSQuery(Int_t startTimeDCSQuery) {fStartTimeDCSQuery = startTimeDCSQuery;}
29 void SetEndTimeDCSQuery(Int_t endTimeDCSQuery) {fEndTimeDCSQuery = endTimeDCSQuery;}
9dcc11e4 30 Int_t GetRun() const {return fRun;}
31 Int_t GetStartTime() const {return fStartTime;}
32 Int_t GetEndTime() const {return fEndTime;}
8eb4ac75 33 Int_t GetStartTimeDCSQuery() const {return fStartTimeDCSQuery;}
34 Int_t GetEndTimeDCSQuery() const {return fEndTimeDCSQuery;}
dc7ca31d 35
91366e58 36 Bool_t ProcessData(TMap& aliasMap);
dc7ca31d 37
8eb4ac75 38 const char* GetAliasName(Int_t pos) const {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
dc7ca31d 39private:
40 void Init();
8eb4ac75 41 void Introduce(UInt_t numAlias, const TObjArray* aliasArr)const;
dc7ca31d 42
955ef7d2 43 Int_t fRun; // Run number
44 UInt_t fStartTime; // Start time
45 UInt_t fEndTime; // End time
46 Int_t fStartTimeDCSQuery; // Begin time DCSQuery
47 Int_t fEndTimeDCSQuery; // End time DCSQuery
48 Float_t fHViA[kHV]; // Mean value of HV current in uA on A-side
49 Float_t fHVvA[kHV]; // Mean value of HV voltage in V on A-side
50 Float_t fLViA[kLV]; // Mean value of LV current in uA on A-side
51 Float_t fLVvA[kLV]; // Mean value of LV voltage in V on A-side
52 Float_t fHViC[kHV]; // Mean value of HV current in uA on C-side
53 Float_t fHVvC[kHV]; // Mean value of HV voltage in V on C-side
54 Float_t fLViC[kLV]; // Mean value of LV current in uA on C-side
55 Float_t fLVvC[kLV]; // Mean value of LV voltage in V on C-side
56 Float_t fCFDtA[kCFD]; // Mean threshold on CFD in V on A-side
57 Float_t fCFDwA[kCFD]; // Mean walk on CFD in V on A-side
58 Float_t fCFDtC[kCFD]; // Mean threshold on CFD in V on C-side
59 Float_t fCFDwC[kCFD]; // Mean walk on CFD in V on C-side
60 Float_t fScalerMean[kScalers]; // Mean value of T0 scaler counts from the entire run
61 Float_t fScalerSecMean[kScalers]; // Mean value of T0 scaler counts per second
62 Float_t fTRM[kTRM]; // Mean temperature on TRM in degrees of Celsius
63 Float_t fDRM[kDRM]; // Mean temperature on DRM in degrees of Celsius
64 Float_t fAtten; // Laser amplitude in MIPs
65 Int_t fMPDcentA; // Multiplicity Discriminator central on A-side
66 Int_t fMPDcentC; // Multiplicity Discriminator central on C-side
67 Int_t fMPDsemiCentA; // Multiplicity Discriminator semi-central on A-side
68 Int_t fMPDsemiCentC; // Multiplicity Discriminator semi-central on C-side
69 Int_t fTVDCtop; // T0 Vertex Unit top
70 Int_t fTVDCbottom; // T0 Vertex Unit bottom
71 Int_t fMPDmode; // Multiplicity Discriminator on C-side only, A-side only, or both sides
9dcc11e4 72 TString fAliasNames[kNAliases]; // T0 data points aliases
73 Bool_t fIsProcessed; // status - was processing data successful
8eb4ac75 74 ClassDef(AliT0DataDCS, 3);
970bb0d0 75
76protected:
dc7ca31d 77};
78
79#endif