]>
Commit | Line | Data |
---|---|---|
d96c6484 | 1 | #ifndef ALI_DCS_ARRAY_H |
2 | #define ALI_DCS_ARRAY_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 | //////////////////////////////////////////////////////////////////////////////// | |
10 | // // | |
11 | // This class represents the value(s) of a the LHC DPs at a given timestamp // | |
12 | // // | |
13 | //////////////////////////////////////////////////////////////////////////////// | |
14 | ||
15 | #include <TObject.h> | |
30ec5bf7 | 16 | #include <TObjArray.h> |
17 | //#include <TTimeStamp.h> | |
a6088e29 | 18 | class TObjString; |
d96c6484 | 19 | |
20 | class AliDCSArray : public TObject { | |
21 | public: | |
22 | enum Type { | |
23 | kInvalid = 0, | |
24 | kBool = 1, | |
25 | kChar = 2, | |
26 | kInt = 3, | |
27 | kUInt = 4, | |
28 | kFloat = 5, | |
30ec5bf7 | 29 | kString = 6, |
30 | kDouble = 7 | |
d96c6484 | 31 | }; |
32 | ||
33 | AliDCSArray(); | |
34 | AliDCSArray(const AliDCSArray& c); | |
35 | ||
36 | virtual ~AliDCSArray(); | |
37 | ||
38 | AliDCSArray& operator=(const AliDCSArray& c); | |
39 | ||
30ec5bf7 | 40 | AliDCSArray(Int_t nentries, Bool_t* value, Double_t timeStamp); |
41 | AliDCSArray(Int_t nentries, Char_t* value, Double_t timeStamp); | |
42 | AliDCSArray(Int_t nentries, Int_t* value, Double_t timeStamp); | |
43 | AliDCSArray(Int_t nentries, UInt_t* value, Double_t timeStamp); | |
44 | AliDCSArray(Int_t nentries, Float_t* value, Double_t timeStamp); | |
45 | AliDCSArray(Int_t nentries, Double_t* value, Double_t timeStamp); | |
46 | AliDCSArray(Int_t nentries, TObjArray* value, Double_t timeStamp); | |
d96c6484 | 47 | |
48 | Int_t GetNEntries() const { return fnentries;} | |
49 | Bool_t* GetBool() const { return fBool; } | |
50 | Char_t* GetChar() const { return fChar; } | |
51 | Int_t* GetInt() const { return fInt; } | |
52 | UInt_t* GetUInt() const { return fUInt; } | |
53 | Float_t* GetFloat() const { return fFloat; } | |
30ec5bf7 | 54 | Double_t* GetDouble() const { return fDouble; } |
55 | TObjArray* GetStringArray() const { return fStringArray; } | |
56 | ||
57 | Bool_t GetBool(Int_t index) const { return fBool[index]; } | |
58 | Char_t GetChar(Int_t index) const { return fChar[index]; } | |
59 | Int_t GetInt(Int_t index) const { return fInt[index]; } | |
60 | UInt_t GetUInt(Int_t index) const { return fUInt[index]; } | |
61 | Float_t GetFloat(Int_t index) const { return fFloat[index]; } | |
62 | Double_t GetDouble(Int_t index) const { return fDouble[index]; } | |
a6088e29 | 63 | TObjString* GetStringArray(Int_t index) const { return (TObjString*)fStringArray->At(index); } |
d96c6484 | 64 | |
65 | Type GetType() const { return fType; } | |
66 | ||
30ec5bf7 | 67 | Double_t GetTimeStamp() const { return fTimeStamp; } |
68 | void SetTimeStamp(Double_t timeStamp) { fTimeStamp = timeStamp; } | |
d96c6484 | 69 | |
70 | protected: | |
71 | ||
72 | void Init(); | |
73 | ||
30ec5bf7 | 74 | Type fType; // type of the value stored |
d96c6484 | 75 | |
30ec5bf7 | 76 | Int_t fnentries; // n. of entries at the same timestamp |
77 | Bool_t* fBool; //[fnentries] bool value | |
78 | Char_t* fChar; //[fnentries] char value | |
79 | Int_t* fInt; //[fnentries] int value | |
80 | UInt_t* fUInt; //[fnentries] uint value | |
81 | Float_t* fFloat; //[fnentries] float value | |
82 | // TString* fString; //[fnentries] string value | |
83 | TObjArray* fStringArray; //TObjArray to store TObjStrinf for string value | |
d96c6484 | 84 | |
30ec5bf7 | 85 | Double_t fTimeStamp; // timestamp of this value |
86 | ||
87 | Double_t* fDouble; //[fnentries] double value | |
d96c6484 | 88 | |
30ec5bf7 | 89 | ClassDef(AliDCSArray, 2); |
d96c6484 | 90 | }; |
91 | ||
92 | #endif |