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

Go to the source code of this file.

Functions

static void ptwXY_initialOverflowPoint (ptwXYOverflowPoint *overflowPoint, ptwXYOverflowPoint *prior, ptwXYOverflowPoint *next)
 
static nfu_status ptwXY_mergeFrom (ptwXYPoints *ptwXY, int incY, int length, double *xs, double *ys)
 
static int ptwXY_mergeCompareFunction (void const *x1p, void const *x2p)
 
ptwXYPointsptwXY_new (ptwXY_interpolation interpolation, ptwXY_interpolationOtherInfo const *interpolationOtherInfo, double biSectionMax, double accuracy, int64_t primarySize, int64_t secondarySize, nfu_status *status, int userFlag)
 
nfu_status ptwXY_setup (ptwXYPoints *ptwXY, ptwXY_interpolation interpolation, ptwXY_interpolationOtherInfo const *interpolationOtherInfo, double biSectionMax, double accuracy, int64_t primarySize, int64_t secondarySize, int userFlag)
 
ptwXYPointsptwXY_create (ptwXY_interpolation interpolation, ptwXY_interpolationOtherInfo const *interpolationOtherInfo, double biSectionMax, double accuracy, int64_t primarySize, int64_t secondarySize, int64_t length, double const *xy, nfu_status *status, int userFlag)
 
ptwXYPointsptwXY_createFrom_Xs_Ys (ptwXY_interpolation interpolation, ptwXY_interpolationOtherInfo const *interpolationOtherInfo, double biSectionMax, double accuracy, int64_t primarySize, int64_t secondarySize, int64_t length, double const *Xs, double const *Ys, nfu_status *status, int userFlag)
 
nfu_status ptwXY_copy (ptwXYPoints *dest, ptwXYPoints *src)
 
ptwXYPointsptwXY_clone (ptwXYPoints *ptwXY, nfu_status *status)
 
ptwXYPointsptwXY_cloneToInterpolation (ptwXYPoints *ptwXY, ptwXY_interpolation interpolationTo, nfu_status *status)
 
ptwXYPointsptwXY_slice (ptwXYPoints *ptwXY, int64_t index1, int64_t index2, int64_t secondarySize, nfu_status *status)
 
ptwXYPointsptwXY_xSlice (ptwXYPoints *ptwXY, double xMin, double xMax, int64_t secondarySize, int fill, nfu_status *status)
 
ptwXYPointsptwXY_xMinSlice (ptwXYPoints *ptwXY, double xMin, int64_t secondarySize, int fill, nfu_status *status)
 
ptwXYPointsptwXY_xMaxSlice (ptwXYPoints *ptwXY, double xMax, int64_t secondarySize, int fill, nfu_status *status)
 
ptwXY_interpolation ptwXY_getInterpolation (ptwXYPoints *ptwXY)
 
char const * ptwXY_getInterpolationString (ptwXYPoints *ptwXY)
 
nfu_status ptwXY_getStatus (ptwXYPoints *ptwXY)
 
int ptwXY_getUserFlag (ptwXYPoints *ptwXY)
 
void ptwXY_setUserFlag (ptwXYPoints *ptwXY, int userFlag)
 
double ptwXY_getAccuracy (ptwXYPoints *ptwXY)
 
double ptwXY_setAccuracy (ptwXYPoints *ptwXY, double accuracy)
 
double ptwXY_getBiSectionMax (ptwXYPoints *ptwXY)
 
double ptwXY_setBiSectionMax (ptwXYPoints *ptwXY, double biSectionMax)
 
nfu_status ptwXY_reallocatePoints (ptwXYPoints *ptwXY, int64_t size, int forceSmallerResize)
 
nfu_status ptwXY_reallocateOverflowPoints (ptwXYPoints *ptwXY, int64_t size)
 
nfu_status ptwXY_coalescePoints (ptwXYPoints *ptwXY, int64_t size, ptwXYPoint *newPoint, int forceSmallerResize)
 
nfu_status ptwXY_simpleCoalescePoints (ptwXYPoints *ptwXY)
 
nfu_status ptwXY_clear (ptwXYPoints *ptwXY)
 
nfu_status ptwXY_release (ptwXYPoints *ptwXY)
 
ptwXYPointsptwXY_free (ptwXYPoints *ptwXY)
 
int64_t ptwXY_length (ptwXYPoints *ptwXY)
 
int64_t ptwXY_getNonOverflowLength (ptwXYPoints const *ptwXY)
 
nfu_status ptwXY_setXYData (ptwXYPoints *ptwXY, int64_t length, double const *xy)
 
nfu_status ptwXY_setXYDataFromXsAndYs (ptwXYPoints *ptwXY, int64_t length, double const *x, double const *y)
 
nfu_status ptwXY_deletePoints (ptwXYPoints *ptwXY, int64_t i1, int64_t i2)
 
ptwXYPointptwXY_getPointAtIndex (ptwXYPoints *ptwXY, int64_t index)
 
ptwXYPointptwXY_getPointAtIndex_Unsafely (ptwXYPoints *ptwXY, int64_t index)
 
