#ifdef __cplusplus extern "C" { #endif #include "HROOTType.h" #include "HROOTTFormula.h" #include "HROOTTAttLine.h" #include "HROOTTAttFill.h" #include "HROOTTAttMarker.h" #include "HROOTTNamed.h" #include "HROOTTObject.h" #include "HROOTDeletable.h" #undef ROOT_TF1_DECLARATIONVIRT #define ROOT_TF1_DECLARATIONVIRT(Type) \ double Type ## _Derivative ( Type ## _p p, double x, double * params, double epsilon ); \ double Type ## _Derivative2 ( Type ## _p p, double x, double * params, double epsilon ); \ double Type ## _Derivative3 ( Type ## _p p, double x, double * params, double epsilon ); \ Type ## _p Type ## _drawCopyTF1 ( Type ## _p p, const char * option ); \ TObject_p Type ## _DrawDerivative ( Type ## _p p, const char * option ); \ TObject_p Type ## _DrawIntegral ( Type ## _p p, const char * option ); \ void Type ## _DrawF1 ( Type ## _p p, const char * formula, double xmin, double xmax, const char * option ); \ void Type ## _FixParameter ( Type ## _p p, int ipar, double value ); \ double Type ## _getMaximumTF1 ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx ); \ double Type ## _getMinimumTF1 ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx ); \ double Type ## _GetMaximumX ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx ); \ double Type ## _GetMinimumX ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx ); \ int Type ## _GetNDF ( Type ## _p p ); \ int Type ## _GetNpx ( Type ## _p p ); \ int Type ## _GetNumberFreeParameters ( Type ## _p p ); \ int Type ## _GetNumberFitPoints ( Type ## _p p ); \ double Type ## _GetParError ( Type ## _p p, int ipar ); \ double Type ## _GetProb ( Type ## _p p ); \ int Type ## _getQuantilesTF1 ( Type ## _p p, int nprobSum, double * q, double * probSum ); \ double Type ## _getRandomTF1 ( Type ## _p p, double xmin, double xmax ); \ double Type ## _GetSave ( Type ## _p p, double * x ); \ double Type ## _GetX ( Type ## _p p, double y, double xmin, double xmax, double epsilon, int maxiter ); \ double Type ## _GetXmin ( Type ## _p p ); \ double Type ## _GetXmax ( Type ## _p p ); \ double Type ## _GradientPar ( Type ## _p p, int ipar, double * x, double eps ); \ void Type ## _InitArgs ( Type ## _p p, double * x, double * params ); \ double Type ## _IntegralTF1 ( Type ## _p p, double a, double b, double * params, double epsilon ); \ double Type ## _IntegralError ( Type ## _p p, double a, double b, double * params, double * covmat, double epsilon ); \ double Type ## _IntegralFast ( Type ## _p p, int num, double * x, double * w, double a, double b, double * params, double epsilon ); \ int Type ## _IsInside ( Type ## _p p, double * x ); \ void Type ## _ReleaseParameter ( Type ## _p p, int ipar ); \ void Type ## _SetChisquare ( Type ## _p p, double chi2 ); \ void Type ## _setMaximumTF1 ( Type ## _p p, double maximum ); \ void Type ## _setMinimumTF1 ( Type ## _p p, double minimum ); \ void Type ## _SetNDF ( Type ## _p p, int ndf ); \ void Type ## _SetNumberFitPoints ( Type ## _p p, int npfits ); \ void Type ## _SetNpx ( Type ## _p p, int npx ); \ void Type ## _SetParError ( Type ## _p p, int ipar, double error ); \ void Type ## _SetParErrors ( Type ## _p p, double * errors ); \ void Type ## _SetParLimits ( Type ## _p p, int ipar, double parmin, double parmax ); \ void Type ## _SetParent ( Type ## _p p, TObject_p parent ); \ void Type ## _setRange1 ( Type ## _p p, double xmin, double xmax ); \ void Type ## _setRange2 ( Type ## _p p, double xmin, double xmax, double ymin, double ymax ); \ void Type ## _setRange3 ( Type ## _p p, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax ); \ void Type ## _SetSavedPoint ( Type ## _p p, int point, double value ); \ double Type ## _Moment ( Type ## _p p, double n, double a, double b, double * params, double epsilon ); \ double Type ## _CentralMoment ( Type ## _p p, double n, double a, double b, double * params, double epsilon ); \ double Type ## _Mean ( Type ## _p p, double a, double b, double * params, double epsilon ); \ double Type ## _Variance ( Type ## _p p, double a, double b, double * params, double epsilon ) #undef ROOT_TF1_DECLARATIONNONVIRT #define ROOT_TF1_DECLARATIONNONVIRT(Type) \ Type ## _p Type ## _newTF1 ( const char * name, const char * formula, double xmin, double xmax ); \ double Type ## _tF1DerivativeError ( ); \ double Type ## _tF1GetChisquare ( Type ## _p p ); \ TH1_p Type ## _tF1GetHistogram ( Type ## _p p ); \ TObject_p Type ## _tF1GetParent ( Type ## _p p ); \ TAxis_p Type ## _tF1GetXaxis ( Type ## _p p ); \ TAxis_p Type ## _tF1GetYaxis ( Type ## _p p ); \ TAxis_p Type ## _tF1GetZaxis ( Type ## _p p ); \ void Type ## _tF1InitStandardFunctions ( ); \ TF1_p Type ## _tF1GetCurrent ( ); \ void Type ## _tF1AbsValue ( int reject ); \ void Type ## _tF1RejectPoint ( int reject ); \ int Type ## _tF1RejectedPoint ( ); \ void Type ## _tF1SetCurrent ( TF1_p f1 ); \ void Type ## _tF1CalcGaussLegendreSamplingPoints ( int num, double * x, double * w, double eps ) #undef ROOT_TF1_DEFINITIONVIRT #define ROOT_TF1_DEFINITIONVIRT(Type)\ double Type ## _Derivative ( Type ## _p p, double x, double * params, double epsilon )\ {\ return to_nonconst(p)->Derivative(x, params, epsilon);\ }\ double Type ## _Derivative2 ( Type ## _p p, double x, double * params, double epsilon )\ {\ return to_nonconst(p)->Derivative2(x, params, epsilon);\ }\ double Type ## _Derivative3 ( Type ## _p p, double x, double * params, double epsilon )\ {\ return to_nonconst(p)->Derivative3(x, params, epsilon);\ }\ Type ## _p Type ## _drawCopyTF1 ( Type ## _p p, const char * option )\ {\ return to_nonconst((Type *)to_nonconst(p)->DrawCopy(option)) ;\ }\ TObject_p Type ## _DrawDerivative ( Type ## _p p, const char * option )\ {\ return to_nonconst((TObject*)to_nonconst(p)->DrawDerivative(option));\ }\ TObject_p Type ## _DrawIntegral ( Type ## _p p, const char * option )\ {\ return to_nonconst((TObject*)to_nonconst(p)->DrawIntegral(option));\ }\ void Type ## _DrawF1 ( Type ## _p p, const char * formula, double xmin, double xmax, const char * option )\ {\ to_nonconst(p)->DrawF1(formula, xmin, xmax, option);\ }\ void Type ## _FixParameter ( Type ## _p p, int ipar, double value )\ {\ to_nonconst(p)->FixParameter(ipar, value);\ }\ double Type ## _getMaximumTF1 ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx )\ {\ return to_nonconst(p)->GetMaximum(xmin, xmax, epsilon, maxiter, logx);\ }\ double Type ## _getMinimumTF1 ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx )\ {\ return to_nonconst(p)->GetMinimum(xmin, xmax, epsilon, maxiter, logx);\ }\ double Type ## _GetMaximumX ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx )\ {\ return to_nonconst(p)->GetMaximumX(xmin, xmax, epsilon, maxiter, logx);\ }\ double Type ## _GetMinimumX ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx )\ {\ return to_nonconst(p)->GetMinimumX(xmin, xmax, epsilon, maxiter, logx);\ }\ int Type ## _GetNDF ( Type ## _p p )\ {\ return to_nonconst(p)->GetNDF();\ }\ int Type ## _GetNpx ( Type ## _p p )\ {\ return to_nonconst(p)->GetNpx();\ }\ int Type ## _GetNumberFreeParameters ( Type ## _p p )\ {\ return to_nonconst(p)->GetNumberFreeParameters();\ }\ int Type ## _GetNumberFitPoints ( Type ## _p p )\ {\ return to_nonconst(p)->GetNumberFitPoints();\ }\ double Type ## _GetParError ( Type ## _p p, int ipar )\ {\ return to_nonconst(p)->GetParError(ipar);\ }\ double Type ## _GetProb ( Type ## _p p )\ {\ return to_nonconst(p)->GetProb();\ }\ int Type ## _getQuantilesTF1 ( Type ## _p p, int nprobSum, double * q, double * probSum )\ {\ return to_nonconst(p)->GetQuantiles(nprobSum, q, probSum);\ }\ double Type ## _getRandomTF1 ( Type ## _p p, double xmin, double xmax )\ {\ return to_nonconst(p)->GetRandom(xmin, xmax);\ }\ double Type ## _GetSave ( Type ## _p p, double * x )\ {\ return to_nonconst(p)->GetSave(x);\ }\ double Type ## _GetX ( Type ## _p p, double y, double xmin, double xmax, double epsilon, int maxiter )\ {\ return to_nonconst(p)->GetX(y, xmin, xmax, epsilon, maxiter);\ }\ double Type ## _GetXmin ( Type ## _p p )\ {\ return to_nonconst(p)->GetXmin();\ }\ double Type ## _GetXmax ( Type ## _p p )\ {\ return to_nonconst(p)->GetXmax();\ }\ double Type ## _GradientPar ( Type ## _p p, int ipar, double * x, double eps )\ {\ return to_nonconst(p)->GradientPar(ipar, x, eps);\ }\ void Type ## _InitArgs ( Type ## _p p, double * x, double * params )\ {\ to_nonconst(p)->InitArgs(x, params);\ }\ double Type ## _IntegralTF1 ( Type ## _p p, double a, double b, double * params, double epsilon )\ {\ return to_nonconst(p)->Integral(a, b, params, epsilon);\ }\ double Type ## _IntegralError ( Type ## _p p, double a, double b, double * params, double * covmat, double epsilon )\ {\ return to_nonconst(p)->IntegralError(a, b, params, covmat, epsilon);\ }\ double Type ## _IntegralFast ( Type ## _p p, int num, double * x, double * w, double a, double b, double * params, double epsilon )\ {\ return to_nonconst(p)->IntegralFast(num, x, w, a, b, params, epsilon);\ }\ int Type ## _IsInside ( Type ## _p p, double * x )\ {\ return to_nonconst(p)->IsInside(x);\ }\ void Type ## _ReleaseParameter ( Type ## _p p, int ipar )\ {\ to_nonconst(p)->ReleaseParameter(ipar);\ }\ void Type ## _SetChisquare ( Type ## _p p, double chi2 )\ {\ to_nonconst(p)->SetChisquare(chi2);\ }\ void Type ## _setMaximumTF1 ( Type ## _p p, double maximum )\ {\ to_nonconst(p)->SetMaximum(maximum);\ }\ void Type ## _setMinimumTF1 ( Type ## _p p, double minimum )\ {\ to_nonconst(p)->SetMinimum(minimum);\ }\ void Type ## _SetNDF ( Type ## _p p, int ndf )\ {\ to_nonconst(p)->SetNDF(ndf);\ }\ void Type ## _SetNumberFitPoints ( Type ## _p p, int npfits )\ {\ to_nonconst(p)->SetNumberFitPoints(npfits);\ }\ void Type ## _SetNpx ( Type ## _p p, int npx )\ {\ to_nonconst(p)->SetNpx(npx);\ }\ void Type ## _SetParError ( Type ## _p p, int ipar, double error )\ {\ to_nonconst(p)->SetParError(ipar, error);\ }\ void Type ## _SetParErrors ( Type ## _p p, double * errors )\ {\ to_nonconst(p)->SetParErrors(errors);\ }\ void Type ## _SetParLimits ( Type ## _p p, int ipar, double parmin, double parmax )\ {\ to_nonconst(p)->SetParLimits(ipar, parmin, parmax);\ }\ void Type ## _SetParent ( Type ## _p p, TObject_p parent )\ {\ to_nonconst(p)->SetParent(to_nonconst(parent));\ }\ void Type ## _setRange1 ( Type ## _p p, double xmin, double xmax )\ {\ to_nonconst(p)->SetRange(xmin, xmax);\ }\ void Type ## _setRange2 ( Type ## _p p, double xmin, double xmax, double ymin, double ymax )\ {\ to_nonconst(p)->SetRange(xmin, xmax, ymin, ymax);\ }\ void Type ## _setRange3 ( Type ## _p p, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax )\ {\ to_nonconst(p)->SetRange(xmin, xmax, ymin, ymax, zmin, zmax);\ }\ void Type ## _SetSavedPoint ( Type ## _p p, int point, double value )\ {\ to_nonconst(p)->SetSavedPoint(point, value);\ }\ double Type ## _Moment ( Type ## _p p, double n, double a, double b, double * params, double epsilon )\ {\ return to_nonconst(p)->Moment(n, a, b, params, epsilon);\ }\ double Type ## _CentralMoment ( Type ## _p p, double n, double a, double b, double * params, double epsilon )\ {\ return to_nonconst(p)->CentralMoment(n, a, b, params, epsilon);\ }\ double Type ## _Mean ( Type ## _p p, double a, double b, double * params, double epsilon )\ {\ return to_nonconst(p)->Mean(a, b, params, epsilon);\ }\ double Type ## _Variance ( Type ## _p p, double a, double b, double * params, double epsilon )\ {\ return to_nonconst(p)->Variance(a, b, params, epsilon);\ } #undef ROOT_TF1_DEFINITIONNONVIRT #define ROOT_TF1_DEFINITIONNONVIRT(Type)\ Type ## _p Type ## _newTF1 ( const char * name, const char * formula, double xmin, double xmax )\ {\ Type * newp = new Type (name, formula, xmin, xmax); \ return to_nonconst(newp);\ }\ double Type ## _tF1DerivativeError ( )\ {\ return TF1::DerivativeError();\ }\ double Type ## _tF1GetChisquare ( Type ## _p p )\ {\ return to_nonconst(p)->GetChisquare();\ }\ TH1_p Type ## _tF1GetHistogram ( Type ## _p p )\ {\ return to_nonconst((TH1*)to_nonconst(p)->GetHistogram());\ }\ TObject_p Type ## _tF1GetParent ( Type ## _p p )\ {\ return to_nonconst((TObject*)to_nonconst(p)->GetParent());\ }\ TAxis_p Type ## _tF1GetXaxis ( Type ## _p p )\ {\ return to_nonconst((TAxis*)to_nonconst(p)->GetXaxis());\ }\ TAxis_p Type ## _tF1GetYaxis ( Type ## _p p )\ {\ return to_nonconst((TAxis*)to_nonconst(p)->GetYaxis());\ }\ TAxis_p Type ## _tF1GetZaxis ( Type ## _p p )\ {\ return to_nonconst((TAxis*)to_nonconst(p)->GetZaxis());\ }\ void Type ## _tF1InitStandardFunctions ( )\ {\ TF1::InitStandardFunctions();\ }\ TF1_p Type ## _tF1GetCurrent ( )\ {\ return to_nonconst((TF1*)TF1::GetCurrent());\ }\ void Type ## _tF1AbsValue ( int reject )\ {\ TF1::AbsValue(reject);\ }\ void Type ## _tF1RejectPoint ( int reject )\ {\ TF1::RejectPoint(reject);\ }\ int Type ## _tF1RejectedPoint ( )\ {\ return TF1::RejectedPoint();\ }\ void Type ## _tF1SetCurrent ( TF1_p f1 )\ {\ TF1::SetCurrent(to_nonconst(f1));\ }\ void Type ## _tF1CalcGaussLegendreSamplingPoints ( int num, double * x, double * w, double eps )\ {\ TF1::CalcGaussLegendreSamplingPoints(num, x, w, eps);\ } ROOT_TFORMULA_DECLARATIONVIRT(TF1); ROOT_TATTLINE_DECLARATIONVIRT(TF1); ROOT_TATTFILL_DECLARATIONVIRT(TF1); ROOT_TATTMARKER_DECLARATIONVIRT(TF1); ROOT_TNAMED_DECLARATIONVIRT(TF1); ROOT_TOBJECT_DECLARATIONVIRT(TF1); ROOT_DELETABLE_DECLARATIONVIRT(TF1); ROOT_TF1_DECLARATIONVIRT(TF1); ROOT_TF1_DECLARATIONNONVIRT(TF1); #ifdef __cplusplus } #endif