X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONCalibParamND.h;h=0b4f16f5f789b65f044ead0b301a4298213c5d35;hb=89d03e5ae80bbc877750c106a022c63106cbd1b6;hp=183aa56a6017ac122940654de4665e08cc661337;hpb=da18abd26b430cef724919e00fbbe030f02e7bd7;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONCalibParamND.h b/MUON/AliMUONCalibParamND.h index 183aa56a601..0b4f16f5f78 100644 --- a/MUON/AliMUONCalibParamND.h +++ b/MUON/AliMUONCalibParamND.h @@ -26,21 +26,30 @@ public: virtual ~AliMUONCalibParamND(); + /// Own clone methods (as the default TObject::Clone turned out to be pretty slow !) + virtual TObject* Clone(const char* = "") const { return new AliMUONCalibParamND(*this); } + /// Return dimension virtual Int_t Dimension() const { return fDimension; } virtual void Print(Option_t* opt="") const; virtual void SetValueAsDouble(Int_t i, Int_t j, Double_t value); + virtual void SetValueAsDoubleFast(Int_t i, Int_t j, Double_t value); 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 double tuples 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 Double_t ValueAsDouble(Int_t i, Int_t j=0) const; + virtual Double_t ValueAsDoubleFast(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; /// Advertise that we can store double precision values virtual Bool_t IsDoublePrecision() const { return kTRUE; } @@ -48,6 +57,7 @@ public: private: void CopyTo(AliMUONCalibParamND& 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