nfu_status ptwXY_getXYPairAtIndex (ptwXYPoints *ptwXY, int64_t index, double *x, double *y)
 
ptwXY_lessEqualGreaterX ptwXY_getPointsAroundX (ptwXYPoints *ptwXY, double x, ptwXYOverflowPoint *lessThanEqualXPoint, ptwXYOverflowPoint *greaterThanXPoint)
 
ptwXY_lessEqualGreaterX ptwXY_getPointsAroundX_closeIsEqual (ptwXYPoints *ptwXY, double x, ptwXYOverflowPoint *lessThanEqualXPoint, ptwXYOverflowPoint *greaterThanXPoint, double eps, int *closeIsEqual, ptwXYPoint **closePoint)
 
nfu_status ptwXY_getValueAtX (ptwXYPoints *ptwXY, double x, double *y)
 
nfu_status ptwXY_setValueAtX (ptwXYPoints *ptwXY, double x, double y)
 
nfu_status ptwXY_setValueAtX_overrideIfClose (ptwXYPoints *ptwXY, double x, double y, double eps, int override)
 
nfu_status ptwXY_mergeFromXsAndYs (ptwXYPoints *ptwXY, int length, double *xs, double *ys)
 
nfu_status ptwXY_mergeFromXYs (ptwXYPoints *ptwXY, int length, double *xys)
 
nfu_status ptwXY_appendXY (ptwXYPoints *ptwXY, double x, double y)
 
nfu_status ptwXY_setXYPairAtIndex (ptwXYPoints *ptwXY, int64_t index, double x, double y)
 
nfu_status ptwXY_getSlopeAtX (ptwXYPoints *ptwXY, double x, const char side, double *slope)
 
double ptwXY_getXMinAndFrom (ptwXYPoints *ptwXY, ptwXY_dataFrom *dataFrom)
 
double ptwXY_getXMin (ptwXYPoints *ptwXY)
 
double ptwXY_getXMaxAndFrom (ptwXYPoints *ptwXY, ptwXY_dataFrom *dataFrom)
 
double ptwXY_getXMax (ptwXYPoints *ptwXY)
 
double ptwXY_getYMin (ptwXYPoints *ptwXY)
 
double ptwXY_getYMax (ptwXYPoints *ptwXY)
 

Variables

static char const linLinInterpolationString [] = "linear,linear"
 
static char const linLogInterpolationString [] = "linear,log"
 
static char const logLinInterpolationString [] = "log,linear"
 
static char const logLogInterpolationString [] = "log,log"
 
static char const flatInterpolationString [] = "flat"
 

Function Documentation

nfu_status ptwXY_appendXY ( ptwXYPoints ptwXY,
double  x,
double  y 
)
nfu_status ptwXY_clear ( ptwXYPoints ptwXY)

Definition at line 536 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 536 of file ptwXY_core.cc

References ptwXYPoints_s::length, ptwXYOverflowPoint_s::next, nfu_Okay, ptwXYPoints_s::overflowHeader, ptwXYPoints_s::overflowLength, ptwXYOverflowPoint_s::prior, and ptwXYPoints_s::status.

Referenced by ptwXY_clip(), ptwXY_copy(), and ptwXY_setXYDataFromXsAndYs().

+ Here is the caller graph for this function:

ptwXYPoints* ptwXY_clone ( ptwXYPoints ptwXY,
nfu_status status 
)

Definition at line 208 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 208 of file ptwXY_core.cc

References ptwXYPoints_s::length, ptwXYPoints_s::overflowAllocatedSize, and ptwXY_slice().

Referenced by GIDI_settings_processedFlux::GIDI_settings_processedFlux(), GIDI_settings_processedFlux::operator=(), ptwXY_add_ptwXY(), ptwXY_cloneToInterpolation(), ptwXY_fromUnitbase(), ptwXY_intersectionWith_ptwX(), ptwXY_mul_ptwXY(), ptwXY_sub_ptwXY(), ptwXY_thin(), ptwXY_toOtherInterpolation(), ptwXY_toUnitbase(), ptwXY_unitbaseInterpolate(), and ptwXY_xSlice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ptwXYPoints* ptwXY_cloneToInterpolation ( ptwXYPoints ptwXY,
ptwXY_interpolation  interpolationTo,
nfu_status status 
)

Definition at line 215 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 215 of file ptwXY_core.cc

References ptwXY_interpolationOtherInfo::argList, flatInterpolationString, ptwXY_interpolationOtherInfo::getValueFunc, ptwXYPoints_s::interpolation, ptwXYPoints_s::interpolationOtherInfo, ptwXY_interpolationOtherInfo::interpolationString, linLinInterpolationString, linLogInterpolationString, logLinInterpolationString, logLogInterpolationString, n1, nfu_free(), nfu_otherInterpolation, ptwXY_clone(), ptwXY_interpolationFlat, ptwXY_interpolationLinLin, ptwXY_interpolationLinLog, ptwXY_interpolationLogLin, ptwXY_interpolationLogLog, and ptwXY_interpolationOther.

