HROOT-0.7: csrc/HROOTTH2.h
#ifdef __cplusplus
extern "C" {
#endif
#include "HROOTType.h"
#include "HROOTTH1.h"
#include "HROOTTNamed.h"
#include "HROOTTAttLine.h"
#include "HROOTTAttFill.h"
#include "HROOTTAttMarker.h"
#include "HROOTTObject.h"
#include "HROOTDeletable.h"
#undef ROOT_TH2_DECLARATIONVIRT
#define ROOT_TH2_DECLARATIONVIRT(Type) \
int Type ## _fill2 ( Type ## _p p, double x, double y ); \
int Type ## _fill2w ( Type ## _p p, double x, double y, double w ); \
void Type ## _fillN2 ( Type ## _p p, int ntimes, double * x, double * y, double * w, int stride ); \
void Type ## _fillRandom2 ( Type ## _p p, TH1_p h, int ntimes ); \
int Type ## _findFirstBinAbove2 ( Type ## _p p, double threshold, int axis ); \
int Type ## _findLastBinAbove2 ( Type ## _p p, double threshold, int axis ); \
void Type ## _FitSlicesX ( Type ## _p p, TF1_p f1, int firstybin, int lastybin, int cut, const char * option, TObjArray_p arr ); \
void Type ## _FitSlicesY ( Type ## _p p, TF1_p f1, int firstxbin, int lastxbin, int cut, const char * option, TObjArray_p arr ); \
double Type ## _getCorrelationFactor2 ( Type ## _p p, int axis1, int axis2 ); \
double Type ## _getCovariance2 ( Type ## _p p, int axis1, int axis2 ); \
double Type ## _integral2 ( Type ## _p p, int binx1, int binx2, int biny1, int biny2, const char * option ); \
TH2_p Type ## _rebinX2 ( Type ## _p p, int ngroup, const char * newname ); \
TH2_p Type ## _rebinY2 ( Type ## _p p, int ngroup, const char * newname ); \
TH2_p Type ## _Rebin2D ( Type ## _p p, int nxgroup, int nygroup, const char * newname ); \
void Type ## _SetShowProjectionX ( Type ## _p p, int nbins ); \
void Type ## _SetShowProjectionY ( Type ## _p p, int nbins )
#undef ROOT_TH2_DECLARATIONNONVIRT
#define ROOT_TH2_DECLARATIONNONVIRT(Type) \
TH1D_p Type ## _tH2ProjectionX ( Type ## _p p, const char * name, int firstybin, int lastybin, const char * option ); \
TH1D_p Type ## _tH2ProjectionY ( Type ## _p p, const char * name, int firstxbin, int lastxbin, const char * option )
#undef ROOT_TH2_DEFINITIONVIRT
#define ROOT_TH2_DEFINITIONVIRT(Type)\
int Type ## _fill2 ( Type ## _p p, double x, double y )\
{\
return to_nonconst<Type,Type ## _t>(p)->Fill(x, y);\
}\
int Type ## _fill2w ( Type ## _p p, double x, double y, double w )\
{\
return to_nonconst<Type,Type ## _t>(p)->Fill(x, y, w);\
}\
void Type ## _fillN2 ( Type ## _p p, int ntimes, double * x, double * y, double * w, int stride )\
{\
to_nonconst<Type,Type ## _t>(p)->FillN(ntimes, x, y, w, stride);\
}\
void Type ## _fillRandom2 ( Type ## _p p, TH1_p h, int ntimes )\
{\
to_nonconst<Type,Type ## _t>(p)->FillRandom(to_nonconst<TH1,TH1_t>(h), ntimes);\
}\
int Type ## _findFirstBinAbove2 ( Type ## _p p, double threshold, int axis )\
{\
return to_nonconst<Type,Type ## _t>(p)->FindFirstBinAbove(threshold, axis);\
}\
int Type ## _findLastBinAbove2 ( Type ## _p p, double threshold, int axis )\
{\
return to_nonconst<Type,Type ## _t>(p)->FindLastBinAbove(threshold, axis);\
}\
void Type ## _FitSlicesX ( Type ## _p p, TF1_p f1, int firstybin, int lastybin, int cut, const char * option, TObjArray_p arr )\
{\
to_nonconst<Type,Type ## _t>(p)->FitSlicesX(to_nonconst<TF1,TF1_t>(f1), firstybin, lastybin, cut, option, to_nonconst<TObjArray,TObjArray_t>(arr));\
}\
void Type ## _FitSlicesY ( Type ## _p p, TF1_p f1, int firstxbin, int lastxbin, int cut, const char * option, TObjArray_p arr )\
{\
to_nonconst<Type,Type ## _t>(p)->FitSlicesY(to_nonconst<TF1,TF1_t>(f1), firstxbin, lastxbin, cut, option, to_nonconst<TObjArray,TObjArray_t>(arr));\
}\
double Type ## _getCorrelationFactor2 ( Type ## _p p, int axis1, int axis2 )\
{\
return to_nonconst<Type,Type ## _t>(p)->GetCorrelationFactor(axis1, axis2);\
}\
double Type ## _getCovariance2 ( Type ## _p p, int axis1, int axis2 )\
{\
return to_nonconst<Type,Type ## _t>(p)->GetCovariance(axis1, axis2);\
}\
double Type ## _integral2 ( Type ## _p p, int binx1, int binx2, int biny1, int biny2, const char * option )\
{\
return to_nonconst<Type,Type ## _t>(p)->Integral(binx1, binx2, biny1, biny2, option);\
}\
TH2_p Type ## _rebinX2 ( Type ## _p p, int ngroup, const char * newname )\
{\
return to_nonconst<TH2_t,TH2>((TH2*)to_nonconst<Type,Type ## _t>(p)->RebinX(ngroup, newname));\
}\
TH2_p Type ## _rebinY2 ( Type ## _p p, int ngroup, const char * newname )\
{\
return to_nonconst<TH2_t,TH2>((TH2*)to_nonconst<Type,Type ## _t>(p)->RebinY(ngroup, newname));\
}\
TH2_p Type ## _Rebin2D ( Type ## _p p, int nxgroup, int nygroup, const char * newname )\
{\
return to_nonconst<TH2_t,TH2>((TH2*)to_nonconst<Type,Type ## _t>(p)->Rebin2D(nxgroup, nygroup, newname));\
}\
void Type ## _SetShowProjectionX ( Type ## _p p, int nbins )\
{\
to_nonconst<Type,Type ## _t>(p)->SetShowProjectionX(nbins);\
}\
void Type ## _SetShowProjectionY ( Type ## _p p, int nbins )\
{\
to_nonconst<Type,Type ## _t>(p)->SetShowProjectionY(nbins);\
}
#undef ROOT_TH2_DEFINITIONNONVIRT
#define ROOT_TH2_DEFINITIONNONVIRT(Type)\
TH1D_p Type ## _tH2ProjectionX ( Type ## _p p, const char * name, int firstybin, int lastybin, const char * option )\
{\
return to_nonconst<TH1D_t,TH1D>((TH1D*)to_nonconst<Type,Type ## _t>(p)->ProjectionX(name, firstybin, lastybin, option));\
}\
TH1D_p Type ## _tH2ProjectionY ( Type ## _p p, const char * name, int firstxbin, int lastxbin, const char * option )\
{\
return to_nonconst<TH1D_t,TH1D>((TH1D*)to_nonconst<Type,Type ## _t>(p)->ProjectionY(name, firstxbin, lastxbin, option));\
}
ROOT_TH1_DECLARATIONVIRT(TH2);
ROOT_TNAMED_DECLARATIONVIRT(TH2);
ROOT_TATTLINE_DECLARATIONVIRT(TH2);
ROOT_TATTFILL_DECLARATIONVIRT(TH2);
ROOT_TATTMARKER_DECLARATIONVIRT(TH2);
ROOT_TOBJECT_DECLARATIONVIRT(TH2);
ROOT_DELETABLE_DECLARATIONVIRT(TH2);
ROOT_TH2_DECLARATIONVIRT(TH2);
ROOT_TH2_DECLARATIONNONVIRT(TH2);
#ifdef __cplusplus
}
#endif