1 #ifndef ROOT_TKDNodeInfo 2 #define ROOT_TKDNodeInfo 36 void Draw(Option_t* option =
"");
37 void Print(
const Option_t* option =
"")
const;
52 Bool_t
CookPDF(
const Double_t *point, Double_t &result, Double_t &error)
const;
53 inline void GetBoundary(Int_t ax, Float_t &min, Float_t &max)
const;
54 inline void GetCOG(Float_t* &
p)
const;
56 void GetPDF(Float_t &pdf, Float_t &error)
const {pdf=
fVal[0]; error=
fVal[1];}
60 inline Bool_t
Has(
const Float_t *
p)
const;
61 void Print(
const Option_t * =
"")
const;
62 void Store(TVectorD
const *par, TMatrixD
const *cov=NULL);
67 void SetNode(Int_t ndim, Float_t *data, Float_t *pdf);
70 void Build(Int_t ndim);
95 Float_t *it = &
fData[ndim]; Int_t n(0);
96 for(
int id=0;
id<ndim;
id++, it+=2)
97 if(p[
id]>=it[0] && p[
id]<it[1]) n++;
98 if(n==ndim)
return kTRUE;
105 Int_t ndim =
fNDim/3;
106 if(ax<0 || ax>=ndim){
110 Float_t *it = &
fData[ndim+(ax<<1)];
111 min = it[0]; max = it[1];
117 Int_t ndim =
fNDim/3;
118 memcpy(p,
fData, ndim*
sizeof(Float_t));
void SetNode(TKDNodeInfo *, UChar_t s, UChar_t ax1=0, UChar_t ax2=1)
Bool_t Has(const Float_t *p) const
void GetBoundary(Int_t ax, Float_t &min, Float_t &max) const
TKDNodeDraw & operator=(const TKDNodeDraw &ref)
void GetCOG(Float_t *&p) const
Float_t fVal[2]
[fNDim] node's data
TKDNodeInfo(Int_t ndim=0)
Float_t * fData
3 times data dimension
void Print(const Option_t *option="") const
Int_t GetDimension() const
void Store(TVectorD const *par, TMatrixD const *cov=NULL)
Int_t fNpar
measured value for node
Bool_t CookPDF(const Double_t *point, Double_t &result, Double_t &error) const
void GetPDF(Float_t &pdf, Float_t &error) const
void Draw(Option_t *option="")