Referenced by ptwXY_toOtherInterpolation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nfu_status ptwXY_coalescePoints ( ptwXYPoints ptwXY,
int64_t  size,
ptwXYPoint newPoint,
int  forceSmallerResize 
)

Definition at line 469 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 469 of file ptwXY_core.cc

References ptwXYPoints_s::allocatedSize, BTOF::length, ptwXYPoints_s::length, ptwXYOverflowPoint_s::next, nfu_Okay, ptwXYPoints_s::overflowHeader, ptwXYPoints_s::overflowLength, ptwXYOverflowPoint_s::point, ptwXYPoints_s::points, ptwXYOverflowPoint_s::prior, ptwXY_getNonOverflowLength(), ptwXY_reallocatePoints(), ptwXYPoints_s::status, and ptwXYPoint_s::x.

Referenced by ptwXY_appendXY(), ptwXY_createGaussianCenteredSigma1(), ptwXY_reallocateOverflowPoints(), ptwXY_setValueAtX_overrideIfClose(), ptwXY_simpleCoalescePoints(), and ptwXY_xSlice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ptwXYPoints* ptwXY_create ( ptwXY_interpolation  interpolation,
ptwXY_interpolationOtherInfo const *  interpolationOtherInfo,
double  biSectionMax,
double  accuracy,
int64_t  primarySize,
int64_t  secondarySize,
int64_t  length,
double const *  xy,
nfu_status status,
int  userFlag 
)

Definition at line 108 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 108 of file ptwXY_core.cc

References BTOF::length, nfu_Okay, ptwXY_free(), ptwXY_new(), and ptwXY_setXYData().

Referenced by MCGIDI_misc_Data2ptwXYPointsInUnitsOf(), MCGIDI_target_heated_read(), and ptwXY_fromString().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ptwXYPoints* ptwXY_createFrom_Xs_Ys ( ptwXY_interpolation  interpolation,
ptwXY_interpolationOtherInfo const *  interpolationOtherInfo,
double  biSectionMax,
double  accuracy,
int64_t  primarySize,
int64_t  secondarySize,
int64_t  length,
double const *  Xs,
double const *  Ys,
nfu_status status,
int  userFlag 
)

Definition at line 126 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 126 of file ptwXY_core.cc

References BTOF::length, ptwXYPoints_s::length, ptwXYPoints_s::points, ptwXY_new(), ptwXYPoint_s::x, and ptwXYPoint_s::y.

+ Here is the call graph for this function:

nfu_status ptwXY_deletePoints ( ptwXYPoints ptwXY,
int64_t  i1,
int64_t  i2 
)

Definition at line 660 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 660 of file ptwXY_core.cc

References ptwXYPoints_s::length, n, nfu_badIndex, nfu_Okay, ptwXYPoints_s::points, ptwXY_simpleCoalescePoints(), and ptwXYPoints_s::status.

+ Here is the call graph for this function:

ptwXYPoints* ptwXY_free ( ptwXYPoints ptwXY)

Definition at line 574 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 574 of file ptwXY_core.cc

References nfu_free(), and ptwXY_release().

Referenced by GIDI_settings_processedFlux::GIDI_settings_processedFlux(), GIDI_settings_processedFlux::groupFunction(), MCGIDI_angular_parseFromTOM(), MCGIDI_angularEnergy_parsePointwiseFromTOM(), MCGIDI_energy_parseGeneralEvaporationFromTOM(), MCGIDI_energy_parseMadlandNixFromTOM(), MCGIDI_energy_parseNBodyPhaseSpaceFromTOM(), MCGIDI_energy_parseWeightFromTOM(), MCGIDI_energy_release(), MCGIDI_energyAngular_linear_parseFromTOM(), MCGIDI_fromTOM_pdfsOfXGivenW(), MCGIDI_KalbachMann_parseFromTOM2(), MCGIDI_LLNL_angularEnergy_parsePointwiseFromTOM(), MCGIDI_misc_Data2ptwXYPointsInUnitsOf(), MCGIDI_product_parseFromTOM(), MCGIDI_product_parsePolynomialMultiplicity(), MCGIDI_product_parseWeightedReferenceMultiplicityFromTOM(), MCGIDI_product_release(), MCGIDI_reaction_release(), MCGIDI_target_heated_read(), MCGIDI_target_heated_release(), GIDI_settings_processedFlux::operator=(), ptwXY_binary_ptwXY(), ptwXY_clip(), ptwXY_convolution(), ptwXY_create(), ptwXY_createFromFunction(), ptwXY_createGaussian(), ptwXY_createGaussianCenteredSigma1(), ptwXY_div_ptwXY(), ptwXY_div_ptwXY_forFlats(), ptwXY_flatInterpolationToLinear(), ptwXY_groupOneFunction(), ptwXY_groupThreeFunctions(), ptwXY_groupTwoFunctions(), ptwXY_intersectionWith_ptwX(), ptwXY_mul2_ptwXY(), ptwXY_sub_ptwXY(), ptwXY_thin(), ptwXY_toOtherInterpolation(), ptwXY_union(), ptwXY_unitbaseInterpolate(), ptwXY_xSlice(), and GIDI_settings_processedFlux::~GIDI_settings_processedFlux().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_getAccuracy ( ptwXYPoints ptwXY)

