Geant4  10.02
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)
 
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)
 
ptwXPoints * ptwXY_groupThreeFunctions (ptwXYPoints *ptwXY1, ptwXYPoints *ptwXY2, ptwXYPoints *ptwXY3, ptwXPoints *groupBoundaries, ptwXY_group_normType normType, ptwXPoints *ptwX_norm, nfu_status *status)
 
ptwXPoints * ptwXY_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.

References a, G4Log(), G4Pow::GetInstance(), n, G4Pow::powA(), s, 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 
)

Definition at line 363 of file ptwXY_integration.cc.

References ptwX_createLine(), ptwX_free(), ptwX_length(), ptwX_new(), ptwXY_free(), ptwXY_intersectionWith_ptwX(), and ptwXY_simpleCoalescePoints().

+ Here is the call graph for this function:

ptwXPoints* ptwXY_groupThreeFunctions ( ptwXYPoints *  ptwXY1,
ptwXYPoints *  ptwXY2,
ptwXYPoints *  ptwXY3,
ptwXPoints *  groupBoundaries,
ptwXY_group_normType  normType,
ptwXPoints *  ptwX_norm,
nfu_status *  status 
)

Definition at line 527 of file ptwXY_integration.cc.

References g, ptwX_createLine(), ptwX_free(), ptwX_length(), ptwX_new(), ptwXY_free(), ptwXY_intersectionWith_ptwX(), ptwXY_simpleCoalescePoints(), ptwXY_tweakDomainsToMutualify(), and ptwXY_union().

+ Here is the call graph for this function:

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.

References g, ptwX_createLine(), ptwX_free(), ptwX_length(), ptwX_new(), ptwXY_free(), ptwXY_intersectionWith_ptwX(), ptwXY_simpleCoalescePoints(), ptwXY_tweakDomainsToMutualify(), and ptwXY_union().

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.

References n, ptwXY_f_integrate(), ptwXY_interpolatePoint(), ptwXY_simpleCoalescePoints(), and x.

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.

References ptwXY_getXMax(), ptwXY_getXMin(), and ptwXY_integrate().

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.

References ptwXY_getXMax(), ptwXY_getXMin(), and ptwXY_integrateWithWeight_sqrt_x().

+ 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.

References ptwXY_getXMax(), ptwXY_getXMin(), and ptwXY_integrateWithWeight_x().

+ Here is the call graph for this function:

double ptwXY_integrateWithFunction ( ptwXYPoints *  ptwXY,
ptwXY_createFromFunction_callback  func,
void *  argList,
double  xMin,
double  xMax,
int  degree,
int  recursionLimit,
double  tolerance,
nfu_status *  status 
)
static nfu_status ptwXY_integrateWithFunction2 ( nf_Legendre_GaussianQuadrature_callback  integrandFunction,
void *  argList,
double  x1,
double  x2,
double *  integral 
)
static

Definition at line 717 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 729 of file ptwXY_integration.cc.

References ptwXY_integrateWithFunctionInfo_s::argList, ptwXY_integrateWithFunctionInfo_s::func, ptwXY_integrateWithFunctionInfo_s::interpolation, 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.

References n, ptwXY_interpolatePoint(), ptwXY_simpleCoalescePoints(), and x.

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.

References n, ptwXY_interpolatePoint(), ptwXY_simpleCoalescePoints(), and x.

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.

References ptwXY_integrateDomain().

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 631 of file ptwXY_integration.cc.

References ptwX_free(), ptwX_new(), ptwX_setPointAtIndex(), ptwXY_f_integrate(), and ptwXY_simpleCoalescePoints().

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: