// $Id$
-/// \ingroup base
+/// \ingroup calib
/// \class AliMUONVCalibParam
/// \brief Container of calibration values for a given number of channels.
///
AliMUONVCalibParam();
virtual ~AliMUONVCalibParam();
+ /// whether or not the value we store are packed, e.g. as v = a*cste + b
+ virtual Bool_t IsPacked() const { return kFALSE; }
+
/// j indices in following methods are valid from 0 to Dimension()-1.
virtual Int_t Dimension() const = 0;
/// Retrieve the value for a given (channel,dim) as a float.
virtual Float_t ValueAsFloat(Int_t i, Int_t j=0) const = 0;
- /// Retrieve the value for a given (channel,dim) as an integer.
+ /// Retrieve the value for a given (channel,dim) as an integer.
virtual Int_t ValueAsInt(Int_t i, Int_t j=0) const = 0;
+ /// Unpack a value into a couple (a,b). Returns false if IsPacked()==kFALSE
+ virtual Bool_t UnpackValue(Int_t /*value*/, Int_t& /*a*/, Int_t& /*b*/) const { return kFALSE; }
+
+ /// Pack (a,b) as a single int. Returns false if IsPacked()==kFALSE
+ virtual Bool_t PackValues(Int_t /*a*/, Int_t /*b*/, Int_t& /*packedValue*/) const { return kFALSE; }
+
+ /// Return 1E38 as invalid float value
static Float_t InvalidFloatValue() { return 1E38; }
ClassDef(AliMUONVCalibParam,0) //