Definition at line 372 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 372 of file ptwXY_core.cc

References ptwXYPoints_s::accuracy.

double ptwXY_getBiSectionMax ( ptwXYPoints ptwXY)

Definition at line 390 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 390 of file ptwXY_core.cc

References ptwXYPoints_s::biSectionMax.

ptwXY_interpolation ptwXY_getInterpolation ( ptwXYPoints ptwXY)

Definition at line 337 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 337 of file ptwXY_core.cc

References ptwXYPoints_s::interpolation.

Referenced by MCGIDI_energy_parseGeneralEvaporationFromTOM().

+ Here is the caller graph for this function:

char const* ptwXY_getInterpolationString ( ptwXYPoints ptwXY)

Definition at line 344 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 344 of file ptwXY_core.cc

References ptwXYPoints_s::interpolationOtherInfo, and ptwXY_interpolationOtherInfo::interpolationString.

int64_t ptwXY_getNonOverflowLength ( ptwXYPoints const *  ptwXY)

Definition at line 590 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 590 of file ptwXY_core.cc

References ptwXYPoints_s::length, and ptwXYPoints_s::overflowLength.

Referenced by ptwXY_abs(), ptwXY_appendXY(), ptwXY_coalescePoints(), ptwXY_copy(), ptwXY_div_fromDouble(), ptwXY_getPointsAroundX_closeIsEqual(), ptwXY_getXMaxAndFrom(), ptwXY_getXMinAndFrom(), ptwXY_getYMax(), ptwXY_getYMin(), ptwXY_mod(), ptwXY_neg(), ptwXY_setValueAtX_overrideIfClose(), ptwXY_showInteralStructure(), and ptwXY_slopeOffset().

+ Here is the caller graph for this function:

ptwXYPoint* ptwXY_getPointAtIndex ( ptwXYPoints ptwXY,
int64_t  index 
)

Definition at line 675 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 675 of file ptwXY_core.cc

References ptwXYPoints_s::length, nfu_Okay, ptwXY_getPointAtIndex_Unsafely(), and ptwXYPoints_s::status.

Referenced by ptwXY_getXYPairAtIndex(), ptwXY_showInteralStructure(), and ptwXY_simpleWrite().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ptwXYPoint* ptwXY_getPointAtIndex_Unsafely ( ptwXYPoints ptwXY,
int64_t  index 
)

Definition at line 684 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 684 of file ptwXY_core.cc

References ptwXYOverflowPoint_s::index, ptwXYOverflowPoint_s::next, ptwXYPoints_s::overflowHeader, ptwXYOverflowPoint_s::point, and ptwXYPoints_s::points.

Referenced by MCGIDI_angular_parseFromTOM(), MCGIDI_energy_parseMadlandNixFromTOM(), MCGIDI_fromTOM_pdfOfX(), MCGIDI_KalbachMann_parseFromTOM2(), ptwXY_areDomainsMutual(), ptwXY_clip(), ptwXY_dullEdges(), ptwXY_getPointAtIndex(), ptwXY_getSlopeAtX(), ptwXY_mutualifyDomains(), and ptwXY_tweakDomainsToMutualify().

+ Here is the caller graph for this function:

ptwXY_lessEqualGreaterX ptwXY_getPointsAroundX ( ptwXYPoints ptwXY,
double  x,
ptwXYOverflowPoint lessThanEqualXPoint,
ptwXYOverflowPoint greaterThanXPoint 
)

Definition at line 710 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 710 of file ptwXY_core.cc

References ptwXY_getPointsAroundX_closeIsEqual().

Referenced by ptwXY_convolution2(), ptwXY_getSlopeAtX(), and ptwXY_getValueAtX().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ptwXY_lessEqualGreaterX ptwXY_getPointsAroundX_closeIsEqual ( ptwXYPoints ptwXY,
double  x,
ptwXYOverflowPoint lessThanEqualXPoint,
ptwXYOverflowPoint greaterThanXPoint,
double  eps,
int closeIsEqual,
ptwXYPoint **  closePoint 
)

Definition at line 720 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 720 of file ptwXY_core.cc

References ptwXYOverflowPoint_s::index, ptwXYPoints_s::length, ptwXYOverflowPoint_s::next, ptwXYPoints_s::overflowHeader, ptwXYOverflowPoint_s::point, ptwXYPoints_s::points, ptwXYOverflowPoint_s::prior, ptwXY_dataFrom_Points, ptwXY_getNonOverflowLength(), ptwXY_getXMaxAndFrom(), ptwXY_getXMinAndFrom(), ptwXY_initialOverflowPoint(), ptwXY_lessEqualGreaterX_between, ptwXY_lessEqualGreaterX_empty, ptwXY_lessEqualGreaterX_equal, ptwXY_lessEqualGreaterX_greater, ptwXY_lessEqualGreaterX_lessThan, ptwXYPoint_s::x, and x.

