00001
00005 #ifndef __FLOATFUNBINNING_H
00006 #define __FLOATFUNBINNING_H
00007
00008 #include "jbltools/sfh/BinningFun.h"
00009 #include "jbltools/sfh/FloatFunPoR.h"
00010
00011
00013
00031 class FloatFunBinning : public BinningFun {
00032
00033 public:
00035
00038 FloatFunBinning (const FloatFunPoR& fun_,
00039 int nbins_,
00040 double xlow_,
00041 double xhigh_,
00042 const char *varname_
00043 );
00045
00052 FloatFunBinning (const FloatFunPoR& fun_,
00053 int nbins_,
00054 const float binedges_[],
00055 const char *varname_
00056 );
00058
00065 FloatFunBinning (const FloatFunPoR& fun_,
00066 int nbins_,
00067 const double binedges_[],
00068 const char *varname_
00069 );
00071 FloatFunBinning (const FloatFunPoR& fun_,
00072 const Binning& binning_,
00073 const char *varname_
00074 );
00075 virtual int operator()() const;
00076
00078
00082 virtual const char *getBinName(int i
00083 ) const;
00085
00090 virtual const char *getBinTitle(int i
00091 ) const;
00092
00094 virtual const FillIterator *getIterator() const;
00095
00096 protected:
00098 virtual ~FloatFunBinning();
00099
00100 const FloatFun *fun;
00101 char *varname;
00102 int varnamelength;
00103
00104 private:
00105 void initvarname (const char *varname_);
00106
00108 FloatFunBinning (const FloatFunBinning&);
00110 FloatFunBinning& operator= (const FloatFunBinning&);
00111 };
00112
00113
00114 #endif