36 #ifndef tpia_target_h_included
37 #define tpia_target_h_included
39 #if defined __cplusplus
48 #if defined __cplusplus
80 #define tpia_mode_MonteCarlo 1
81 #define tpia_mode_Pn 2
82 #define tpia_maxNumberOfFrames 8
83 #define tpia_referenceFrame_None 0
84 #define tpia_referenceFrame_COM 1
85 #define tpia_referenceFrame_lab 2
86 #define tpia_referenceFrame_Max tpia_referenceFrame_lab
88 #define tpia_crossSectionType_grouped 1
89 #define tpia_crossSectionType_pointwise 2
91 #define tpia_m_depositionEnergy 1
92 #define tpia_m_multiplicity ( 1 << 1 )
93 #define tpia_m_decayChannel ( 1 << 2 )
94 #define tpia_m_commonShift 3
95 #define tpia_m_angular ( 1 << 3 )
96 #define tpia_m_formFactor ( 1 << 4 )
97 #define tpia_m_Legendre ( 1 << 5 )
98 #define tpia_m_angular_energy ( 1 << 6 )
100 #define tpia_speedOfLight_cm_sec 2.99792458e10
101 #define tpia_AMU2MeV 931.494028
120 #define tpia_samplingMethods_isConstant( method ) ( strcmp ( method , "constant" ) == 0 )
121 #define tpia_samplingMethods_isLinear( method ) ( strcmp ( method , "linear" ) == 0 )
153 double (*rng)(
void * );
314 const char *targetName );
316 const char *targetName );
329 int crossSectionType );
331 int crossSectionType );
352 int crossSectionType );
354 int crossSectionType );
364 int pointwiseRequired );
368 int pointwiseRequired );
445 double *dTimeScale );
494 #if defined __cplusplus
tpia_product * parentProduct
double tpia_target_getTotalCrossSectionAtTAndE(statusMessageReporting *smr, tpia_target *target, double T, xData_Int iEg, double e_in, int crossSectionType)
tpia_channel * tpia_target_heated_getChannelAtIndex_smr(statusMessageReporting *smr, tpia_target_heated *target, int index)
long tpia_product_dataRequired(statusMessageReporting *smr, tpia_product *product)
int tpia_particle_initialize(statusMessageReporting *smr, tpia_particle *particle)
tpia_particle * projectileID
DLL_LEND const char * tpia_productGenre_NBody_angular_energy
tpia_target_heated_info ** readHeatedTargets
tpia_product * tpia_product_getProductByIndex(statusMessageReporting *smr, tpia_product *product, int index)
int tpia_angular_SampleMu(statusMessageReporting *smr, tpia_angular *angular, tpia_decaySamplingInfo *decaySamplingInfo)
tpia_EqualProbableBinSpectrum * energies
tpia_target * tpia_target_free(statusMessageReporting *smr, tpia_target *target)
tpia_target_heated * tpia_target_getHeatedTargetAtIndex_ReadIfNeeded(statusMessageReporting *smr, tpia_target *target, int index)
tpia_product * tpia_channel_getProductByIndex(statusMessageReporting *smr, tpia_channel *channel, int index)
int tpia_target_release(statusMessageReporting *smr, tpia_target *target)
int tpia_Legendre_release(statusMessageReporting *smr, tpia_Legendre *Legendre)
tpia_product * tpia_product_getFirstProduct(tpia_product *product)
tpia_decayChannel decayChannel
tpia_target_heated_info * heatedTargets
double tpia_misc_drng(double(*rng)(void *), void *rngState)
int tpia_misc_NumberOfZSymbols(void)
int tpia_product_initialize(statusMessageReporting *smr, tpia_product *product)
xData_attributionList attributes
tpia_target_heated * target
const char * angular_equalProbableBinMethod
int tpia_target_heated_sampleIndexChannelProductsAtE(statusMessageReporting *smr, tpia_target_heated *target, int index, tpia_decaySamplingInfo *decaySamplingInfo, int nProductData, tpia_productOutgoingData *productData)
int tpia_channel_release(statusMessageReporting *smr, tpia_channel *channel)
DLL_LEND const char * tpia_samplingMethods_linear
int tpia_angularEnergy_release(statusMessageReporting *smr, tpia_angularEnergy *angularEnergy)
xData_Int tpia_target_heated_getEIndex(tpia_target_heated *target, double e_in)
double * tpia_misc_get2dxindex_y_data(statusMessageReporting *smr, xData_element *element, xData_Int *start, xData_Int *end, double *xValues)
xData_Int energyGridLength
tpia_particle * productID
tpia_decayChannel decayChannel
int tpia_target_numberOfProductionChannels(statusMessageReporting *smr, tpia_target *target)
xData_Int tpia_target_getEnergyGridAtTIndex(statusMessageReporting *smr, tpia_target *target, int index, double **energyGrid)
tpia_channel * tpia_channel_create(statusMessageReporting *smr)
tpia_channel ** productionChannels
int tpia_misc_sampleEqualProbableBin(statusMessageReporting *smr, tpia_decaySamplingInfo *decaySamplingInfo, double e_in, int nBins, tpia_EqualProbableBinSpectra *binned, double *value_)
DLL_LEND const char * tpia_productGenre_NBody_Legendre
tpia_target * tpia_target_createRead(statusMessageReporting *smr, const char *fileName)
char * tpia_target_getAttributesValue(statusMessageReporting *smr, tpia_target *target, char const *name)
DLL_LEND const char * tpia_productGenre_NBody_pairProduction
tpia_product * tpia_product_free(statusMessageReporting *smr, tpia_product *product)
tpia_target_heated * heatedTarget
DLL_LEND const char * tpia_productGenre_twoBody_formFactor
double tpia_channel_getCrossSectionAtE(statusMessageReporting *smr, tpia_channel *channel, xData_Int iEg, double e_in, int crossSectionType)
char * tpia_misc_pointerToAttributeIfAllOk(statusMessageReporting *smr, xData_element *element, const char *path, int required, xData_attributionList *attributes, const char *name, const char *file, int line)
int tpia_particle_release(statusMessageReporting *smr, tpia_particle *particle)
xData_Int numberOfPointwise
tpia_1dData totalCrossSectionPointwise
int tpia_target_read(statusMessageReporting *smr, tpia_target *target, const char *fileName)
tpia_particle * projectileID
tpia_product * tpia_channel_getFirstProduct(tpia_channel *channel)
tpia_samplingMethods * samplingMethods
xData_attributionList attributes
tpia_channel * tpia_target_heated_getChannelAtIndex(tpia_target_heated *target, int index)
struct tpia_target_heated_sorted_s tpia_target_heated_sorted
xData_Int tpia_target_heated_getEnergyGrid(statusMessageReporting *smr, tpia_target_heated *target, double **energyGrid)
int tpia_multiplicity_initialize(statusMessageReporting *smr, tpia_multiplicity *multiplicity)
tpia_target_heated * tpia_target_heated_free(statusMessageReporting *smr, tpia_target_heated *target)
int tpia_miscNameToZAm(statusMessageReporting *smr, const char *name, int *Z, int *A, int *m)
int tpia_target_readFromMap(statusMessageReporting *smr, tpia_target *target, tpia_map *map, const char *evaluation, const char *projectileName, const char *targetName)
tpi_spectralID * spectralID
int tpia_frame_setFromElement(statusMessageReporting *smr, xData_element *element, int dimension, tpia_data_frame *frame)
int tpia_kinetics_2BodyReaction(statusMessageReporting *smr, tpia_decayChannel *decayChannel, double K, double mu, double phi, tpia_productOutgoingData *outgoingData)
DLL_LEND const char * tpia_productGenre_NBody_uncorrelate_Legendre
struct tpia_2dData_s tpia_2dData
tpia_1dData crossSectionGrouped
int tpia_angularEnergy_getFromElement(statusMessageReporting *smr, xData_element *angularEnergyElement, tpia_angularEnergy *angularEnergy)
tpia_product * tpia_product_createGetFromElement(statusMessageReporting *smr, tpia_channel *channel, tpia_product *parentProduct, xData_element *productElement)
int tpia_product_getFromElement(statusMessageReporting *smr, tpia_channel *channel, tpia_product *parentProduct, xData_element *productElement, tpia_product *product)
int tpia_product_isDataPresent(statusMessageReporting *smr, tpia_product *product, int b_data)
const char * tpia_misc_ZToSymbol(int iZ)
tpia_particle * tpia_particle_free(statusMessageReporting *smr, tpia_particle *particle)
int tpia_target_readHeatedTarget(statusMessageReporting *smr, tpia_target *target, int index, int checkElememtsForAccess)
tpia_EqualProbableBinSpectra binned
int tpia_Legendre_SampleEp(statusMessageReporting *smr, tpia_Legendre *Legendre, int sampleMu, tpia_decaySamplingInfo *decaySamplingInfo)
int tpia_channel_initialize(statusMessageReporting *smr, tpia_channel *channel)
int tpia_misc_symbolToZ(const char *Z)
tpia_target_heated * baseHeatedTarget
int tpia_product_getDecayChannelFromElement(statusMessageReporting *smr, xData_element *parentElement, tpia_channel *channel, tpia_product *parentProduct, tpia_product **priorProductNext)
tpia_1dData totalCrossSectionGrouped
DLL_LEND const char * tpia_samplingMethods_constant
tpia_1dData depositionEnergyGrouped
int tpia_decayChannel_sampleProductsAtE(statusMessageReporting *smr, tpia_decayChannel *decayChannel, tpia_decaySamplingInfo *decaySamplingInfo, int nProductData, tpia_productOutgoingData *productData)
int tpia_frame_setColumn(statusMessageReporting *smr, tpia_data_frame *frame, int column, int value)
tpia_target * tpia_target_create(statusMessageReporting *smr)
int tpia_multiplicity_release(statusMessageReporting *smr, tpia_multiplicity *multiplicity)
tpia_multiplicity * tpia_multiplicity_createGetFromElement(statusMessageReporting *smr, xData_element *multiplicityElement, int nGroups)
int tpia_particle_freeInternalList(statusMessageReporting *smr)
tpia_channel * tpia_channel_free(statusMessageReporting *smr, tpia_channel *channel)
double tpia_misc_getPointwiseCrossSectionAtE(statusMessageReporting *smr, tpia_1dData *crossSection, double *energyGrid, xData_Int index, double e_in)
tpia_EqualProbableBinSpectra * ls
tpia_particle * tpia_particle_getInternalID(statusMessageReporting *smr, const char *const name)
int tpia_channel_numberOfProducts(statusMessageReporting *smr, tpia_channel *channel)
int tpia_target_heated_numberOfProductionChannels(statusMessageReporting *smr, tpia_target_heated *target)
tpia_data_frame crossSectionFrame
int tpia_target_heated_release(statusMessageReporting *smr, tpia_target_heated *target)
char * tpia_frame_toString(statusMessageReporting *smr, const char *fromItem, tpia_data_frame *frame)
tpia_channel * tpia_channel_createGetFromElement(statusMessageReporting *smr, tpia_target_heated *target, xData_element *channelElement, int pointwiseRequired)
xData_attributionList attributes
tpia_1dData crossSectionPointwise
int tpia_angular_release(statusMessageReporting *smr, tpia_angular *angular)
int tpia_angular_getFromElement(statusMessageReporting *smr, xData_element *angularElement, tpia_angular *angular)
int tpia_target_numberOfChannels(statusMessageReporting *smr, tpia_target *target)
double tpia_target_getIndexChannelCrossSectionAtE(statusMessageReporting *smr, tpia_target *target, int index, double T, xData_Int iEg, double e_in, int crossSectionType)
tpia_product * tpia_product_create(statusMessageReporting *smr)
int tpia_product_doesDecay(statusMessageReporting *smr, tpia_product *product)
int tpia_channel_getFromElement(statusMessageReporting *smr, tpia_target_heated *target, xData_element *channelElement, tpia_channel *channel, int pointwiseRequired)
int tpia_product_release(statusMessageReporting *smr, tpia_product *product)
int tpia_misc_get2d_xShared_yHistogram_data_Grouped(statusMessageReporting *smr, xData_element *element, tpia_1dData *group)
int tpia_product_numberOfProducts(statusMessageReporting *smr, tpia_product *product)
tpia_angularEnergy angularEnergy
tpia_target_heated * tpia_target_heated_create(statusMessageReporting *smr)
DLL_LEND const char * tpia_productGenre_unknown
int tpia_frame_setColumns(statusMessageReporting *smr, tpia_data_frame *frame, int nColumns, int *values)
double tpia_target_heated_getTotalCrossSectionAtE(statusMessageReporting *smr, tpia_target_heated *target, xData_Int gE, double e_in, int crossSectionType)
tpia_particle * productID
tpia_target_heated * tpia_target_heated_createRead(statusMessageReporting *smr, const char *fileName, int checkElememtsForAccess)
int tpia_angular_initialize(statusMessageReporting *smr, tpia_angular *angular)
int tpia_angularEnergy_initialize(statusMessageReporting *smr, tpia_angularEnergy *angularEnergy)
double tpia_target_heated_getIndexChannelCrossSectionAtE(statusMessageReporting *smr, tpia_target_heated *target, int index, xData_Int iEg, double e_in, int crossSectionType)
int tpia_target_sampleIndexChannelProductsAtE(statusMessageReporting *smr, tpia_target *target, int index, double T, tpia_decaySamplingInfo *decaySamplingInfo, int nProductData, tpia_productOutgoingData *productData)
tpia_multiplicity * multiplicityVsEnergy
int tpia_target_heated_initialize(statusMessageReporting *smr, tpia_target_heated *target)
tpia_1dData * tpia_target_getTotalCrossSectionAtTIndex(statusMessageReporting *smr, tpia_target *target, int index, int crossSectionType)
int tpia_angularEnergy_SampleEp(statusMessageReporting *smr, tpia_angularEnergy *angularEnergy, tpia_decaySamplingInfo *decaySamplingInfo)
int tpia_Legendre_getFromElement(statusMessageReporting *smr, xData_element *LegendreElement, tpia_Legendre *Legendre)
tpia_samplingMethods samplingMethods
tpia_decayChannel * decayChannel
int tpia_multiplicity_getFromElement(statusMessageReporting *smr, xData_element *multiplicityElement, tpia_multiplicity *multiplicity, int nGroups)
const XML_Char int const XML_Char * value
tpia_multiplicity * delayedNeutronMultiplicityVsEnergy
int tpia_target_initialize(statusMessageReporting *smr, tpia_target *target)
int tpia_samplingMethods_initialize(statusMessageReporting *smr, tpia_samplingMethods *samplingMethods)
int tpia_frame_getColumn(statusMessageReporting *smr, tpia_data_frame *frame, int column)
tpia_channel * tpia_target_heated_getProductionChannelAtIndex(tpia_target_heated *target, int index)
int tpia_target_heated_numberOfChannels(statusMessageReporting *smr, tpia_target_heated *target)
int tpia_Legendre_initialize(statusMessageReporting *smr, tpia_Legendre *Legendre)
double * tpia_misc_get2dx_y_data(statusMessageReporting *smr, xData_element *element, xData_Int *length)
int tpia_multiplicity_getTimeScaleFromElement(statusMessageReporting *smr, xData_element *element, const char **timeScale, int *isDelayedNeutrons, double *dTimeScale)
xData_attributionList attributes
int tpia_product_sampleMultiplicity(statusMessageReporting *smr, tpia_product *product, double e_in, double r)
double * tpia_misc_get2d_xShared_yHistogram_data(statusMessageReporting *smr, xData_element *element, xData_Int *start, xData_Int *end, xData_Int *length)
int tpia_target_getTemperatures(statusMessageReporting *smr, tpia_target *target, double *temperatures)
tpia_particle * tpia_particle_create(statusMessageReporting *smr)
tpia_multiplicity * tpia_multiplicity_create(statusMessageReporting *smr)
tpia_product * tpia_decayChannel_getFirstProduct(tpia_decayChannel *decayChannel)
int tpia_particle_printInternalSortedList(statusMessageReporting *smr)
tpia_multiplicity * tpia_multiplicity_free(statusMessageReporting *smr, tpia_multiplicity *multiplicity)
tpia_target * tpia_target_createReadFromMap(statusMessageReporting *smr, tpia_map *map, const char *evaluation, const char *projectileName, const char *targetName)
tpia_1dData availableEnergyGrouped
int tpia_frame_getDimensions(statusMessageReporting *smr, tpia_data_frame *frame)
int tpia_frame_setFromString(statusMessageReporting *smr, const char *forItem, const char *value, int dimension, tpia_data_frame *frame)
tpia_particle * productID
DLL_LEND const char * tpia_productGenre_twoBody_angular
int tpia_target_heated_read(statusMessageReporting *smr, tpia_target_heated *target, const char *fileName, int checkElememtsForAccess)
int tpia_channel_isProduction(statusMessageReporting *smr, tpia_channel *channel)
tpia_EqualProbableBinSpectra * energies
int tpia_kinetics_COMKineticEnergy2LabEnergyAndMomentum(statusMessageReporting *smr, double beta, double e_kinetic_com, double mu, double phi, double m3cc, double m4cc, tpia_productOutgoingData *outgoingData)
tpia_product * tpia_decayChannel_getNextProduct(tpia_product *product)
tpia_angularEnergyBin binned
int tpia_frame_clear(statusMessageReporting *smr, tpia_data_frame *frame)