#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(p)->Fill(x, y);\ }\ int Type ## _fill2w ( Type ## _p p, double x, double y, double w )\ {\ return to_nonconst(p)->Fill(x, y, w);\ }\ void Type ## _fillN2 ( Type ## _p p, int ntimes, double * x, double * y, double * w, int stride )\ {\ to_nonconst(p)->FillN(ntimes, x, y, w, stride);\ }\ void Type ## _fillRandom2 ( Type ## _p p, TH1_p h, int ntimes )\ {\ to_nonconst(p)->FillRandom(to_nonconst(h), ntimes);\ }\ int Type ## _findFirstBinAbove2 ( Type ## _p p, double threshold, int axis )\ {\ return to_nonconst(p)->FindFirstBinAbove(threshold, axis);\ }\ int Type ## _findLastBinAbove2 ( Type ## _p p, double threshold, int axis )\ {\ return to_nonconst(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(p)->FitSlicesX(to_nonconst(f1), firstybin, lastybin, cut, option, to_nonconst(arr));\ }\ void Type ## _FitSlicesY ( Type ## _p p, TF1_p f1, int firstxbin, int lastxbin, int cut, const char * option, TObjArray_p arr )\ {\ to_nonconst(p)->FitSlicesY(to_nonconst(f1), firstxbin, lastxbin, cut, option, to_nonconst(arr));\ }\ double Type ## _getCorrelationFactor2 ( Type ## _p p, int axis1, int axis2 )\ {\ return to_nonconst(p)->GetCorrelationFactor(axis1, axis2);\ }\ double Type ## _getCovariance2 ( Type ## _p p, int axis1, int axis2 )\ {\ return to_nonconst(p)->GetCovariance(axis1, axis2);\ }\ double Type ## _integral2 ( Type ## _p p, int binx1, int binx2, int biny1, int biny2, const char * option )\ {\ return to_nonconst(p)->Integral(binx1, binx2, biny1, biny2, option);\ }\ TH2_p Type ## _rebinX2 ( Type ## _p p, int ngroup, const char * newname )\ {\ return to_nonconst((TH2*)to_nonconst(p)->RebinX(ngroup, newname));\ }\ TH2_p Type ## _rebinY2 ( Type ## _p p, int ngroup, const char * newname )\ {\ return to_nonconst((TH2*)to_nonconst(p)->RebinY(ngroup, newname));\ }\ TH2_p Type ## _Rebin2D ( Type ## _p p, int nxgroup, int nygroup, const char * newname )\ {\ return to_nonconst((TH2*)to_nonconst(p)->Rebin2D(nxgroup, nygroup, newname));\ }\ void Type ## _SetShowProjectionX ( Type ## _p p, int nbins )\ {\ to_nonconst(p)->SetShowProjectionX(nbins);\ }\ void Type ## _SetShowProjectionY ( Type ## _p p, int nbins )\ {\ to_nonconst(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*)to_nonconst(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*)to_nonconst(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