Referenced by ptwXY_getPointsAroundX(), and ptwXY_setValueAtX_overrideIfClose().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nfu_status ptwXY_getSlopeAtX ( ptwXYPoints ptwXY,
double  x,
const char  side,
double *  slope 
)

Definition at line 1139 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 1139 of file ptwXY_core.cc

References ptwXYOverflowPoint_s::index, ptwXYPoints_s::length, nfu_badInput, nfu_Okay, nfu_XOutsideDomain, ptwXYOverflowPoint_s::point, ptwXY_getPointAtIndex_Unsafely(), ptwXY_getPointsAroundX(), ptwXY_lessEqualGreaterX_between, ptwXY_lessEqualGreaterX_empty, ptwXY_lessEqualGreaterX_equal, ptwXY_lessEqualGreaterX_greater, ptwXY_lessEqualGreaterX_lessThan, ptwXYPoint_s::x, and ptwXYPoint_s::y.

Referenced by ptwXY_div_ptwXY().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nfu_status ptwXY_getStatus ( ptwXYPoints ptwXY)

Definition at line 351 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 351 of file ptwXY_core.cc

References ptwXYPoints_s::status.

Referenced by nf_Legendre_from_ptwXY().

+ Here is the caller graph for this function:

int ptwXY_getUserFlag ( ptwXYPoints ptwXY)

Definition at line 358 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 358 of file ptwXY_core.cc

References ptwXYPoints_s::userFlag.

nfu_status ptwXY_getValueAtX ( ptwXYPoints ptwXY,
double  x,
double *  y 
)
double ptwXY_getXMax ( ptwXYPoints ptwXY)

Definition at line 1239 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 1239 of file ptwXY_core.cc

References ptwXY_getXMaxAndFrom().

Referenced by GIDI_settings_processedFlux::groupFunction(), MCGIDI_product_sampleMultiplicity(), MCGIDI_reaction_parseFromTOM(), MCGIDI_sampling_ptwXY_getValueAtX(), ptwXY_convolution3(), ptwXY_integrateDomain(), ptwXY_integrateDomainWithWeight_sqrt_x(), ptwXY_integrateDomainWithWeight_x(), ptwXY_xMinSlice(), and ptwXY_xSlice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_getXMaxAndFrom ( ptwXYPoints ptwXY,
ptwXY_dataFrom dataFrom 
)

Definition at line 1215 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 1215 of file ptwXY_core.cc

References ptwXYPoints_s::length, nfu_getNAN(), ptwXYPoints_s::overflowHeader, ptwXYPoints_s::overflowLength, ptwXYOverflowPoint_s::point, ptwXYPoints_s::points, ptwXYOverflowPoint_s::prior, ptwXY_dataFrom_Overflow, ptwXY_dataFrom_Points, ptwXY_dataFrom_Unknown, ptwXY_getNonOverflowLength(), ptwXYPoint_s::x, and x.

Referenced by ptwXY_appendXY(), ptwXY_getPointsAroundX_closeIsEqual(), and ptwXY_getXMax().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_getXMin ( ptwXYPoints ptwXY)

Definition at line 1206 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 1206 of file ptwXY_core.cc

References ptwXY_getXMinAndFrom().

Referenced by GIDI_settings_processedFlux::groupFunction(), MCGIDI_reaction_parseFromTOM(), MCGIDI_sampling_ptwXY_getValueAtX(), ptwXY_convolution3(), ptwXY_integrateDomain(), ptwXY_integrateDomainWithWeight_sqrt_x(), ptwXY_integrateDomainWithWeight_x(), ptwXY_xMaxSlice(), and ptwXY_xSlice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_getXMinAndFrom ( ptwXYPoints ptwXY,
ptwXY_dataFrom dataFrom 
)

Definition at line 1182 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 1182 of file ptwXY_core.cc

References ptwXYOverflowPoint_s::next, nfu_getNAN(), ptwXYPoints_s::overflowHeader, ptwXYPoints_s::overflowLength, ptwXYOverflowPoint_s::point, ptwXYPoints_s::points, ptwXY_dataFrom_Overflow, ptwXY_dataFrom_Points, ptwXY_dataFrom_Unknown, ptwXY_getNonOverflowLength(), and ptwXYPoint_s::x.

Referenced by ptwXY_getPointsAroundX_closeIsEqual(), and ptwXY_getXMin().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nfu_status ptwXY_getXYPairAtIndex ( ptwXYPoints ptwXY,
int64_t  index,
double *  x,
double *  y 
)

Definition at line 698 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 698 of file ptwXY_core.cc

References nfu_badIndex, nfu_Okay, ptwXY_getPointAtIndex(), ptwXYPoint_s::x, and ptwXYPoint_s::y.

Referenced by MCGIDI_energy_parseMadlandNixFromTOM(), and nf_Legendre_from_ptwXY().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_getYMax ( ptwXYPoints ptwXY)

Definition at line 1269 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 1269 of file ptwXY_core.cc

References ptwXYPoints_s::length, n, ptwXYOverflowPoint_s::next, ptwXYPoints_s::overflowHeader, ptwXYOverflowPoint_s::point, ptwXYPoints_s::points, ptwXY_getNonOverflowLength(), and ptwXYPoint_s::y.

