ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ptwXY_integration.cc File Reference
#include <cmath>
#include <float.h>
#include "ptwXY.h"
#include <nf_Legendre.h>
#include <nf_integration.h>
+ Include dependency graph for ptwXY_integration.cc:

Go to the source code of this file.

Classes

struct  ptwXY_integrateWithFunctionInfo_s
 

Typedefs

typedef struct
ptwXY_integrateWithFunctionInfo_s 
ptwXY_integrateWithFunctionInfo
 

Functions

static nfu_status ptwXY_integrateWithFunction2 (nf_Legendre_GaussianQuadrature_callback integrandFunction, void *argList, double x1, double x2, double *integral)
 
static nfu_status ptwXY_integrateWithFunction3 (double x, double *y, void *argList)
 
nfu_status ptwXY_f_integrate (ptwXY_interpolation interpolation, double x1, double y1, double x2, double y2, double *value)
 
double ptwXY_integrate (ptwXYPoints *ptwXY, double xMin, double xMax, nfu_status *status)
 
double ptwXY_integrateDomain (ptwXYPoints *ptwXY, nfu_status *status)
 
nfu_status ptwXY_normalize (ptwXYPoints *ptwXY)
 
double ptwXY_integrateDomainWithWeight_x (ptwXYPoints *ptwXY, nfu_status *status)
 
double ptwXY_integrateWithWeight_x (ptwXYPoints *ptwXY, double xMin, double xMax, nfu_status *status)
 
double ptwXY_integrateDomainWithWeight_sqrt_x (ptwXYPoints *ptwXY, nfu_status *status)
 
double ptwXY_integrateWithWeight_sqrt_x (ptwXYPoints *ptwXY, double xMin, double xMax, nfu_status *status)
 
ptwXPointsptwXY_groupOneFunction (ptwXYPoints *ptwXY, ptwXPoints *groupBoundaries, ptwXY_group_normType normType, ptwXPoints *ptwX_norm, nfu_status *status)
 
ptwXPointsptwXY_groupTwoFunctions (ptwXYPoints *ptwXY1, ptwXYPoints *ptwXY2, ptwXPoints *groupBoundaries, ptwXY_group_normType normType, ptwXPoints *ptwX_norm, nfu_status *status)
 
ptwXPointsptwXY_groupThreeFunctions (ptwXYPoints *ptwXY1, ptwXYPoints *ptwXY2, ptwXYPoints *ptwXY3, ptwXPoints *groupBoundaries, ptwXY_group_normType normType, ptwXPoints *ptwX_norm, nfu_status *status)
 
ptwXPointsptwXY_runningIntegral (ptwXYPoints *ptwXY, nfu_status *status)
 
double ptwXY_integrateWithFunction (ptwXYPoints *ptwXY, ptwXY_createFromFunction_callback func, void *argList, double xMin, double xMax, int degree, int recursionLimit, double tolerance, nfu_status *status)
 

Typedef Documentation

Function Documentation

nfu_status ptwXY_f_integrate ( ptwXY_interpolation  interpolation,
double  x1,
double  y1,
double  x2,
double  y2,
double *  value 
)

Definition at line 34 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 34 of file ptwXY_integration.cc

References a, e, f, G4Log(), G4Pow::GetInstance(), int(), n, nfu_badIntegrationInput, nfu_Okay, nfu_otherInterpolation, G4Pow::powA(), ptwXY_interpolationFlat, ptwXY_interpolationLinLin, ptwXY_interpolationLinLog, ptwXY_interpolationLogLin, ptwXY_interpolationLogLog, ptwXY_interpolationOther, r, x1, y1, y2, and z.

Referenced by ptwXY_integrate(), and ptwXY_runningIntegral().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ptwXPoints* ptwXY_groupOneFunction ( ptwXYPoints ptwXY,
ptwXPoints groupBoundaries,
ptwXY_group_normType  normType,
ptwXPoints ptwX_norm,
nfu_status status 
)
ptwXPoints* ptwXY_groupTwoFunctions ( ptwXYPoints ptwXY1,
ptwXYPoints ptwXY2,
ptwXPoints groupBoundaries,
ptwXY_group_normType  normType,
ptwXPoints ptwX_norm,
nfu_status status 
)

Definition at line 435 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 435 of file ptwXY_integration.cc

References check_license::err(), f, ff, Acts::UnitConstants::g, ptwXYPoints_s::interpolation, ptwXPoints_s::length, ptwXYPoints_s::length, nfu_badNorm, nfu_divByZero, nfu_Okay, nfu_otherInterpolation, ptwXPoints_s::points, ptwXYPoints_s::points, ptwX_createLine(), ptwX_free(), ptwX_length(), ptwX_new(), ptwXY_free(), ptwXY_group_normType_dx, ptwXY_group_normType_norm, ptwXY_interpolationFlat, ptwXY_interpolationOther, ptwXY_intersectionWith_ptwX(), ptwXY_simpleCoalescePoints(), ptwXY_tweakDomainsToMutualify(), ptwXY_union(), ptwXY_union_fill, ptwXPoints_s::status, sum, ptwXYPoint_s::x, x1, x2, and ptwXYPoint_s::y.

Referenced by GIDI_settings_processedFlux::groupFunction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_integrate ( ptwXYPoints ptwXY,
double  xMin,
double  xMax,
nfu_status status 
)

Definition at line 118 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 118 of file ptwXY_integration.cc

