]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/AliDCSValue.h
move all TPC related classes
[u/mrichter/AliRoot.git] / STEER / AliDCSValue.h
... / ...
CommitLineData
1#ifndef ALI_DCS_VALUE_H
2#define ALI_DCS_VALUE_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// This class represents the value(s) of a DCS data point at a given timestamp
11//
12
13#include <TObject.h>
14
15class AliDCSValue : public TObject {
16public:
17 enum Type {
18 kInvalid = 0,
19
20 kBool = 1,
21 kChar = 2,
22 kInt = 3,
23 kUInt = 4,
24 kFloat = 5
25 };
26
27 AliDCSValue();
28 AliDCSValue(const AliDCSValue& c);
29
30 virtual ~AliDCSValue();
31
32 AliDCSValue& operator=(const AliDCSValue& c);
33 virtual void Copy(TObject& c) const;
34
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);
40
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; }
46
47 Type GetType() const { return fType; }
48
49 UInt_t GetTimeStamp() const { return fTimeStamp; }
50 void SetTimeStamp(UInt_t timeStamp) { fTimeStamp = timeStamp; }
51
52 Int_t GetSize() const;
53
54 const Char_t* ToString() const;
55 void Print(Option_t* /*opt*/) const;
56
57
58/**********************************************/
59
60 Int_t Compare(const TObject* obj) const
61 { if( fTimeStamp < ((AliDCSValue *)obj )->fTimeStamp ) return -1;
62 if( fTimeStamp == ((AliDCSValue *)obj )->fTimeStamp ) return 0;
63 return 1;
64 }
65
66 Bool_t IsSortable() const { return kTRUE; }
67
68/*********************************************/
69
70
71protected:
72 void Init();
73
74 Type fType; // type of the value stored
75
76 Bool_t fBool; // bool value
77 Char_t fChar; // char value
78 Int_t fInt; // int value
79 UInt_t fUInt; // uint value
80 Float_t fFloat; // float value
81
82 UInt_t fTimeStamp; // timestamp of this value
83
84 ClassDef(AliDCSValue, 2);
85};
86
87#endif