Referenced by MCGIDI_product_parseFromTOM(), and ptwXY_clip().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_getYMin ( ptwXYPoints ptwXY)

Definition at line 1248 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 1248 of file ptwXY_core.cc

References ptwXYPoints_s::length, n, ptwXYOverflowPoint_s::next, ptwXYPoints_s::overflowHeader, ptwXYOverflowPoint_s::point, ptwXYPoints_s::points, ptwXY_getNonOverflowLength(), ptwXYPoint_s::y, and y.

Referenced by MCGIDI_product_parseFromTOM(), and ptwXY_clip().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ptwXY_initialOverflowPoint ( ptwXYOverflowPoint overflowPoint,
ptwXYOverflowPoint prior,
ptwXYOverflowPoint next 
)
static

Definition at line 1290 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 1290 of file ptwXY_core.cc

References ptwXYOverflowPoint_s::index, ptwXYOverflowPoint_s::next, ptwXYOverflowPoint_s::point, ptwXYOverflowPoint_s::prior, ptwXYPoint_s::x, and ptwXYPoint_s::y.

Referenced by ptwXY_getPointsAroundX_closeIsEqual(), and ptwXY_setup().

+ Here is the caller graph for this function:

int64_t ptwXY_length ( ptwXYPoints ptwXY)

Definition at line 583 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 583 of file ptwXY_core.cc

References ptwXYPoints_s::length.

Referenced by MCGIDI_angular_parseFromTOM(), MCGIDI_energy_parseMadlandNixFromTOM(), MCGIDI_fromTOM_pdfOfX(), MCGIDI_product_parseFromTOM(), nf_Legendre_from_ptwXY(), and ptwXY_valueTo_ptwXAndY().

+ Here is the caller graph for this function:

static int ptwXY_mergeCompareFunction ( void const *  x1p,
void const *  x2p 
)
static

Definition at line 1051 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 1051 of file ptwXY_core.cc

References d1, and d2.

Referenced by ptwXY_mergeFrom().

+ Here is the caller graph for this function:

static nfu_status ptwXY_mergeFrom ( ptwXYPoints ptwXY,
int  incY,
int  length,
double *  xs,
double *  ys 
)
static

Definition at line 991 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 991 of file ptwXY_core.cc

References int(), BTOF::length, ptwXYPoints_s::length, n, nfu_badInput, nfu_free(), nfu_malloc(), nfu_mallocError, nfu_Okay, ptwXYPoints_s::points, ptwXY_mergeCompareFunction(), ptwXY_reallocatePoints(), ptwXY_simpleCoalescePoints(), ptwXYPoint_s::x, x, and ptwXYPoint_s::y.

Referenced by ptwXY_mergeFromXsAndYs(), and ptwXY_mergeFromXYs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nfu_status ptwXY_mergeFromXsAndYs ( ptwXYPoints ptwXY,
int  length,
double *  xs,
double *  ys 
)

Definition at line 966 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 966 of file ptwXY_core.cc

References ptwXY_mergeFrom().

+ Here is the call graph for this function:

nfu_status ptwXY_mergeFromXYs ( ptwXYPoints ptwXY,
int  length,
double *  xys 
)

Definition at line 973 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 973 of file ptwXY_core.cc

References BTOF::length, nfu_badInput, nfu_free(), nfu_malloc(), nfu_mallocError, nfu_Okay, and ptwXY_mergeFrom().

+ Here is the call graph for this function:

ptwXYPoints* ptwXY_new ( ptwXY_interpolation  interpolation,
ptwXY_interpolationOtherInfo const *  interpolationOtherInfo,
double  biSectionMax,
double  accuracy,
int64_t  primarySize,
int64_t  secondarySize,
nfu_status status,
int  userFlag 
)

Definition at line 29 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 29 of file ptwXY_core.cc

References nfu_calloc(), nfu_free(), nfu_mallocError, nfu_Okay, ptwXY_setup(), and ptwXYPoints_s::status.

Referenced by MCGIDI_angularEnergy_parsePointwiseFromTOM(), MCGIDI_energyAngular_linear_parseFromTOM(), MCGIDI_KalbachMann_parseFromTOM2(), MCGIDI_product_parseFromTOM(), MCGIDI_product_parsePolynomialMultiplicity(), ptwXY_clip(), ptwXY_convolution(), ptwXY_create(), ptwXY_createFrom_Xs_Ys(), ptwXY_createFromFunction(), ptwXY_createGaussianCenteredSigma1(), ptwXY_flatInterpolationToLinear(), ptwXY_slice(), ptwXY_thin(), ptwXY_union(), ptwXY_valueTo_ptwXY(), and ptwXY_xSlice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nfu_status ptwXY_reallocateOverflowPoints ( ptwXYPoints ptwXY,
int64_t  size 
)

Definition at line 439 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 439 of file ptwXY_core.cc

