ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MCGIDI_energy.cc File Reference
#include <string.h>
#include <cmath>
#include "MCGIDI_fromTOM.h"
#include "MCGIDI_misc.h"
#include "MCGIDI_private.h"
#include <nf_specialFunctions.h>
+ Include dependency graph for MCGIDI_energy.cc:

Go to the source code of this file.

Functions

static int MCGIDI_energy_parseWeightFromTOM (statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_energyWeightedFunctional *weightedFunctional)
 
static int MCGIDI_energy_parseWeightedFunctionalsFromTOM (statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_energy *energy)
 
static int MCGIDI_energy_parseGeneralEvaporationFromTOM (statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_energy *energy)
 
static int MCGIDI_energy_parseEvaporationFromTOM (statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_energy *energy)
 
static int MCGIDI_energy_parseWattFromTOM (statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_energy *energy)
 
static int MCGIDI_energy_parseSimpleMaxwellianFissionFromTOM (statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_energy *energy)
 
static int MCGIDI_energy_parseMadlandNixFromTOM (statusMessageReporting *smr, xDataTOM_element *functional, MCGIDI_energy *energy)
 
static nfu_status MCGIDI_energy_parseMadlandNixFromTOM_callback (double x, double *y, void *argList)
 
static double MCGIDI_energy_parseMadlandNixFromTOM_callback_g (double Ep, double EFL, double T_M, nfu_status *status)
 
static int MCGIDI_energy_parseNBodyPhaseSpaceFromTOM (statusMessageReporting *smr, xDataTOM_element *functional, MCGIDI_energy *energy, MCGIDI_distribution *distribution)
 
static int MCGIDI_energy_sampleSimpleMaxwellianFission (statusMessageReporting *smr, double e_in_U_theta, MCGIDI_decaySamplingInfo *decaySamplingInfo)
 
static int MCGIDI_energy_sampleEvaporation (statusMessageReporting *smr, double e_in_U_theta, MCGIDI_decaySamplingInfo *decaySamplingInfo)
 
static int MCGIDI_energy_sampleWatt (statusMessageReporting *smr, double e_in_U, double Watt_a, double Watt_b, MCGIDI_decaySamplingInfo *decaySamplingInfo)
 
