LCOV - code coverage report
Current view: top level - STEER/CDB - AliDCSValue.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 14 14.3 %
Date: 2016-06-14 17:26:59 Functions: 3 15 20.0 %

          Line data    Source code
       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             : 
      15             : class AliDCSValue : public TObject {
      16             : public:
      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;
      42             :   Char_t GetChar() const;
      43             :   Int_t GetInt() const;
      44             :   UInt_t GetUInt() const;
      45             :   Float_t GetFloat() const;
      46             : 
      47           0 :   operator Bool_t() const { return GetBool(); }
      48           0 :   operator Char_t() const { return GetChar(); }
      49           0 :   operator Int_t() const { return GetInt(); }
      50           0 :   operator UInt_t() const { return GetUInt(); }
      51           0 :   operator Float_t() const { return GetFloat(); }
      52             : 
      53           0 :   Type GetType() const { return fType; }
      54             : 
      55       16784 :   UInt_t GetTimeStamp() const { return fTimeStamp; }
      56           0 :   void SetTimeStamp(UInt_t timeStamp) { fTimeStamp = timeStamp; }
      57             : 
      58             :   Int_t GetSize() const;
      59             : 
      60             :   const Char_t* ToString() const;
      61             :   void Print(Option_t* /*opt*/) const;
      62             : 
      63             : 
      64             : /**********************************************/
      65             : 
      66             :   Int_t Compare(const TObject* obj) const
      67           0 :     { if( fTimeStamp < ((AliDCSValue *)obj )->fTimeStamp ) return -1;
      68           0 :       if( fTimeStamp == ((AliDCSValue *)obj )->fTimeStamp ) return 0;
      69           0 :       return 1;
      70           0 :     }
      71             : 
      72           0 :   Bool_t IsSortable() const { return kTRUE; }
      73             : 
      74             : /*********************************************/
      75             : 
      76             : 
      77             : protected:
      78             :   void Init();
      79             : 
      80             :   Type fType;           // type of the value stored
      81             : 
      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
      87             : 
      88             :   UInt_t fTimeStamp;    // timestamp of this value
      89             : 
      90       15102 :         ClassDef(AliDCSValue, 2);
      91             : };
      92             : 
      93             : #endif

Generated by: LCOV version 1.11