References ptwXYPoints_s::length, ptwXYPoints_s::mallocFailedSize, nfu_mallocError, nfu_Okay, nfu_realloc(), ptwXYPoints_s::overflowAllocatedSize, ptwXYPoints_s::overflowLength, ptwXYPoints_s::overflowPoints, ptwXY_coalescePoints(), ptwXY_minimumOverflowSize, and ptwXYPoints_s::status.

Referenced by ptwXY_setup().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nfu_status ptwXY_reallocatePoints ( ptwXYPoints ptwXY,
int64_t  size,
int  forceSmallerResize 
)

Definition at line 410 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 410 of file ptwXY_core.cc

References ptwXYPoints_s::allocatedSize, BTOF::length, ptwXYPoints_s::length, ptwXYPoints_s::mallocFailedSize, nfu_mallocError, nfu_Okay, nfu_realloc(), ptwXYPoints_s::points, ptwXY_minimumSize, and ptwXYPoints_s::status.

Referenced by ptwXY_coalescePoints(), ptwXY_copy(), ptwXY_mergeFrom(), ptwXY_setup(), ptwXY_setXYData(), and ptwXY_setXYDataFromXsAndYs().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nfu_status ptwXY_release ( ptwXYPoints ptwXY)

Definition at line 549 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 549 of file ptwXY_core.cc

References ptwXYPoints_s::allocatedSize, ptwXY_interpolationOtherInfo::argList, ptwXY_interpolationOtherInfo::getValueFunc, ptwXYPoints_s::interpolation, ptwXYPoints_s::interpolationOtherInfo, ptwXY_interpolationOtherInfo::interpolationString, ptwXYPoints_s::length, nfu_free(), nfu_Okay, ptwXYPoints_s::overflowAllocatedSize, ptwXYPoints_s::overflowLength, ptwXYPoints_s::overflowPoints, ptwXYPoints_s::points, ptwXY_interpolationLinLin, and ptwXY_interpolationOther.

Referenced by ptwXY_free(), and ptwXY_setup().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double ptwXY_setAccuracy ( ptwXYPoints ptwXY,
double  accuracy 
)

Definition at line 379 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 379 of file ptwXY_core.cc

References ptwXYPoints_s::accuracy, and ptwXY_minAccuracy.

Referenced by ptwXY_setup().

+ Here is the caller graph for this function:

double ptwXY_setBiSectionMax ( ptwXYPoints ptwXY,
double  biSectionMax 
)

Definition at line 397 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 397 of file ptwXY_core.cc

References ptwXYPoints_s::biSectionMax, and ptwXY_maxBiSectionMax.

Referenced by ptwXY_setup().

+ Here is the caller graph for this function:

nfu_status ptwXY_setup ( ptwXYPoints ptwXY,
ptwXY_interpolation  interpolation,
ptwXY_interpolationOtherInfo const *  interpolationOtherInfo,
double  biSectionMax,
double  accuracy,
int64_t  primarySize,
int64_t  secondarySize,
int  userFlag 
)

Definition at line 46 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 46 of file ptwXY_core.cc

References ptwXYPoints_s::accuracy, ptwXYPoints_s::allocatedSize, ptwXY_interpolationOtherInfo::argList, ptwXYPoints_s::biSectionMax, flatInterpolationString, ptwXY_interpolationOtherInfo::getValueFunc, ptwXYPoints_s::interpolation, ptwXYPoints_s::interpolationOtherInfo, ptwXY_interpolationOtherInfo::interpolationString, ptwXYPoints_s::length, linLinInterpolationString, linLogInterpolationString, logLinInterpolationString, logLogInterpolationString, ptwXYPoints_s::mallocFailedSize, nfu_mallocError, nfu_Okay, nfu_otherInterpolation, ptwXYPoints_s::overflowAllocatedSize, ptwXYPoints_s::overflowHeader, ptwXYPoints_s::overflowLength, ptwXYPoints_s::overflowPoints, ptwXYPoints_s::points, ptwXY_initialOverflowPoint(), ptwXY_interpolationFlat, ptwXY_interpolationLinLin, ptwXY_interpolationLinLog, ptwXY_interpolationLogLin, ptwXY_interpolationLogLog, ptwXY_interpolationOther, ptwXY_maxBiSectionMax, ptwXY_minAccuracy, ptwXY_reallocateOverflowPoints(), ptwXY_reallocatePoints(), ptwXY_release(), ptwXY_setAccuracy(), ptwXY_setBiSectionMax(), ptwXY_setUserFlag(), ptwXY_sigma_none, ptwXYPoints_s::status, ptwXYPoints_s::typeX, ptwXYPoints_s::typeY, and ptwXYPoints_s::userFlag.

Referenced by ptwXY_new().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ptwXY_setUserFlag ( ptwXYPoints ptwXY,
int  userFlag 
)

Definition at line 365 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 365 of file ptwXY_core.cc

References ptwXYPoints_s::userFlag.

Referenced by ptwXY_setup().

+ Here is the caller graph for this function:

nfu_status ptwXY_setValueAtX_overrideIfClose ( ptwXYPoints ptwXY,
double  x,
double  y,
double  eps,
int  override 
)
nfu_status ptwXY_setXYData ( ptwXYPoints ptwXY,
int64_t  length,
double const *  xy 
)

