#ifdef __cplusplus extern "C" { #endif #ifndef __HROOT_HIST__TH3__ #define __HROOT_HIST__TH3__ #include "HROOT-histType.h" #include "HROOTHistTH1.h" #include "HROOTCoreTAtt3D.h" #include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h" #include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOT-coreType.h" #undef TH3_DECL_VIRT #define TH3_DECL_VIRT(Type) \ int Type ## _fill3 ( Type ## _p p, double x, double y, double z ); \ int Type ## _fill3w ( Type ## _p p, double x, double y, double z, double w ); \ void Type ## _FitSlicesZ ( Type ## _p p, TF1_p f1, int binminx, int binmaxx, int binminy, int binmaxy, int cut, const char* option ); \ double Type ## _getCorrelationFactor3 ( Type ## _p p, int axis1, int axis2 ); \ double Type ## _getCovariance3 ( Type ## _p p, int axis1, int axis2 ); \ TH3_p Type ## _rebinX3 ( Type ## _p p, int ngroup, const char* newname ); \ TH3_p Type ## _rebinY3 ( Type ## _p p, int ngroup, const char* newname ); \ TH3_p Type ## _rebinZ3 ( Type ## _p p, int ngroup, const char* newname ); \ TH3_p Type ## _Rebin3D ( Type ## _p p, int nxgroup, int nygroup, int nzgroup, const char* newname ) #undef TH3_DECL_NONVIRT #define TH3_DECL_NONVIRT(Type) \ TH1D_p Type ## _tH3ProjectionX ( Type ## _p p, const char* name, int firstybin, int lastybin, int firstzbin, int lastzbin, const char* option ); \ TH1D_p Type ## _tH3ProjectionY ( Type ## _p p, const char* name, int firstxbin, int lastxbin, int firstzbin, int lastzbin, const char* option ); \ TH1D_p Type ## _tH3ProjectionZ ( Type ## _p p, const char* name, int firstxbin, int lastxbin, int firstybin, int lastybin, const char* option ); \ TH1_p Type ## _tH3Project3D ( Type ## _p p, const char* option ) #undef TH3_DEF_VIRT #define TH3_DEF_VIRT(Type)\ int Type ## _fill3 ( Type ## _p p, double x, double y, double z )\ {\ return TYPECASTMETHOD(Type,fill3,TH3)(p)->Fill(x, y, z);\ }\ int Type ## _fill3w ( Type ## _p p, double x, double y, double z, double w )\ {\ return TYPECASTMETHOD(Type,fill3w,TH3)(p)->Fill(x, y, z, w);\ }\ void Type ## _FitSlicesZ ( Type ## _p p, TF1_p f1, int binminx, int binmaxx, int binminy, int binmaxy, int cut, const char* option )\ {\ TYPECASTMETHOD(Type,FitSlicesZ,TH3)(p)->FitSlicesZ(to_nonconst(f1), binminx, binmaxx, binminy, binmaxy, cut, option);\ }\ double Type ## _getCorrelationFactor3 ( Type ## _p p, int axis1, int axis2 )\ {\ return TYPECASTMETHOD(Type,getCorrelationFactor3,TH3)(p)->GetCorrelationFactor(axis1, axis2);\ }\ double Type ## _getCovariance3 ( Type ## _p p, int axis1, int axis2 )\ {\ return TYPECASTMETHOD(Type,getCovariance3,TH3)(p)->GetCovariance(axis1, axis2);\ }\ TH3_p Type ## _rebinX3 ( Type ## _p p, int ngroup, const char* newname )\ {\ return to_nonconst((TH3*)TYPECASTMETHOD(Type,rebinX3,TH3)(p)->RebinX(ngroup, newname));\ }\ TH3_p Type ## _rebinY3 ( Type ## _p p, int ngroup, const char* newname )\ {\ return to_nonconst((TH3*)TYPECASTMETHOD(Type,rebinY3,TH3)(p)->RebinY(ngroup, newname));\ }\ TH3_p Type ## _rebinZ3 ( Type ## _p p, int ngroup, const char* newname )\ {\ return to_nonconst((TH3*)TYPECASTMETHOD(Type,rebinZ3,TH3)(p)->RebinZ(ngroup, newname));\ }\ TH3_p Type ## _Rebin3D ( Type ## _p p, int nxgroup, int nygroup, int nzgroup, const char* newname )\ {\ return to_nonconst((TH3*)TYPECASTMETHOD(Type,Rebin3D,TH3)(p)->Rebin3D(nxgroup, nygroup, nzgroup, newname));\ } #undef TH3_DEF_NONVIRT #define TH3_DEF_NONVIRT(Type)\ TH1D_p Type ## _tH3ProjectionX ( Type ## _p p, const char* name, int firstybin, int lastybin, int firstzbin, int lastzbin, const char* option )\ {\ return to_nonconst((TH1D*)TYPECASTMETHOD(Type,tH3ProjectionX,TH3)(p)->ProjectionX(name, firstybin, lastybin, firstzbin, lastzbin, option));\ }\ TH1D_p Type ## _tH3ProjectionY ( Type ## _p p, const char* name, int firstxbin, int lastxbin, int firstzbin, int lastzbin, const char* option )\ {\ return to_nonconst((TH1D*)TYPECASTMETHOD(Type,tH3ProjectionY,TH3)(p)->ProjectionY(name, firstxbin, lastxbin, firstzbin, lastzbin, option));\ }\ TH1D_p Type ## _tH3ProjectionZ ( Type ## _p p, const char* name, int firstxbin, int lastxbin, int firstybin, int lastybin, const char* option )\ {\ return to_nonconst((TH1D*)TYPECASTMETHOD(Type,tH3ProjectionZ,TH3)(p)->ProjectionZ(name, firstxbin, lastxbin, firstybin, lastybin, option));\ }\ TH1_p Type ## _tH3Project3D ( Type ## _p p, const char* option )\ {\ return to_nonconst((TH1*)TYPECASTMETHOD(Type,tH3Project3D,TH3)(p)->Project3D(option));\ } TH1_DECL_VIRT(TH3); TATT3D_DECL_VIRT(TH3); TNAMED_DECL_VIRT(TH3); TATTLINE_DECL_VIRT(TH3); TATTFILL_DECL_VIRT(TH3); TATTMARKER_DECL_VIRT(TH3); TOBJECT_DECL_VIRT(TH3); DELETABLE_DECL_VIRT(TH3); TH3_DECL_VIRT(TH3); TH3_DECL_NONVIRT(TH3); #endif // __HROOT_HIST__TH3__ #ifdef __cplusplus } #endif