ROOT logo
// @(#)root/hist:$Id: TH1K.h 20882 2007-11-19 11:31:26Z rdm $
// Author: Victor Perevoztchikov <>  21/02/2001

 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *

#ifndef ROOT_TH1K
#define ROOT_TH1K

//                                                                      //
// TH1K                                                                 //
//                                                                      //
// 1-Dim histogram nearest K Neighbour class.                           //
//                                                                      //

#include "TH1.h"

class TH1K : public TH1, public TArrayF {

   void Sort(); 
   Int_t fReady;	//!
   Int_t fNIn;
   Int_t fKOrd;	//!
   Int_t fKCur;	//!
   TH1K(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup,Int_t k=0);
   virtual ~TH1K();

   virtual Int_t     Fill(Double_t x);
   virtual Int_t     Fill(Double_t x,Double_t w){return TH1::Fill(x,w);}
   virtual Int_t     Fill(const char *name,Double_t w){return TH1::Fill(name,w);}
   virtual Double_t  GetBinContent(Int_t bin) const;
   virtual Double_t  GetBinContent(Int_t bin,Int_t) const {return GetBinContent(bin);}
   virtual Double_t  GetBinContent(Int_t bin,Int_t,Int_t) const {return GetBinContent(bin);}

   virtual Double_t  GetBinError(Int_t bin) const;
   virtual Double_t  GetBinError(Int_t bin,Int_t) const {return GetBinError(bin);}
   virtual Double_t  GetBinError(Int_t bin,Int_t,Int_t) const {return GetBinError(bin);}
   virtual void      Reset(Option_t *option="");
   virtual void      SavePrimitive(ostream &out, Option_t *option = "");

   void    SetKOrd(Int_t k){fKOrd=k;}
   ClassDef(TH1K,1)  //1-Dim Nearest Kth neighbour method