Definition at line 597 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 597 of file ptwXY_core.cc

References ptwXYPoints_s::allocatedSize, d, BTOF::length, ptwXYPoints_s::length, ptwXYOverflowPoint_s::next, nfu_Okay, nfu_XNotAscending, ptwXYPoints_s::overflowHeader, ptwXYPoints_s::overflowLength, ptwXYPoints_s::points, ptwXYOverflowPoint_s::prior, ptwXY_reallocatePoints(), ptwXYPoints_s::status, ptwXYPoint_s::x, and ptwXYPoint_s::y.

Referenced by ptwXY_create().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

nfu_status ptwXY_setXYDataFromXsAndYs ( ptwXYPoints ptwXY,
int64_t  length,
double const *  x,
double const *  y 
)

Definition at line 631 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 631 of file ptwXY_core.cc

References ptwXYPoints_s::allocatedSize, BTOF::length, ptwXYPoints_s::length, nfu_Okay, nfu_XNotAscending, ptwXYPoints_s::points, ptwXY_clear(), ptwXY_reallocatePoints(), ptwXYPoints_s::status, ptwXYPoint_s::x, x, ptwXYPoint_s::y, and y.

+ Here is the call graph for this function:

ptwXYPoints* ptwXY_slice ( ptwXYPoints ptwXY,
int64_t  index1,
int64_t  index2,
int64_t  secondarySize,
nfu_status status 
)

Definition at line 248 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 248 of file ptwXY_core.cc

References ptwXYPoints_s::accuracy, ptwXYPoints_s::biSectionMax, Acts::index1, Acts::index2, ptwXYPoints_s::interpolation, ptwXYPoints_s::interpolationOtherInfo, BTOF::length, ptwXYPoints_s::length, n, nfu_badIndex, nfu_badSelf, nfu_Okay, ptwXYPoints_s::points, ptwXY_new(), ptwXY_simpleCoalescePoints(), ptwXYPoints_s::status, and ptwXYPoints_s::userFlag.

Referenced by ptwXY_clone().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ptwXYPoints* ptwXY_xMaxSlice ( ptwXYPoints ptwXY,
double  xMax,
int64_t  secondarySize,
int  fill,
nfu_status status 
)

Definition at line 326 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 326 of file ptwXY_core.cc

References ptwXYPoints_s::length, ptwXY_getXMin(), and ptwXY_xSlice().

+ Here is the call graph for this function:

ptwXYPoints* ptwXY_xMinSlice ( ptwXYPoints ptwXY,
double  xMin,
int64_t  secondarySize,
int  fill,
nfu_status status 
)

Definition at line 315 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 315 of file ptwXY_core.cc

References ptwXYPoints_s::length, ptwXY_getXMax(), and ptwXY_xSlice().

+ Here is the call graph for this function:

ptwXYPoints* ptwXY_xSlice ( ptwXYPoints ptwXY,
double  xMin,
double  xMax,
int64_t  secondarySize,
int  fill,
nfu_status status 
)

Definition at line 274 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 274 of file ptwXY_core.cc

References ptwXYPoints_s::accuracy, ptwXYPoints_s::biSectionMax, ptwXYPoints_s::interpolation, ptwXYPoints_s::interpolationOtherInfo, ptwXYPoints_s::length, n, nfu_Okay, ptwXYPoints_s::overflowAllocatedSize, ptwXYPoints_s::points, ptwXY_clone(), ptwXY_coalescePoints(), ptwXY_free(), ptwXY_getValueAtX(), ptwXY_getXMax(), ptwXY_getXMin(), ptwXY_new(), ptwXY_setValueAtX(), ptwXYPoints_s::status, ptwXYPoints_s::userFlag, ptwXYPoint_s::x, and y.

Referenced by GIDI_settings_processedFlux::groupFunction(), ptwXY_createGaussian(), ptwXY_xMaxSlice(), and ptwXY_xMinSlice().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

char const flatInterpolationString[] = "flat"
static

Definition at line 21 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 21 of file ptwXY_core.cc

Referenced by ptwXY_cloneToInterpolation(), and ptwXY_setup().

char const linLinInterpolationString[] = "linear,linear"
static

Definition at line 17 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 17 of file ptwXY_core.cc

Referenced by ptwXY_cloneToInterpolation(), and ptwXY_setup().

char const linLogInterpolationString[] = "linear,log"
static

Definition at line 18 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 18 of file ptwXY_core.cc

Referenced by ptwXY_cloneToInterpolation(), and ptwXY_setup().

char const logLinInterpolationString[] = "log,linear"
static

Definition at line 19 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 19 of file ptwXY_core.cc

Referenced by ptwXY_cloneToInterpolation(), and ptwXY_setup().

char const logLogInterpolationString[] = "log,log"
static

Definition at line 20 of file ptwXY_core.cc.

View newest version in sPHENIX GitHub at line 20 of file ptwXY_core.cc

Referenced by ptwXY_cloneToInterpolation(), and ptwXY_setup().