5#ifndef MCGIDI_h_included
6#define MCGIDI_h_included
8#define MCGIDI_VERSION_MAJOR 1
9#define MCGIDI_VERSION_MINOR 0
10#define MCGIDI_VERSION_PATCHLEVEL 0
24#if __INTEL_COMPILER > 1399
25#pragma warning( disable:2021 )
26#pragma warning( disable:593 )
27#pragma warning( disable:111 )
28#elif __INTEL_COMPILER > 1199
29#pragma warning( disable:2304 )
32#if defined __cplusplus
68#if defined __cplusplus
81 int mProjectilesPOPID;
82 double mProjectileEnergy;
84 double mProjectileEnergyForGroupIndex;
127 enum GIDI::xDataTOM_frame mWantFrame;
128 bool mWantVelocities;
129 double (*mRng)(
void * );
131 std::vector<struct MCGIDI_samplingMultiplicityBias_s> mSamplingMultiplicityBiases;
140 MCGIDI_samplingSettings(
enum GIDI::xDataTOM_frame frame,
bool wantVelocities,
double (*rng)(
void * ),
void *rngState );
144 for(
int i1 = 0; i1 < (int) mSamplingMultiplicityBiases.size( ); ++i1 ) {
145 if( PoPID == mSamplingMultiplicityBiases[i1].PoPID )
return( mSamplingMultiplicityBiases[i1].multiplicityFactor );
151#if defined __cplusplus
162#if defined __cplusplus
169#if defined __cplusplus
174#define MCGIDI_crossSectionType_grouped 1
175#define MCGIDI_crossSectionType_pointwise 2
177#define MCGIDI_nullReaction -10001
179#define MCGIDI_speedOfLight_cm_sec 2.99792458e10
180#define MCGIDI_AMU2MeV 931.494028
217#define MCGIDI_particleLevel_continuum -1
218#define MCGIDI_particleLevel_sum -2
254 double (*rng)(
void * );
480 int projectile_PoPID,
int target_PoPID );
482 const char *targetName );
484 int projectile_PoPID,
int target_PoPID );
486 const char *targetName );
511 double (*userrng)(
void * ),
void *rngState );
590 double level_MeV,
MCGIDI_POP *parent,
int globalParticle );
643 double productMass_MeV,
double residualMass_MeV );
677 double productMass_MeV,
double residualMass_MeV );
775#if defined __cplusplus
G4double S(G4double temp)
MCGIDI_energyAngular * MCGIDI_energyAngular_free(statusMessageReporting *smr, MCGIDI_energyAngular *energyAngular)
MCGIDI_reaction * MCGIDI_target_heated_getReactionAtIndex(MCGIDI_target_heated *target, int index)
MCGIDI_angularEnergy * MCGIDI_angularEnergy_free(statusMessageReporting *smr, MCGIDI_angularEnergy *energyAngular)
int MCGIDI_KalbachMann_release(statusMessageReporting *smr, MCGIDI_KalbachMann *KalbachMann)
int MCGIDI_reaction_initialize(statusMessageReporting *smr, MCGIDI_reaction *reaction)
const char * MCGIDI_productGenre_unknown
int MCGIDI_target_heated_getEnergyGrid(statusMessageReporting *smr, MCGIDI_target_heated *target, double **energyGrid)
int MCGIDI_target_heated_numberOfReactions(statusMessageReporting *smr, MCGIDI_target_heated *target)
MCGIDI_angular * MCGIDI_angular_new(statusMessageReporting *smr)
int MCGIDI_target_heated_initialize(statusMessageReporting *smr, MCGIDI_target_heated *target)
MCGIDI_target_heated * MCGIDI_outputChannel_getTargetHeated(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
enum MCGIDI_reactionType MCGIDI_target_getReactionTypeAtIndex(statusMessageReporting *smr, MCGIDI_target *target, int index)
int MCGIDI_distribution_initialize(statusMessageReporting *smr, MCGIDI_distribution *distribution)
double MCGIDI_sampling_ptwXY_getValueAtX(ptwXYPoints *ptwXY, double x1)
MCGIDI_reaction * MCGIDI_target_heated_getReactionAtIndex_smr(statusMessageReporting *smr, MCGIDI_target_heated *target, int index)
MCGIDI_POP * MCGIDI_POPs_addParticleIfNeeded(statusMessageReporting *smr, MCGIDI_POPs *pops, char const *name, double mass_MeV, double level_MeV, MCGIDI_POP *parent, int globalParticle)
int MCGIDI_LLNLAngular_angularEnergy_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution)
double MCGIDI_target_heated_getIndexReactionFinalQ(statusMessageReporting *smr, MCGIDI_target_heated *target, int index, MCGIDI_quantitiesLookupModes &modes)
int MCGIDI_sampling_pdfsOfXGivenW_release(statusMessageReporting *smr, MCGIDI_pdfsOfXGivenW *dists)
int MCGIDI_productsInfo_getIntegerMultiplicityAtIndex(MCGIDI_productsInfo *productsInfo, int index)
std::map< int, enum GIDI::MCGIDI_transportability > transportabilitiesMap
MCGIDI_energy * MCGIDI_energy_free(statusMessageReporting *smr, MCGIDI_energy *energy)
int MCGIDI_miscNameToZAm(statusMessageReporting *smr, const char *name, int *Z, int *A, int *m, int *level)
int MCGIDI_angular_setTwoBodyMasses(statusMessageReporting *smr, MCGIDI_angular *angular, double projectileMass_MeV, double targetMass_MeV, double productMass_MeV, double residualMass_MeV)
MCGIDI_POP * MCGIDI_target_heated_getPOPForProjectile(statusMessageReporting *smr, MCGIDI_target_heated *target)
int MCGIDI_target_readHeatedTarget(statusMessageReporting *smr, MCGIDI_target *target, int index)
int MCGIDI_outputChannel_getDomain(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, double *EMin, double *EMax)
int MCGIDI_target_heated_getReactionsDomain(statusMessageReporting *smr, MCGIDI_target_heated *target, int index, double *EMin, double *EMax)
int MCGIDI_angular_release(statusMessageReporting *smr, MCGIDI_angular *angular)
MCGIDI_POP * MCGIDI_POPs_findParticle(MCGIDI_POPs *pops, char const *name)
@ MCGIDI_reactionType_nuclearIsomerTransmutation_e
@ MCGIDI_reactionType_unknown_e
@ MCGIDI_reactionType_elastic_e
@ MCGIDI_reactionType_nuclearLevelTransition_e
@ MCGIDI_reactionType_null_e
@ MCGIDI_reactionType_scattering_e
@ MCGIDI_reactionType_atomic_e
@ MCGIDI_reactionType_capture_e
@ MCGIDI_reactionType_sumOfRemainingOutputChannels_e
@ MCGIDI_reactionType_fission_e
double MCGIDI_target_getTotalCrossSectionAtTAndE(statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_quantitiesLookupModes &modes, bool sampling)
int MCGIDI_sampling_pdfsOfXGivenW_initialize(statusMessageReporting *smr, MCGIDI_pdfsOfXGivenW *dists)
MCGIDI_outputChannel * MCGIDI_outputChannel_new(statusMessageReporting *smr)
int MCGIDI_energy_sampleEnergy(statusMessageReporting *smr, MCGIDI_energy *energy, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
int MCGIDI_energy_initialize(statusMessageReporting *smr, MCGIDI_energy *energy)
int MCGIDI_reaction_getENDL_CSNumbers(MCGIDI_reaction *reaction, int *S)
MCGIDI_distribution * MCGIDI_distribution_free(statusMessageReporting *smr, MCGIDI_distribution *distribution)
enum MCGIDI_reactionType MCGIDI_reaction_getReactionType(statusMessageReporting *smr, MCGIDI_reaction *reaction)
int MCGIDI_uncorrelated_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms, enum MCGIDI_energyType energyType, double gammaEnergy_MeV)
int MCGIDI_sampling_pdfsOfX_release(statusMessageReporting *smr, MCGIDI_pdfOfX *dist)
double MCGIDI_outputChannel_getQ_MeV(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, double e_in)
MCGIDI_target * MCGIDI_target_new(statusMessageReporting *smr)
char const * MCGIDI_target_getAttributesValue(statusMessageReporting *smr, MCGIDI_target *target, char const *name)
MCGIDI_target_heated * MCGIDI_target_getHeatedTargetAtTIndex(statusMessageReporting *smr, MCGIDI_target *target, int index)
int MCGIDI_target_initialize(statusMessageReporting *smr, MCGIDI_target *target)
int MCGIDI_KalbachMann_sampleEp(statusMessageReporting *smr, MCGIDI_KalbachMann *KalbachMann, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
MCGIDI_reaction * MCGIDI_target_getReactionAtIndex(MCGIDI_target *target, int index)
MCGIDI_POP * MCGIDI_target_heated_getPOPForTarget(statusMessageReporting *smr, MCGIDI_target_heated *target)
@ MCGIDI_distributionType_angularEnergy_e
@ MCGIDI_distributionType_energyAngular_e
@ MCGIDI_distributionType_KalbachMann_e
@ MCGIDI_distributionType_unknown_e
@ MCGIDI_distributionType_angular_e
@ MCGIDI_distributionType_uncorrelated_e
@ MCGIDI_distributionType_none_e
int MCGIDI_productsInfo_getPoPsIndexAtIndex(MCGIDI_productsInfo *productsInfo, int index)
int MCGIDI_angularEnergy_initialize(statusMessageReporting *smr, MCGIDI_angularEnergy *energyAngular)
MCGIDI_energy * MCGIDI_energy_new(statusMessageReporting *smr)
double MCGIDI_target_getIndexReactionCrossSectionAtE(statusMessageReporting *smr, MCGIDI_target *target, int index, MCGIDI_quantitiesLookupModes &modes, bool sampling)
MCGIDI_angular * MCGIDI_angular_free(statusMessageReporting *smr, MCGIDI_angular *angular)
@ MCGIDI_channelGenre_uncorrelated_e
@ MCGIDI_channelGenre_twoBody_e
@ MCGIDI_channelGenre_twoBodyDecay_e
@ MCGIDI_channelGenre_undefined_e
@ MCGIDI_channelGenre_uncorrelatedDecay_e
@ MCGIDI_channelGenre_sumOfRemaining_e
int MCGIDI_target_readFromMap(statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_map *map, const char *evaluation, const char *projectileName, const char *targetName)
MCGIDI_sampledProductsData * MCGIDI_sampledProducts_getProductAtIndex(MCGIDI_sampledProductsDatas *sampledProductsDatas, int index)
int MCGIDI_target_recast(statusMessageReporting *smr, MCGIDI_target *target, GIDI_settings &settings)
int MCGIDI_energy_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms, enum MCGIDI_energyType energyType, double gammaEnergy_MeV)
int MCGIDI_sampledProducts_number(MCGIDI_sampledProductsDatas *sampledProductsDatas)
int MCGIDI_angular_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms)
int MCGIDI_sampling_doubleDistribution(statusMessageReporting *smr, MCGIDI_pdfsOfXGivenW *pdfOfWGivenV, MCGIDI_pdfsOfXGivenW *pdfOfXGivenVAndW, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
int MCGIDI_misc_PQUStringToDouble(statusMessageReporting *smr, char const *str, char const *unit, double conversion, double *value)
int MCGIDI_sampling_sampleX_from_pdfOfX(MCGIDI_pdfOfX *dist, MCGIDI_pdfsOfXGivenW_sampled *sampled, double r)
const char * MCGIDI_productGenre_NBody_angular_energy
double MCGIDI_outputChannel_getFinalQ(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, double e_in)
int MCGIDI_distribution_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_product *product, MCGIDI_POPs *pops, ptwXYPoints *norms)
int MCGIDI_target_heated_recast(statusMessageReporting *smr, MCGIDI_target_heated *target, GIDI_settings &settings)
int MCGIDI_target_getDomain(statusMessageReporting *smr, MCGIDI_target *target, double *EMin, double *EMax)
int MCGIDI_product_sampleMu(statusMessageReporting *smr, MCGIDI_product *product, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
MCGIDI_target_heated * MCGIDI_product_getTargetHeated(statusMessageReporting *smr, MCGIDI_product *product)
MCGIDI_productMultiplicityType
@ MCGIDI_productMultiplicityType_energyDependent_e
@ MCGIDI_productMultiplicityType_invalid_e
@ MCGIDI_productMultiplicityType_unknown_e
@ MCGIDI_productMultiplicityType_mixed_e
@ MCGIDI_productMultiplicityType_integer_e
@ MCGIDI_productMultiplicityType_gammaBranching_e
int MCGIDI_outputChannel_initialize(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
MCGIDI_particle * MCGIDI_particle_free(statusMessageReporting *smr, MCGIDI_particle *particle)
double MCGIDI_target_heated_getIndexReactionCrossSectionAtE(statusMessageReporting *smr, MCGIDI_target_heated *target, int index, MCGIDI_quantitiesLookupModes &modes, bool sampling)
double MCGIDI_product_getMass_MeV(statusMessageReporting *smr, MCGIDI_product *product)
const char * MCGIDI_productGenre_twoBody_formFactor
int MCGIDI_angularEnergy_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution)
xDataTOM_Int MCGIDI_misc_binarySearch(xDataTOM_Int n, double *ds, double d)
MCGIDI_target * MCGIDI_target_free(statusMessageReporting *smr, MCGIDI_target *target)
int MCGIDI_productsInfo_getTransportableAtIndex(MCGIDI_productsInfo *productsInfo, int index)
@ MCGIDI_angularType_isotropic
@ MCGIDI_angularType_recoil
@ MCGIDI_angularType_linear
MCGIDI_product * MCGIDI_product_free(statusMessageReporting *smr, MCGIDI_product *product)
int MCGIDI_reaction_recast(statusMessageReporting *smr, MCGIDI_reaction *reaction, GIDI_settings &settings, GIDI_settings_particle const *projectileSettings, double temperature_MeV, ptwXPoints *totalGroupedCrossSection)
int MCGIDI_target_getTemperatures(statusMessageReporting *smr, MCGIDI_target *target, double *temperatures)
int MCGIDI_kinetics_2BodyReaction(statusMessageReporting *smr, MCGIDI_angular *angular, double K, double mu, double phi, MCGIDI_sampledProductsData *outgoingData)
double MCGIDI_target_heated_getTotalCrossSectionAtE(statusMessageReporting *smr, MCGIDI_target_heated *target, MCGIDI_quantitiesLookupModes &modes, bool sampling)
MCGIDI_POP * MCGIDI_POP_new(statusMessageReporting *smr, char const *name, double mass_MeV, double level_MeV, MCGIDI_POP *parent)
MCGIDI_outputChannel * MCGIDI_outputChannel_free(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
int MCGIDI_energyAngular_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution)
int MCGIDI_angular_sampleMu(statusMessageReporting *smr, MCGIDI_angular *angular, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
int MCGIDI_KalbachMann_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution)
int MCGIDI_target_numberOfReactions(statusMessageReporting *smr, MCGIDI_target *target)
int MCGIDI_target_numberOfProductionReactions(statusMessageReporting *smr, MCGIDI_target *target)
int MCGIDI_versionPatchLevel(void)
double MCGIDI_target_getIndexReactionFinalQ(statusMessageReporting *smr, MCGIDI_target *target, int index, MCGIDI_quantitiesLookupModes &modes)
void * MCGIDI_POPs_free(MCGIDI_POPs *pops)
MCGIDI_target * MCGIDI_target_newReadFromMap(statusMessageReporting *smr, MCGIDI_map *map, const char *evaluation, const char *projectileName, const char *targetName)
int MCGIDI_target_heated_sampleIndexReactionProductsAtE(statusMessageReporting *smr, MCGIDI_target_heated *target, int index, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, MCGIDI_sampledProductsDatas *productData)
const char * MCGIDI_productGenre_NBody_pairProduction
MCGIDI_KalbachMann * MCGIDI_KalbachMann_new(statusMessageReporting *smr, ptwXY_interpolation interpolationWY, ptwXY_interpolation interpolationXY)
MCGIDI_angularEnergy * MCGIDI_angularEnergy_new(statusMessageReporting *smr)
MCGIDI_target_heated * MCGIDI_target_getHeatedTargetAtIndex_ReadIfNeeded(statusMessageReporting *smr, MCGIDI_target *target, int index)
MCGIDI_distribution * MCGIDI_distribution_new(statusMessageReporting *smr)
int MCGIDI_particle_release(statusMessageReporting *smr, MCGIDI_particle *particle)
enum MCGIDI_productMultiplicityType MCGIDI_productsInfo_getMultiplicityTypeAtIndex(MCGIDI_productsInfo *productsInfo, int index)
int MCGIDI_product_getDomain(statusMessageReporting *smr, MCGIDI_product *product, double *EMin, double *EMax)
int MCGIDI_sampledProducts_initialize(statusMessageReporting *smr, MCGIDI_sampledProductsDatas *sampledProductsDatas, int incrementSize)
int MCGIDI_outputChannel_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_POPs *pops, MCGIDI_outputChannel *outputChannel, MCGIDI_reaction *reaction, MCGIDI_product *parent)
void MCGIDI_misc_updateTransportabilitiesMap2(transportabilitiesMap *transportabilities, int PoPID, int transportable)
int MCGIDI_energyAngular_release(statusMessageReporting *smr, MCGIDI_energyAngular *energyAngular)
int MCGIDI_kinetics_COM2Lab(statusMessageReporting *smr, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, double masses[3])
MCGIDI_target * MCGIDI_target_newReadFromMapViaPoPIDs(statusMessageReporting *smr, MCGIDI_map *map, const char *evaluation, int projectile_PoPID, int target_PoPID)
int MCGIDI_product_sampleMultiplicity(statusMessageReporting *smr, MCGIDI_product *product, double e_in, double r)
MCGIDI_target_heated * MCGIDI_reaction_getTargetHeated(statusMessageReporting *smr, MCGIDI_reaction *reaction)
int MCGIDI_POPs_findParticleIndex(MCGIDI_POPs *pops, char const *name)
MCGIDI_target_heated * MCGIDI_target_heated_free(statusMessageReporting *smr, MCGIDI_target_heated *target)
double MCGIDI_reaction_getTargetMass_MeV(statusMessageReporting *smr, MCGIDI_reaction *reaction)
int MCGIDI_sampledProducts_remalloc(statusMessageReporting *smr, MCGIDI_sampledProductsDatas *sampledProductsDatas)
MCGIDI_target * MCGIDI_target_newRead(statusMessageReporting *smr, const char *fileName)
@ MCGIDI_transportability_unknown
@ MCGIDI_transportability_none
@ MCGIDI_transportability_partial
@ MCGIDI_transportability_full
void MCGIDI_misc_updateTransportabilitiesMap(transportabilitiesMap *transportabilities, int PoPID, enum MCGIDI_transportability transportability)
int MCGIDI_distribution_release(statusMessageReporting *smr, MCGIDI_distribution *distribution)
void MCGIDI_POPs_printSortedList(MCGIDI_POPs *pops)
int MCGIDI_product_initialize(statusMessageReporting *smr, MCGIDI_product *product)
int MCGIDI_target_heated_release(statusMessageReporting *smr, MCGIDI_target_heated *target)
transportabilitiesMap const * MCGIDI_target_getUniqueProducts(statusMessageReporting *smr, MCGIDI_target *target)
int MCGIDI_target_sampleReaction(statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_quantitiesLookupModes &modes, double totalXSec, double(*userrng)(void *), void *rngState)
int MCGIDI_uncorrelated_sampleDistribution(statusMessageReporting *smr, MCGIDI_distribution *distribution, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
const char * MCGIDI_productGenre_twoBody_angular
int MCGIDI_sampledProducts_release(statusMessageReporting *smr, MCGIDI_sampledProductsDatas *sampledProductsDatas)
double MCGIDI_target_heated_getReactionsThreshold(statusMessageReporting *smr, MCGIDI_target_heated *target, int index)
int MCGIDI_target_readFromMapViaPoPIDs(statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_map *map, const char *evaluation, int projectile_PoPID, int target_PoPID)
MCGIDI_quantityLookupMode
@ MCGIDI_quantityLookupMode_pointwise
@ MCGIDI_quantityLookupMode_grouped
int MCGIDI_POPs_initial(statusMessageReporting *smr, MCGIDI_POPs *pops, int size)
MCGIDI_POP * MCGIDI_POP_free(MCGIDI_POP *pop)
int MCGIDI_angularEnergy_release(statusMessageReporting *smr, MCGIDI_angularEnergy *energyAngular)
int MCGIDI_sampling_sampleX_from_pdfsOfXGivenW(MCGIDI_pdfsOfXGivenW *dists, MCGIDI_pdfsOfXGivenW_sampled *sampled, double r)
int MCGIDI_energyAngular_initialize(statusMessageReporting *smr, MCGIDI_energyAngular *energyAngular)
int MCGIDI_sampling_interpolationValues(statusMessageReporting *smr, ptwXY_interpolation interpolation, double *ws, double y1, double y2, double *y)
int MCGIDI_target_sampleNullReactionProductsAtE(statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, MCGIDI_sampledProductsDatas *productDatas)
MCGIDI_POPs * MCGIDI_POPs_new(statusMessageReporting *smr, int size)
int MCGIDI_particle_printInternalSortedList(statusMessageReporting *smr)
int MCGIDI_reaction_fixDomains(statusMessageReporting *smr, MCGIDI_reaction *reaction, double EMin, double EMax, nfu_status *status)
struct MCGIDI_target_heated_sorted_s MCGIDI_target_heated_sorted
double MCGIDI_outputChannel_getTargetMass_MeV(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
int MCGIDI_misc_PQUStringToDoubleInUnitOf(statusMessageReporting *smr, char const *str, char const *toUnit, double *value)
double MCGIDI_target_heated_getTargetMass_MeV(statusMessageReporting *smr, MCGIDI_target_heated *target)
double MCGIDI_product_getTargetMass_MeV(statusMessageReporting *smr, MCGIDI_product *product)
int MCGIDI_sampledProducts_addProduct(statusMessageReporting *smr, MCGIDI_sampledProductsDatas *sampledProductsDatas, MCGIDI_sampledProductsData *sampledProductsData)
int MCGIDI_productsInfo_getNumberOfUniqueProducts(MCGIDI_productsInfo *productsInfo)
int MCGIDI_outputChannel_numberOfProducts(MCGIDI_outputChannel *outputChannel)
MCGIDI_productsInfo * MCGIDI_reaction_getProductsInfo(MCGIDI_reaction *reaction)
int MCGIDI_versionMajor(void)
int MCGIDI_angular_initialize(statusMessageReporting *smr, MCGIDI_angular *angular)
int MCGIDI_KalbachMann_initialize(statusMessageReporting *smr, MCGIDI_KalbachMann *KalbachMann, ptwXY_interpolation interpolationWY, ptwXY_interpolation interpolationXY)
int MCGIDI_reaction_getDomain(statusMessageReporting *smr, MCGIDI_reaction *reaction, double *EMin, double *EMax)
int MCGIDI_reaction_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_target_heated *target, MCGIDI_POPs *pops, MCGIDI_reaction *reaction)
void MCGIDI_POPs_writeSortedList(MCGIDI_POPs *pops, FILE *f)
const char * MCGIDI_misc_ZToSymbol(int iZ)
int MCGIDI_energyAngular_sampleDistribution(statusMessageReporting *smr, MCGIDI_distribution *distribution, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
int MCGIDI_target_heated_numberOfProductionReactions(statusMessageReporting *smr, MCGIDI_target_heated *target)
MCGIDI_particle * MCGIDI_particle_getInternalID(statusMessageReporting *smr, const char *const name, MCGIDI_POPs *pops)
int MCGIDI_outputChannel_sampleProductsAtE(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, MCGIDI_sampledProductsDatas *productDatas, double *masses)
int MCGIDI_reaction_getENDF_MTNumber(MCGIDI_reaction *reaction)
int MCGIDI_particle_initialize(statusMessageReporting *smr, MCGIDI_particle *particle)
int MCGIDI_product_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_outputChannel *outputChannel, MCGIDI_POPs *pops, MCGIDI_product *product, int *delayedNeutronIndex)
int MCGIDI_target_read(statusMessageReporting *smr, MCGIDI_target *target, const char *fileName)
MCGIDI_energyAngular * MCGIDI_energyAngular_new(statusMessageReporting *smr)
double MCGIDI_product_getProjectileMass_MeV(statusMessageReporting *smr, MCGIDI_product *product)
int MCGIDI_misc_symbolToZ(const char *Z)
int MCGIDI_target_release(statusMessageReporting *smr, MCGIDI_target *target)
double MCGIDI_reaction_getProjectileMass_MeV(statusMessageReporting *smr, MCGIDI_reaction *reaction)
int MCGIDI_outputChannel_release(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
MCGIDI_POP * MCGIDI_POP_release(MCGIDI_POP *pop)
transportabilitiesMap const * MCGIDI_target_heated_getUniqueProducts(statusMessageReporting *smr, MCGIDI_target_heated *target)
int MCGIDI_energy_release(statusMessageReporting *smr, MCGIDI_energy *energy)
int MCGIDI_target_sampleIndexReactionProductsAtE(statusMessageReporting *smr, MCGIDI_target *target, int index, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, MCGIDI_sampledProductsDatas *productData)
int MCGIDI_product_setTwoBodyMasses(statusMessageReporting *smr, MCGIDI_product *product, double projectileMass_MeV, double targetMass_MeV, double productMass_MeV, double residualMass_MeV)
double MCGIDI_reaction_getFinalQ(statusMessageReporting *smr, MCGIDI_reaction *reaction, MCGIDI_quantitiesLookupModes &modes)
int MCGIDI_POPs_release(MCGIDI_POPs *pops)
@ MCGIDI_energyType_unknown
@ MCGIDI_energyType_NBodyPhaseSpace
@ MCGIDI_energyType_primaryGamma
@ MCGIDI_energyType_weightedFunctional
@ MCGIDI_energyType_simpleMaxwellianFission
@ MCGIDI_energyType_discreteGamma
@ MCGIDI_energyType_generalEvaporation
@ MCGIDI_energyType_MadlandNix
@ MCGIDI_energyType_evaporation
@ MCGIDI_energyType_linear
double MCGIDI_POP_getMass_MeV(MCGIDI_POP *pop)
int MCGIDI_particle_freeInternalList(statusMessageReporting *smr)
int MCGIDI_kinetics_COMKineticEnergy2LabEnergyAndMomentum(statusMessageReporting *smr, double beta, double e_kinetic_com, double mu, double phi, double m3cc, double m4cc, MCGIDI_sampledProductsData *outgoingData)
double MCGIDI_reaction_getCrossSectionAtE(statusMessageReporting *smr, MCGIDI_reaction *reaction, MCGIDI_quantitiesLookupModes &modes, bool sampling)
int MCGIDI_versionMinor(void)
int MCGIDI_misc_NumberOfZSymbols(void)
int MCGIDI_angularEnergy_sampleDistribution(statusMessageReporting *smr, MCGIDI_angularEnergy *angularEnergy, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
MCGIDI_target_heated * MCGIDI_target_heated_new(statusMessageReporting *smr)
MCGIDI_reaction * MCGIDI_target_getReactionAtIndex_smr(statusMessageReporting *smr, MCGIDI_target *target, int index)
int MCGIDI_product_release(statusMessageReporting *smr, MCGIDI_product *product)
double MCGIDI_target_heated_getProjectileMass_MeV(statusMessageReporting *smr, MCGIDI_target_heated *target)
MCGIDI_target_heated * MCGIDI_target_heated_newRead(statusMessageReporting *smr, const char *fileName)
MCGIDI_product * MCGIDI_outputChannel_getProductAtIndex(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, int i)
MCGIDI_KalbachMann * MCGIDI_KalbachMann_free(statusMessageReporting *smr, MCGIDI_KalbachMann *KalbachMann)
MCGIDI_reaction * MCGIDI_reaction_free(statusMessageReporting *smr, MCGIDI_reaction *reaction)
MCGIDI_product * MCGIDI_product_new(statusMessageReporting *smr)
MCGIDI_particle * MCGIDI_particle_new(statusMessageReporting *smr)
MCGIDI_reaction * MCGIDI_reaction_new(statusMessageReporting *smr)
char const * MCGIDI_version(void)
double MCGIDI_outputChannel_getProjectileMass_MeV(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
int MCGIDI_reaction_release(statusMessageReporting *smr, MCGIDI_reaction *reaction)
int MCGIDI_target_heated_read(statusMessageReporting *smr, MCGIDI_target_heated *target, const char *fileName)
void setCrossSectionMode(enum MCGIDI_quantityLookupMode mode)
void setTemperature(double temperature)
enum MCGIDI_quantityLookupMode getMode(std::string const &quantity) const
MCGIDI_quantitiesLookupModes(int projectilesPOPID)
int setGroupIndex(GIDI_settings const &settings, bool encloseOutOfRange)
~MCGIDI_quantitiesLookupModes()
void setProjectileEnergy(double e_in)
void setMode(std::string const &quantity, enum MCGIDI_quantityLookupMode mode)
void setModeAll(enum MCGIDI_quantityLookupMode mode)
std::vector< std::string > getListOfLookupQuanities() const
int getGroupIndex(void) const
enum MCGIDI_quantityLookupMode getCrossSectionMode(void) const
double getProjectileEnergy(void) const
double getTemperature(void) const
~MCGIDI_samplingMethods()
MCGIDI_samplingSettings(enum GIDI::xDataTOM_frame frame, bool wantVelocities, double(*rng)(void *), void *rngState)
~MCGIDI_samplingSettings()
int setProductMultiplicityBias(GIDI::statusMessageReporting *smr, int PoPID, double fractor)
double getProductMultiplicityBias(int PoPID) const
enum GIDI::xDataTOM_frame mGotFrame
enum nfu_status_e nfu_status
enum ptwXY_interpolation_e ptwXY_interpolation
enum xDataTOM_frame frame
MCGIDI_pdfsOfXGivenW dists
MCGIDI_KalbachMann_ras * ras
MCGIDI_GammaBranching * gammas
MCGIDI_pdfsOfXGivenW * pdfOfEpGivenEAndMu
enum xDataTOM_frame frame
MCGIDI_pdfsOfXGivenW pdfOfMuGivenE
MCGIDI_angular * recoilProduct
MCGIDI_pdfsOfXGivenW dists
enum xDataTOM_frame frame
enum MCGIDI_angularType type
enum xDataTOM_frame frame
MCGIDI_angularEnergy * angularEnergy
enum MCGIDI_distributionType type
MCGIDI_energyAngular * energyAngular
MCGIDI_KalbachMann * KalbachMann
enum xDataTOM_frame frame
MCGIDI_pdfsOfXGivenW * pdfOfMuGivenEAndEp
MCGIDI_pdfsOfXGivenW pdfOfEpGivenE
MCGIDI_pdfsOfXGivenW dists
ptwXY_interpolation gInterpolation
double primaryGammaMassFactor
enum xDataTOM_frame frame
MCGIDI_energyNBodyPhaseSpace NBodyPhaseSpace
MCGIDI_energyWeightedFunctionals weightedFunctionals
enum MCGIDI_energyType type
MCGIDI_reaction * reaction
enum MCGIDI_channelGenre genre
MCGIDI_product * products
ptwXY_interpolation interpolationWY
ptwXY_interpolation interpolationWY
statusMessageReporting * smr
enum MCGIDI_productMultiplicityType productMultiplicityType
double delayedNeutronRate
MCGIDI_outputChannel decayChannel
MCGIDI_distribution distribution
ptwXYPoints * multiplicityVsEnergy
MCGIDI_outputChannel * outputChannel
int numberOfPiecewiseMultiplicities
ptwXYPoints ** piecewiseMultiplicities
MCGIDI_productInfo * productInfo
int numberOfAllocatedProducts
MCGIDI_target_heated * target
enum MCGIDI_reactionType reactionType
transportabilitiesMap * transportabilities
xDataTOM_attributionList attributes
double thresholdGroupedDeltaCrossSection
char const * outputChannelStr
MCGIDI_outputChannel outputChannel
ptwXPoints * crossSectionGrouped
double thresholdGroupDomain
MCGIDI_productsInfo productsInfo
ptwXYPoints * crossSection
double delayedNeutronRate
MCGIDI_sampledProductsData * products
double multiplicityFactor
MCGIDI_target_heated * heatedTarget
MCGIDI_POP * projectilePOP
ptwXYPoints * crossSection
xDataTOM_attributionList attributes
ptwXPoints * crossSectionGrouped
ptwXPoints * crossSectionGroupedForSampling
MCGIDI_reaction * reactions
transportabilitiesMap * transportabilities
MCGIDI_target_heated_info * heatedTargets
MCGIDI_POP * projectilePOP
xDataTOM_attributionList attributes
MCGIDI_target_heated * baseHeatedTarget
MCGIDI_target_heated_info ** readHeatedTargets