static int MCGIDI_energy_sampleWeightedFunctional (statusMessageReporting *smr, MCGIDI_energy *energy, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
 
static nfu_status MCGIDI_energy_NBodyPhaseSpacePDF_callback (double x, double *y, void *argList)
 
MCGIDI_energyMCGIDI_energy_new (statusMessageReporting *smr)
 
int MCGIDI_energy_initialize (statusMessageReporting *, MCGIDI_energy *energy)
 
MCGIDI_energyMCGIDI_energy_free (statusMessageReporting *smr, MCGIDI_energy *energy)
 
int MCGIDI_energy_release (statusMessageReporting *smr, MCGIDI_energy *energy)
 
int MCGIDI_energy_parseFromTOM (statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms, enum MCGIDI_energyType energyType, double gammaEnergy_MeV)
 
int MCGIDI_energy_sampleEnergy (statusMessageReporting *smr, MCGIDI_energy *energy, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
 

Function Documentation

MCGIDI_energy* MCGIDI_energy_free ( statusMessageReporting smr,
MCGIDI_energy energy 
)

Definition at line 65 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 65 of file MCGIDI_energy.cc

References MCGIDI_energy_release(), and smr_freeMemory().

Referenced by MCGIDI_distribution_release(), MCGIDI_energy_new(), MCGIDI_energy_parseFromTOM(), MCGIDI_energy_parseWeightFromTOM(), and MCGIDI_energy_release().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MCGIDI_energy_initialize ( statusMessageReporting ,
MCGIDI_energy energy 
)

Definition at line 57 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 57 of file MCGIDI_energy.cc

Referenced by MCGIDI_energy_new(), and MCGIDI_energy_release().

+ Here is the caller graph for this function:

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

Definition at line 486 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 486 of file MCGIDI_energy.cc

References e, G4Pow::GetInstance(), nfu_Okay, and G4Pow::powA().

Referenced by MCGIDI_energy_parseNBodyPhaseSpaceFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

MCGIDI_energy* MCGIDI_energy_new ( statusMessageReporting smr)

Definition at line 46 of file MCGIDI_energy.cc.

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

References energy, MCGIDI_energy_free(), MCGIDI_energy_initialize(), and smr_malloc2.

Referenced by MCGIDI_energy_parseFromTOM(), and MCGIDI_energy_parseWeightFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int MCGIDI_energy_parseEvaporationFromTOM ( statusMessageReporting smr,
xDataTOM_element element,
MCGIDI_energy energy 
)
static

Definition at line 262 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 262 of file MCGIDI_energy.cc

References check_license::err(), MCGIDI_energyType_evaporation, MCGIDI_misc_dataFromElement2ptwXYPointsInUnitsOf(), MCGIDI_misc_PQUStringToDoubleInUnitOf(), xDataTOM_element_s::name, smr_setReportError2, smr_unknownID, MCGIDI_energy_s::theta, MCGIDI_energy_s::type, MCGIDI_energy_s::U, xDataTOM_getAttributesValueInElement(), and xDataTOME_getOneElementByName().

Referenced by MCGIDI_energy_parseFromTOM(), and MCGIDI_energy_parseWeightFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MCGIDI_energy_parseFromTOM ( statusMessageReporting smr,
xDataTOM_element element,
MCGIDI_distribution distribution,
ptwXYPoints norms,
enum MCGIDI_energyType  energyType,
double  gammaEnergy_MeV 
)
static int MCGIDI_energy_parseGeneralEvaporationFromTOM ( statusMessageReporting smr,
xDataTOM_element element,
MCGIDI_energy energy 
)
static

Definition at line 210 of file MCGIDI_energy.cc.

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

References check_license::err(), Acts::UnitConstants::g, MCGIDI_energy_s::g, MCGIDI_energy_s::gInterpolation, MCGIDI_energyType_generalEvaporation, MCGIDI_fromTOM_pdfOfX(), MCGIDI_misc_dataFromElement2ptwXYPointsInUnitsOf(), norm, printf(), ptwXY_free(), ptwXY_getInterpolation(), theta(), MCGIDI_energy_s::theta, MCGIDI_energy_s::type, and xDataTOME_getOneElementByName().

Referenced by MCGIDI_energy_parseFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int MCGIDI_energy_parseMadlandNixFromTOM ( statusMessageReporting smr,
xDataTOM_element functional,
MCGIDI_energy energy 
)
static

Definition at line 310 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 310 of file MCGIDI_energy.cc

References MCGIDI_pdfOfX_s::cdf, MCGIDI_pdfsOfXGivenW_s::dist, MCGIDI_energy_s::dists, E, e, e1, e3, e5, check_license::err(), int(), MCGIDI_pdfsOfXGivenW_s::interpolationWY, MCGIDI_pdfsOfXGivenW_s::interpolationXY, BTOF::length, MCGIDI_energy_parseMadlandNixFromTOM_callback(), MCGIDI_energyType_MadlandNix, MCGIDI_misc_dataFromXYs2ptwXYPointsInUnitsOf(), MCGIDI_misc_PQUStringToDoubleInUnitOf(), n, xDataTOM_element_s::name, nfu_Okay, nfu_statusMessage(), norm, MCGIDI_pdfsOfXGivenW_s::numberOfWs, MCGIDI_pdfOfX_s::numberOfXs, MCGIDI_pdfOfX_s::pdf, ptwX_free(), ptwX_getPointAtIndex_Unsafely(), ptwXY_createFromFunction(), ptwXY_free(), ptwXY_getPointAtIndex_Unsafely(), ptwXY_getXYPairAtIndex(), ptwXY_interpolationLinLin, ptwXY_length(), ptwXY_normalize(), ptwXY_runningIntegral(), ptwXY_simpleCoalescePoints(), smr_malloc2, smr_setReportError2, smr_unknownID, MCGIDI_energy_s::type, MCGIDI_pdfsOfXGivenW_s::Ws, ptwXYPoint_s::x, xDataTOM_getAttributesValueInElement(), xDataTOME_getOneElementByName(), xDataTOME_getXDataIfID(), MCGIDI_pdfOfX_s::Xs, and ptwXYPoint_s::y.

Referenced by MCGIDI_energy_parseFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 404 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 404 of file MCGIDI_energy.cc

References MCGIDI_energy_parseMadlandNixFromTOM_callback_g(), nfu_Okay, and Dataset::parameters.

Referenced by MCGIDI_energy_parseMadlandNixFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static double MCGIDI_energy_parseMadlandNixFromTOM_callback_g ( double  Ep,
double  EFL,
double  T_M,
nfu_status status 
)
static

Definition at line 420 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 420 of file MCGIDI_energy.cc

References nf_exponentialIntegral(), nf_incompleteGammaFunction(), nf_incompleteGammaFunctionComplementary(), and nfu_Okay.

Referenced by MCGIDI_energy_parseMadlandNixFromTOM_callback().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int MCGIDI_energy_parseNBodyPhaseSpaceFromTOM ( statusMessageReporting smr,
xDataTOM_element functional,
MCGIDI_energy energy,
MCGIDI_distribution distribution 
)
static
static int MCGIDI_energy_parseSimpleMaxwellianFissionFromTOM ( statusMessageReporting smr,
xDataTOM_element element,
MCGIDI_energy energy 
)
static

Definition at line 241 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 241 of file MCGIDI_energy.cc

References check_license::err(), MCGIDI_energyType_simpleMaxwellianFission, MCGIDI_misc_dataFromElement2ptwXYPointsInUnitsOf(), MCGIDI_misc_PQUStringToDoubleInUnitOf(), xDataTOM_element_s::name, smr_setReportError2, smr_unknownID, MCGIDI_energy_s::theta, MCGIDI_energy_s::type, MCGIDI_energy_s::U, xDataTOM_getAttributesValueInElement(), and xDataTOME_getOneElementByName().

Referenced by MCGIDI_energy_parseFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int MCGIDI_energy_parseWattFromTOM ( statusMessageReporting smr,
xDataTOM_element element,
MCGIDI_energy energy 
)
static

Definition at line 283 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 283 of file MCGIDI_energy.cc

References check_license::err(), MCGIDI_energyType_Watt, MCGIDI_misc_dataFromElement2ptwXYPointsInUnitsOf(), MCGIDI_misc_PQUStringToDoubleInUnitOf(), xDataTOM_element_s::name, smr_setReportError2, smr_unknownID, MCGIDI_energy_s::type, MCGIDI_energy_s::U, MCGIDI_energy_s::Watt_a, MCGIDI_energy_s::Watt_b, xDataTOM_getAttributesValueInElement(), and xDataTOME_getOneElementByName().

Referenced by MCGIDI_energy_parseFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int MCGIDI_energy_parseWeightedFunctionalsFromTOM ( statusMessageReporting smr,
xDataTOM_element element,
MCGIDI_energy energy 
)
static

Definition at line 161 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 161 of file MCGIDI_energy.cc

References check_license::err(), MCGIDI_energy_parseWeightFromTOM(), MCGIDI_energyType_weightedFunctional, MCGIDI_energyWeightedFunctionals_s::numberOfWeights, MCGIDI_energy_s::type, MCGIDI_energyWeightedFunctionals_s::weightedFunctional, MCGIDI_energy_s::weightedFunctionals, xDataTOME_getFirstElement(), and xDataTOME_getNextElement().

Referenced by MCGIDI_energy_parseFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int MCGIDI_energy_parseWeightFromTOM ( statusMessageReporting smr,
xDataTOM_element element,
MCGIDI_energyWeightedFunctional weightedFunctional 
)
static

Definition at line 180 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 180 of file MCGIDI_energy.cc

References energy, MCGIDI_energyWeightedFunctional_s::energy, check_license::err(), MCGIDI_energy_free(), MCGIDI_energy_new(), MCGIDI_energy_parseEvaporationFromTOM(), MCGIDI_misc_dataFromElement2ptwXYPointsInUnitsOf(), xDataTOM_element_s::name, ptwXY_free(), smr_setReportError2, smr_unknownID, weight, MCGIDI_energyWeightedFunctional_s::weight, xDataTOME_getFirstElement(), and xDataTOME_getNextElement().

Referenced by MCGIDI_energy_parseWeightedFunctionalsFromTOM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MCGIDI_energy_release ( statusMessageReporting smr,
MCGIDI_energy energy 
)

Definition at line 74 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 74 of file MCGIDI_energy.cc

References MCGIDI_energy_s::dists, MCGIDI_energyWeightedFunctional_s::energy, MCGIDI_energy_s::g, MCGIDI_energy_free(), MCGIDI_energy_initialize(), MCGIDI_energyType_generalEvaporation, MCGIDI_energyType_NBodyPhaseSpace, MCGIDI_energyType_weightedFunctional, MCGIDI_sampling_pdfsOfX_release(), MCGIDI_sampling_pdfsOfXGivenW_release(), MCGIDI_energyWeightedFunctionals_s::numberOfWeights, ptwXY_free(), MCGIDI_energy_s::theta, MCGIDI_energy_s::type, MCGIDI_energy_s::Watt_a, MCGIDI_energy_s::Watt_b, MCGIDI_energyWeightedFunctional_s::weight, MCGIDI_energyWeightedFunctionals_s::weightedFunctional, and MCGIDI_energy_s::weightedFunctionals.

Referenced by MCGIDI_energy_free().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int MCGIDI_energy_sampleEnergy ( statusMessageReporting smr,
MCGIDI_energy energy,
MCGIDI_quantitiesLookupModes modes,
MCGIDI_decaySamplingInfo decaySamplingInfo 
)

Definition at line 497 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 497 of file MCGIDI_energy.cc

References MCGIDI_energy_s::dists, MCGIDI_energy_s::e_inCOMFactor, MCGIDI_decaySamplingInfo_s::Ep, MCGIDI_decaySamplingInfo_s::frame, MCGIDI_energy_s::frame, MCGIDI_energy_s::g, MCGIDI_energy_s::gammaEnergy_MeV, MCGIDI_quantitiesLookupModes::getProjectileEnergy(), MCGIDI_energy_s::gInterpolation, MCGIDI_pdfsOfXGivenW_sampled_s::interpolationXY, MCGIDI_energyNBodyPhaseSpace_s::massFactor, MCGIDI_energy_sampleEvaporation(), MCGIDI_energy_sampleSimpleMaxwellianFission(), MCGIDI_energy_sampleWatt(), MCGIDI_energy_sampleWeightedFunctional(), MCGIDI_energyType_discreteGamma, MCGIDI_energyType_evaporation, MCGIDI_energyType_generalEvaporation, MCGIDI_energyType_linear, MCGIDI_energyType_MadlandNix, MCGIDI_energyType_NBodyPhaseSpace, MCGIDI_energyType_primaryGamma, MCGIDI_energyType_simpleMaxwellianFission, MCGIDI_energyType_Watt, MCGIDI_energyType_weightedFunctional, MCGIDI_sampling_ptwXY_getValueAtX(), MCGIDI_sampling_sampleX_from_pdfOfX(), MCGIDI_sampling_sampleX_from_pdfsOfXGivenW(), MCGIDI_energy_s::NBodyPhaseSpace, MCGIDI_energy_s::primaryGammaMassFactor, MCGIDI_energyNBodyPhaseSpace_s::Q_MeV, MCGIDI_decaySamplingInfo_s::rng, MCGIDI_decaySamplingInfo_s::rngState, MCGIDI_pdfsOfXGivenW_sampled_s::smr, smr_isOk(), smr_setReportError2, smr_unknownID, theta(), MCGIDI_energy_s::theta, MCGIDI_energy_s::type, MCGIDI_energy_s::U, MCGIDI_pdfsOfXGivenW_sampled_s::w, MCGIDI_energy_s::Watt_a, MCGIDI_energy_s::Watt_b, and MCGIDI_pdfsOfXGivenW_sampled_s::x.

Referenced by MCGIDI_energy_sampleWeightedFunctional(), and MCGIDI_uncorrelated_sampleDistribution().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int MCGIDI_energy_sampleEvaporation ( statusMessageReporting smr,
double  e_in_U_theta,
MCGIDI_decaySamplingInfo decaySamplingInfo 
)
static

Definition at line 587 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 587 of file MCGIDI_energy.cc

References a, b, c, MCGIDI_decaySamplingInfo_s::Ep, G4Exp(), MCGIDI_decaySamplingInfo_s::rng, MCGIDI_decaySamplingInfo_s::rngState, and x.

Referenced by MCGIDI_energy_sampleEnergy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int MCGIDI_energy_sampleSimpleMaxwellianFission ( statusMessageReporting smr,
double  e_in_U_theta,
MCGIDI_decaySamplingInfo decaySamplingInfo 
)
static

Definition at line 561 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 561 of file MCGIDI_energy.cc

References a, b, c, MCGIDI_decaySamplingInfo_s::Ep, G4Exp(), M_PI, MCGIDI_decaySamplingInfo_s::rng, MCGIDI_decaySamplingInfo_s::rngState, and x.

Referenced by MCGIDI_energy_sampleEnergy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int MCGIDI_energy_sampleWatt ( statusMessageReporting smr,
double  e_in_U,
double  Watt_a,
double  Watt_b,
MCGIDI_decaySamplingInfo decaySamplingInfo 
)
static

Definition at line 611 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 611 of file MCGIDI_energy.cc

References MCGIDI_decaySamplingInfo_s::Ep, G4cout, G4endl, G4Log(), ds::rand1, ds::rand2, MCGIDI_decaySamplingInfo_s::rng, MCGIDI_decaySamplingInfo_s::rngState, x, y, and z.

Referenced by MCGIDI_energy_sampleEnergy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int MCGIDI_energy_sampleWeightedFunctional ( statusMessageReporting smr,
MCGIDI_energy energy,
MCGIDI_quantitiesLookupModes modes,
MCGIDI_decaySamplingInfo decaySamplingInfo 
)
static

Definition at line 641 of file MCGIDI_energy.cc.

View newest version in sPHENIX GitHub at line 641 of file MCGIDI_energy.cc

References MCGIDI_energyWeightedFunctional_s::energy, MCGIDI_quantitiesLookupModes::getProjectileEnergy(), MCGIDI_energy_sampleEnergy(), MCGIDI_sampling_ptwXY_getValueAtX(), MCGIDI_energyWeightedFunctionals_s::numberOfWeights, MCGIDI_decaySamplingInfo_s::rng, MCGIDI_decaySamplingInfo_s::rngState, weight, MCGIDI_energyWeightedFunctional_s::weight, MCGIDI_energyWeightedFunctionals_s::weightedFunctional, and MCGIDI_energy_s::weightedFunctionals.

Referenced by MCGIDI_energy_sampleEnergy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: