HROOT-hist-0.10.0.1: csrc/HROOTHistTH3.h
#ifdef __cplusplus
extern "C" {
#endif
#pragma once
#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 "STDDeletable.h"
#include "HROOT-coreType.h"
#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 );
#define TH3_DECL_NONVIRT(Type) \
TH1D_p Type##_tH3_ProjectionX ( Type##_p p, const char* name, int firstybin, int lastybin, int firstzbin, int lastzbin, const char* option );\
TH1D_p Type##_tH3_ProjectionY ( Type##_p p, const char* name, int firstxbin, int lastxbin, int firstzbin, int lastzbin, const char* option );\
TH1D_p Type##_tH3_ProjectionZ ( Type##_p p, const char* name, int firstxbin, int lastxbin, int firstybin, int lastybin, const char* option );\
TH1_p Type##_tH3_Project3D ( Type##_p p, const char* option );
#define TH3_DECL_ACCESSOR(Type) \
#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(from_nonconst_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 from_nonconst_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 from_nonconst_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 from_nonconst_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 from_nonconst_to_nonconst<TH3_t, TH3>((TH3*)((TYPECASTMETHOD(Type, Rebin3D, TH3))(p))->Rebin3D(nxgroup, nygroup, nzgroup, newname));\
}
#define TH3_DEF_NONVIRT(Type) \
TH1D_p Type##_tH3_ProjectionX ( Type##_p p, const char* name, int firstybin, int lastybin, int firstzbin, int lastzbin, const char* option ) {\
return from_nonconst_to_nonconst<TH1D_t, TH1D>((TH1D*)((TYPECASTMETHOD(Type, tH3_ProjectionX, TH3))(p))->ProjectionX(name, firstybin, lastybin, firstzbin, lastzbin, option));\
}\
\
TH1D_p Type##_tH3_ProjectionY ( Type##_p p, const char* name, int firstxbin, int lastxbin, int firstzbin, int lastzbin, const char* option ) {\
return from_nonconst_to_nonconst<TH1D_t, TH1D>((TH1D*)((TYPECASTMETHOD(Type, tH3_ProjectionY, TH3))(p))->ProjectionY(name, firstxbin, lastxbin, firstzbin, lastzbin, option));\
}\
\
TH1D_p Type##_tH3_ProjectionZ ( Type##_p p, const char* name, int firstxbin, int lastxbin, int firstybin, int lastybin, const char* option ) {\
return from_nonconst_to_nonconst<TH1D_t, TH1D>((TH1D*)((TYPECASTMETHOD(Type, tH3_ProjectionZ, TH3))(p))->ProjectionZ(name, firstxbin, lastxbin, firstybin, lastybin, option));\
}\
\
TH1_p Type##_tH3_Project3D ( Type##_p p, const char* option ) {\
return from_nonconst_to_nonconst<TH1_t, TH1>((TH1*)((TYPECASTMETHOD(Type, tH3_Project3D, TH3))(p))->Project3D(option));\
}
#define TH3_DEF_ACCESSOR(Type) \
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)
TH3_DECL_ACCESSOR(TH3)
#ifdef __cplusplus
}
#endif