]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONVCalibParam.h
Updated list of MUON libraries
[u/mrichter/AliRoot.git] / MUON / AliMUONVCalibParam.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice                               */
3
4 // $Id$
5
6 /// \ingroup calib
7 /// \class AliMUONVCalibParam
8 /// \brief Container of calibration values for a given number of channels.
9 /// 
10 //  Author Laurent Aphecetche
11
12 #ifndef ALIMUONVCALIBPARAM_H
13 #define ALIMUONVCALIBPARAM_H
14
15 #ifndef ROOT_TObject
16 #  include "TObject.h"
17 #endif
18
19 class AliMUONVCalibParam : public TObject
20 {
21 public:
22   AliMUONVCalibParam();
23   virtual ~AliMUONVCalibParam();
24
25   /// whether or not the value we store are packed, e.g. as v = a*cste + b
26   virtual Bool_t IsPacked() const { return kFALSE; }
27   
28   /// j indices in following methods are valid from 0 to Dimension()-1.
29   virtual Int_t Dimension() const = 0;
30   
31   /// Set one value, for channel i, dimension j. Consider value is a float.
32   virtual void SetValueAsFloat(Int_t i, Int_t j, Float_t value) = 0;
33   
34   /// Set one value, for channel i, dimension j. Consider value is an integer.
35   virtual void SetValueAsInt(Int_t i, Int_t j, Int_t value) = 0;
36   
37   /// The number of channels handled by this object.
38   virtual Int_t Size() const = 0;
39
40   /// Retrieve the value for a given (channel,dim) as a float.
41   virtual Float_t ValueAsFloat(Int_t i, Int_t j=0) const = 0;
42   
43   /// Retrieve the value for a given (channel,dim) as an integer.
44   virtual Int_t ValueAsInt(Int_t i, Int_t j=0) const = 0;
45
46   /// Unpack a value into a couple (a,b). Returns false if IsPacked()==kFALSE
47   virtual Bool_t UnpackValue(Int_t /*value*/, Int_t& /*a*/, Int_t& /*b*/) const { return kFALSE; }
48   
49   /// Pack (a,b) as a single int. Returns false if IsPacked()==kFALSE
50   virtual Bool_t PackValues(Int_t /*a*/, Int_t /*b*/, Int_t& /*packedValue*/) const { return kFALSE; }
51   
52   /// Return 1E38 as invalid float value
53   static Float_t InvalidFloatValue() { return 1E38; }
54   
55   ClassDef(AliMUONVCalibParam,0) // 
56 };
57
58 #endif