// $Id$
-/// \ingroup base
+/// \ingroup calib
/// \class AliMUONCalibParamNF
/// \brief Implementation of AliMUONVCalibParam for tuples of floats
///
{
public:
AliMUONCalibParamNF();
- AliMUONCalibParamNF(Int_t dimension, Int_t theSize, Float_t fillWithValue=0);
+ AliMUONCalibParamNF(Int_t dimension, Int_t theSize, Int_t id0, Int_t id1, Float_t fillWithValue=0);
AliMUONCalibParamNF(const AliMUONCalibParamNF& other);
AliMUONCalibParamNF& operator=(const AliMUONCalibParamNF& other);
virtual ~AliMUONCalibParamNF();
+ /// Own clone methods (as the default TObject::Clone turned out to be pretty slow !)
+ virtual TObject* Clone(const char* = "") const { return new AliMUONCalibParamNF(*this); }
+
/// Return dimension
virtual Int_t Dimension() const { return fDimension; }
virtual void Print(Option_t* opt="") const;
virtual void SetValueAsFloat(Int_t i, Int_t j, Float_t value);
+ virtual void SetValueAsFloatFast(Int_t i, Int_t j, Float_t value);
virtual void SetValueAsInt(Int_t i, Int_t j, Int_t value);
+ virtual void SetValueAsIntFast(Int_t i, Int_t j, Int_t value);
/// Return size - the number of float pair we hold
virtual Int_t Size() const { return fSize; }
virtual Float_t ValueAsFloat(Int_t i, Int_t j=0) const;
+
+ virtual Float_t ValueAsFloatFast(Int_t i, Int_t j=0) const;
+
virtual Int_t ValueAsInt(Int_t i, Int_t j=0) const;
+
+ virtual Int_t ValueAsIntFast(Int_t i, Int_t j=0) const;
private:
void CopyTo(AliMUONCalibParamNF& destination) const;
Int_t Index(Int_t i, Int_t j) const;
+ Int_t IndexFast(Int_t i, Int_t j) const;
private:
Int_t fDimension; ///< dimension of this object
/// The values array
Float_t* fValues; //[fN] The values array
- ClassDef(AliMUONCalibParamNF,1) // Container for calibration parameters
+ ClassDef(AliMUONCalibParamNF,3) // Container for calibration parameters
};
#endif