]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFDataDCS.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[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 // AliTOFDataDCS class
10 // main aim is to process DCS data
11 // in order to obtain the data to be stored in the OCDB
12
13 #include "TObject.h" 
14
15 class TMap;
16 class TClonesArray;
17 class TString;
18 class AliTOFFormatDCS;
19
20 class AliTOFDataDCS : public TObject {
21 public:
22   enum {kNAliases=360, kNHV=90};
23   
24   AliTOFDataDCS();
25   AliTOFDataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime, UInt_t startTimeDCSQuery, UInt_t endTimeDCSQuery );
26   AliTOFDataDCS(const AliTOFDataDCS & data);
27   AliTOFDataDCS& operator=(const AliTOFDataDCS & data);
28   ~AliTOFDataDCS();
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;}
33   void SetStartTimeDCSQuery(Int_t startTimeDCSQuery) {fStartTimeDCSQuery = startTimeDCSQuery;}
34   void SetEndTimeDCSQuery(Int_t endTimeDCSQuery) {fEndTimeDCSQuery = endTimeDCSQuery;}
35   Int_t GetRun() const {return fRun;}
36   Int_t GetStartTime() const {return fStartTime;}
37   Int_t GetEndTime() const {return fEndTime;}
38   Int_t GetStartTimeDCSQuery() const {return fStartTimeDCSQuery;}
39   Int_t GetEndTimeDCSQuery() const {return fEndTimeDCSQuery;}
40   
41   Bool_t 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   
48   AliTOFFormatDCS* GetHVvp(Int_t pos) const
49     {return pos<kNHV ? fHVvp[pos] : 0;}
50   AliTOFFormatDCS* GetHVvn(Int_t pos) const 
51     {return pos<kNHV ? fHVvn[pos] : 0;}
52   AliTOFFormatDCS* GetHVip(Int_t pos) const 
53     {return pos<kNHV ? fHVip[pos] : 0;}
54   AliTOFFormatDCS* GetHVin(Int_t pos) const 
55     {return pos<kNHV ? fHVin[pos] : 0;}
56
57   void SetFDRFlag(Bool_t flag) {fFDR = flag;}
58   Bool_t GetFDRFlag() const {return fFDR;}
59
60 private:
61   void Init();
62   void Introduce(UInt_t numAlias, const TObjArray* aliasArr) const;
63   void CreateHisto(int nbin);
64   
65   Int_t fRun;       // Run number
66   Int_t fStartTime; // start time
67   Int_t fEndTime;   // end time  
68   Int_t fStartTimeDCSQuery; // start time DCSQuery
69   Int_t fEndTimeDCSQuery;   // end time DCSQuery
70   
71   TString fAliasNames[kNAliases];        // aliases for DCS data
72   AliTOFFormatDCS *fHVvp[kNHV];          // HV voltages, positive ch
73   AliTOFFormatDCS *fHVvn[kNHV];          // HV voltages, negative ch
74   AliTOFFormatDCS *fHVip[kNHV];          // HV currents, positive ch
75   AliTOFFormatDCS *fHVin[kNHV];          // HV currents, negative ch
76   
77   Bool_t fIsProcessed;                   // bool to know processing status
78   Bool_t fFDR;                   // bool to know whether we are in a FDR run
79   
80   ClassDef(AliTOFDataDCS, 5);
81 };
82
83 #endif