+ enum EKDInterpolatorBase {
+ kdN = 4 // increase in the number of PDF if fit failled
+ ,kNhelper = 30 // bucket size in helper kdTree
+ };
+ enum EKDInterpolatorBaseBits {
+ kCOG = 0 // COG interpolation method
+ ,kSTORE = 1 // Store interpolation results
+ ,kWEIGHTS = 2 // use weights
+ };
+ TKDInterpolatorBase(Int_t size = 0);
+ virtual ~TKDInterpolatorBase();
+
+ Double_t Eval(const Double_t *point, Double_t &result, Double_t &error, Bool_t force = kFALSE);
+ virtual Int_t GetNodeIndex(const Float_t *p) = 0;
+ Float_t GetAlpha() const {return fAlpha;}
+ Bool_t GetCOGPoint(Int_t node, Float_t *&coord, Float_t &val, Float_t &error) const;
+ TKDNodeInfo* GetNodeInfo(Int_t inode) const;
+ Int_t GetNTNodes() const {return fNTNodes;}
+ Bool_t GetRange(Int_t ax, Float_t &min, Float_t &max) const;
+ void GetStatus(Option_t *opt="");