1 #ifndef ALI_DCS_VALUE_H
2 #define ALI_DCS_VALUE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 // This class represents the value(s) of a DCS data point at a given timestamp
15 class AliDCSValue : public TObject {
28 AliDCSValue(const AliDCSValue& c);
30 virtual ~AliDCSValue();
32 AliDCSValue& operator=(const AliDCSValue& c);
33 virtual void Copy(TObject& c) const;
35 AliDCSValue(Bool_t value, UInt_t timeStamp);
36 AliDCSValue(Char_t value, UInt_t timeStamp);
37 AliDCSValue(Int_t value, UInt_t timeStamp);
38 AliDCSValue(UInt_t value, UInt_t timeStamp);
39 AliDCSValue(Float_t value, UInt_t timeStamp);
41 Bool_t GetBool() const { return fBool; }
42 Char_t GetChar() const { return fChar; }
43 Int_t GetInt() const { return fInt; }
44 UInt_t GetUInt() const { return fUInt; }
45 Float_t GetFloat() const { return fFloat; }
47 operator Bool_t() const { return GetBool(); }
48 operator Char_t() const { return GetChar(); }
49 operator Int_t() const { return GetInt(); }
50 operator UInt_t() const { return GetUInt(); }
51 operator Float_t() const { return GetFloat(); }
53 Type GetType() const { return fType; }
55 UInt_t GetTimeStamp() const { return fTimeStamp; }
56 void SetTimeStamp(UInt_t timeStamp) { fTimeStamp = timeStamp; }
58 Int_t GetSize() const;
60 const Char_t* ToString() const;
61 void Print(Option_t* /*opt*/) const;
64 /**********************************************/
66 Int_t Compare(const TObject* obj) const
67 { if( fTimeStamp < ((AliDCSValue *)obj )->fTimeStamp ) return -1;
68 if( fTimeStamp == ((AliDCSValue *)obj )->fTimeStamp ) return 0;
72 Bool_t IsSortable() const { return kTRUE; }
74 /*********************************************/
80 Type fType; // type of the value stored
82 Bool_t fBool; // bool value
83 Char_t fChar; // char value
84 Int_t fInt; // int value
85 UInt_t fUInt; // uint value
86 Float_t fFloat; // float value
88 UInt_t fTimeStamp; // timestamp of this value
90 ClassDef(AliDCSValue, 2);