DCS Object
[u/mrichter/AliRoot.git] / VZERO / AliVZERODataDCS.h
CommitLineData
76b6018a 1#ifndef AliVZERODataDCS_H
2#define AliVZERODataDCS_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7#include "TObject.h"
8#include "TString.h"
9
10#include <TClonesArray.h>
11#include <TH1F.h>
12
13class TMap;
14class TH2F;
15class TGraph;
16class TF1;
17
18// AliVZERODataDCS class
19// main aim is to process DCS data
20// in order to obtain the data to be stored in the OCDB
21
22class AliVZERODataDCS : public TObject {
23public:
24 enum {kNAliases=64,kNGraphs=64};
25 enum {kHvMin=0, kHvMax=2000};
26
27 AliVZERODataDCS();
28 AliVZERODataDCS(Int_t nRun, UInt_t startTime, UInt_t endTime);
29 ~AliVZERODataDCS();
30
31 void SetRun(Int_t run) {fRun = run;}
32 void SetStartTime(Int_t startTime) {fStartTime = startTime;}
33 void SetEndTime(Int_t endTime) {fEndTime = endTime;}
34 Int_t GetRun() const {return fRun;}
35 Int_t GetStartTime() const {return fStartTime;}
36 Int_t GetEndTime() const {return fEndTime;}
37
38 void ProcessData(TMap& aliasMap);
39
40 const char* GetAliasName(Int_t pos) const
41 {return pos<kNAliases ? fAliasNames[pos].Data() : 0;}
42
43 void Draw(const Option_t* option);
44
45 Float_t* GetMeanHV() const {return (float*)fMeanHV;}
46 Float_t* GetWidthHV() const {return (float*)fWidthHV;}
47
48private:
49 void Init();
50 void Introduce(UInt_t numAlias, const TObjArray* aliasArr) const;
51 void CreateGraph(int i, int dim, const Double_t *x, const Double_t *y);
52
53 Int_t fRun; // Run number
54 Int_t fStartTime; // start time
55 Int_t fEndTime; // end time
56
57
58 TString fAliasNames[kNAliases]; // aliases for DCS data
59 TClonesArray fGraphs; // Array containing graphics
60 TH1F *fHv[kNAliases];
61 Float_t fMeanHV[kNAliases];
62 Float_t fWidthHV[kNAliases];
63
64 Bool_t fIsProcessed; // bool to know processing status
65
66 ClassDef(AliVZERODataDCS, 2);
67};
68
69#endif