References ptwXYPoints_s::interpolation, ptwXYPoints_s::length, n, nfu_Okay, nfu_otherInterpolation, ptwXYPoints_s::points, ptwXY_f_integrate(), ptwXY_interpolatePoint(), ptwXY_interpolationOther, ptwXY_simpleCoalescePoints(), ptwXYPoints_s::status, sum, ptwXYPoint_s::x, x, x1, x2, ptwXYPoint_s::y, y, y1, and y2.

Referenced by ptwXY_integrateDomain().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_integrateDomain ( ptwXYPoints ptwXY,
nfu_status status 
)

Definition at line 181 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 181 of file ptwXY_integration.cc

References ptwXYPoints_s::length, nfu_Okay, ptwXY_getXMax(), ptwXY_getXMin(), ptwXY_integrate(), and ptwXYPoints_s::status.

Referenced by MCGIDI_angularEnergy_parsePointwiseFromTOM(), MCGIDI_energyAngular_linear_parseFromTOM(), MCGIDI_LLNL_angularEnergy_parsePointwiseFromTOM(), and ptwXY_normalize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_integrateDomainWithWeight_sqrt_x ( ptwXYPoints ptwXY,
nfu_status status 
)

Definition at line 284 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 284 of file ptwXY_integration.cc

References ptwXYPoints_s::length, nfu_Okay, ptwXY_getXMax(), ptwXY_getXMin(), ptwXY_integrateWithWeight_sqrt_x(), and ptwXYPoints_s::status.

+ Here is the call graph for this function:

double ptwXY_integrateDomainWithWeight_x ( ptwXYPoints ptwXY,
nfu_status status 
)

Definition at line 210 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 210 of file ptwXY_integration.cc

References ptwXYPoints_s::length, nfu_Okay, ptwXY_getXMax(), ptwXY_getXMin(), ptwXY_integrateWithWeight_x(), and ptwXYPoints_s::status.

+ Here is the call graph for this function:

static nfu_status ptwXY_integrateWithFunction2 ( nf_Legendre_GaussianQuadrature_callback  integrandFunction,
void argList,
double  x1,
double  x2,
double *  integral 
)
static

Definition at line 718 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 718 of file ptwXY_integration.cc

References ptwXY_integrateWithFunctionInfo_s::degree, and nf_Legendre_GaussianQuadrature().

Referenced by ptwXY_integrateWithFunction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static nfu_status ptwXY_integrateWithFunction3 ( double  x,
double *  y,
void argList 
)
static

Definition at line 730 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 730 of file ptwXY_integration.cc

References ptwXY_integrateWithFunctionInfo_s::argList, ptwXY_integrateWithFunctionInfo_s::func, ptwXY_integrateWithFunctionInfo_s::interpolation, nfu_Okay, ptwXY_interpolatePoint(), ptwXY_integrateWithFunctionInfo_s::x1, ptwXY_integrateWithFunctionInfo_s::x2, ptwXY_integrateWithFunctionInfo_s::y1, and ptwXY_integrateWithFunctionInfo_s::y2.

Referenced by ptwXY_integrateWithFunction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_integrateWithWeight_sqrt_x ( ptwXYPoints ptwXY,
double  xMin,
double  xMax,
nfu_status status 
)

Definition at line 293 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 293 of file ptwXY_integration.cc

References c, ptwXYPoints_s::interpolation, ptwXYPoints_s::length, n, nfu_Okay, nfu_unsupportedInterpolation, ptwXYPoints_s::points, ptwXY_interpolatePoint(), ptwXY_interpolationFlat, ptwXY_interpolationLinLin, ptwXY_simpleCoalescePoints(), ptwXYPoints_s::status, sum, ptwXYPoint_s::x, x, x1, x2, ptwXYPoint_s::y, y, y1, and y2.

Referenced by ptwXY_integrateDomainWithWeight_sqrt_x().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_integrateWithWeight_x ( ptwXYPoints ptwXY,
double  xMin,
double  xMax,
nfu_status status 
)

Definition at line 219 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 219 of file ptwXY_integration.cc

References ptwXYPoints_s::interpolation, ptwXYPoints_s::length, n, nfu_Okay, nfu_unsupportedInterpolation, ptwXYPoints_s::points, ptwXY_interpolatePoint(), ptwXY_interpolationFlat, ptwXY_interpolationLinLin, ptwXY_simpleCoalescePoints(), ptwXYPoints_s::status, sum, ptwXYPoint_s::x, x, x1, x2, ptwXYPoint_s::y, y, y1, and y2.

Referenced by ptwXY_integrateDomainWithWeight_x().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nfu_status ptwXY_normalize ( ptwXYPoints ptwXY)

Definition at line 190 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 190 of file ptwXY_integration.cc

References ptwXYPoints_s::length, nfu_badNorm, nfu_Okay, ptwXYPoints_s::points, ptwXY_integrateDomain(), sum, and ptwXYPoint_s::y.

Referenced by MCGIDI_energy_parseMadlandNixFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ptwXPoints* ptwXY_runningIntegral ( ptwXYPoints ptwXY,
nfu_status status 
)

Definition at line 632 of file ptwXY_integration.cc.

View newest version in sPHENIX GitHub at line 632 of file ptwXY_integration.cc

References check_license::err(), ptwXYPoints_s::interpolation, ptwXYPoints_s::length, nfu_Okay, ptwXYPoints_s::points, ptwX_free(), ptwX_new(), ptwX_setPointAtIndex(), ptwXY_f_integrate(), ptwXY_simpleCoalescePoints(), sum, ptwXYPoint_s::x, and ptwXYPoint_s::y.

Referenced by MCGIDI_angular_parseFromTOM(), MCGIDI_energy_parseMadlandNixFromTOM(), MCGIDI_fromTOM_pdfOfX(), and MCGIDI_KalbachMann_parseFromTOM2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: