HROOT-hist-0.9: csrc/HROOTHistTH3.h
#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<TF1,TF1_t>(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_t,TH3>((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_t,TH3>((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_t,TH3>((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_t,TH3>((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_t,TH1D>((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_t,TH1D>((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_t,TH1D>((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_t,TH1>((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