Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
tpia_target.h
Go to the documentation of this file.
1/*
2# <<BEGIN-copyright>>
3# Copyright (c) 2010, Lawrence Livermore National Security, LLC.
4# Produced at the Lawrence Livermore National Laboratory
5# Written by Bret R. Beck, [email protected].
6# CODE-461393
7# All rights reserved.
8#
9# This file is part of GIDI. For details, see nuclear.llnl.gov.
10# Please also read the "Additional BSD Notice" at nuclear.llnl.gov.
11#
12# Redistribution and use in source and binary forms, with or without modification,
13# are permitted provided that the following conditions are met:
14#
15# 1) Redistributions of source code must retain the above copyright notice,
16# this list of conditions and the disclaimer below.
17# 2) Redistributions in binary form must reproduce the above copyright notice,
18# this list of conditions and the disclaimer (as noted below) in the
19# documentation and/or other materials provided with the distribution.
20# 3) Neither the name of the LLNS/LLNL nor the names of its contributors may be
21# used to endorse or promote products derived from this software without
22# specific prior written permission.
23#
24# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
25# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
27# SHALL LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF ENERGY OR
28# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
31# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
33# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34# <<END-copyright>>
35*/
36#ifndef tpia_target_h_included
37#define tpia_target_h_included
38
39#if defined __cplusplus
40 extern "C" {
41#endif
42
43#include <xData.h>
44#include <tpia_defs.h>
45#include <tpia_map.h>
46#include <tpi_IDs.h>
47
48#if defined __cplusplus
49 namespace GIDI {
50#endif
51
55typedef struct tpia_target_heated_sorted_s tpia_target_heated_sorted;
71typedef struct tpia_2dData_s tpia_2dData;
74
75//#include <xData.h>
76#include <tpia_mass.h>
77//#include <tpia_map.h>
78//#include <tpi_IDs.h>
79
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
87
88#define tpia_crossSectionType_grouped 1
89#define tpia_crossSectionType_pointwise 2
90
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 )
99
100#define tpia_speedOfLight_cm_sec 2.99792458e10
101#define tpia_AMU2MeV 931.494028
102
106
108
109//extern const char *tpia_samplingMethods_constant = "constant";
110//extern const char *tpia_samplingMethods_linear = "linear";
111
112//#define tpia_samplingMethods_isConstant( method ) ( method == tpia_samplingMethods_constant )
113//#define tpia_samplingMethods_isLinear( method ) ( method == tpia_samplingMethods_linear )
114
115//tpia_samplingMethods_constant and tpia_samplingMethods_linear are defined in src/tpia_samplingMethods.cc in namespace GIDI.
116//So TK directory write the values in follwoing macros. 110527
117//#define tpia_samplingMethods_isConstant( method ) ( method == "constant" )
118//#define tpia_samplingMethods_isLinear( method ) ( method == "linear" )
119//Fix above bug. 110602
120#define tpia_samplingMethods_isConstant( method ) ( strcmp ( method , "constant" ) == 0 )
121#define tpia_samplingMethods_isLinear( method ) ( strcmp ( method , "linear" ) == 0 )
122
123
128 int Z, A, m;
129 double mass;
131 char *name;
133};
134
137};
138
140 unsigned int frames;
141};
142
144 xData_Int start, end, length;
145 double *data;
146};
147
149 double e_in;
153 double (*rng)( void * );
154 void *rngState;
156 char const *genre;
157 double mu;
158 double Ep;
159};
160
162 char const *genre;
167 double px_vx;
168 double py_vy;
169 double pz_vz;
171};
172
176 double timeScale; /* Only for delay neutrons from fission, otherwise -1. */
179 double *pointwise;
180};
181/*
182* This data is used for discrete 2-body data where mu is give in equal probable bins vs E and
183* for isotropic scattering where the outgoing E' is give in equal probable bins vs E.
184*/
186 int nBins, index;
187 double value;
188 double *bins;
189};
190
193 int nBins;
195 double dValue;
197};
198
202};
203
205 int nBins, numberOfEs;
207};
208
212 double m1_fullMass_MeV; /* Currently, only used for 2-body decay. Either the mass of the projectile and target, respectively; */
213 double m2_fullMass_MeV; /* or, the mass of the decaying particle and 0., respectively. */
214};
215
219};
220
224};
225
229};
230
234 tpia_product *parentProduct; /* If this product is the result of a particle decaying, then this the the parent particle. */
237 char const *genre;
241 int multiplicity; /* If 0, the multiplicity is either 'energyDependent' or 'partialProduction'. */
243 tpia_multiplicity *delayedNeutronMultiplicityVsEnergy; /* Fission delayed neutron multiplicities. */
248};
249
253 char *genre;
255 int ENDL_C, ENDF_MT;
256 char *QString;
257 char *fission;
259 double Q;
265};
266
269 char *path; /* Partial path of input file. */
270 char *absPath; /* Full absolute path of input file. */
275 double *energyGrid;
279 char *contents;
280 int nChannels, nProductionChannels;
283 double *kerma;
284};
285
289 char *path; /* Full path of input file. */
290 char *contents;
292};
293
295 char *path; /* Full path of input file. */
296 char *absPath; /* Full absolute path of input file. */
301 int nHeatedTargets, nReadHeatedTargets;
302 tpia_target_heated *baseHeatedTarget; /* The lowest temperature whose contents is "all" data, (e.g, not just "crossSection"). */
303 tpia_target_heated_info *heatedTargets; /* List of heated targets in order by temperature. */
304 tpia_target_heated_info **readHeatedTargets; /* List of "read in" heated targets in order by temperature. */
305};
306
307/*
308* Routines in tpia_target.c
309*/
312tpia_target *tpia_target_createRead( statusMessageReporting *smr, const char *fileName );
313int tpia_target_readFromMap( statusMessageReporting *smr, tpia_target *target, tpia_map *map, const char *evaluation, const char *projectileName,
314 const char *targetName );
315tpia_target *tpia_target_createReadFromMap( statusMessageReporting *smr, tpia_map *map, const char *evaluation, const char *projectileName,
316 const char *targetName );
319int tpia_target_read( statusMessageReporting *smr, tpia_target *target, const char *fileName );
320char *tpia_target_getAttributesValue( statusMessageReporting *smr, tpia_target *target, char const *name );
321int tpia_target_getTemperatures( statusMessageReporting *smr, tpia_target *target, double *temperatures );
322int tpia_target_readHeatedTarget( statusMessageReporting *smr, tpia_target *target, int index, int checkElememtsForAccess );
326xData_Int tpia_target_getEnergyGridAtTIndex( statusMessageReporting *smr, tpia_target *target, int index, double **energyGrid );
327tpia_1dData *tpia_target_getTotalCrossSectionAtTIndex( statusMessageReporting *smr, tpia_target *target, int index, int crossSectionType );
328double tpia_target_getTotalCrossSectionAtTAndE( statusMessageReporting *smr, tpia_target *target, double T, xData_Int iEg, double e_in,
329 int crossSectionType );
330double tpia_target_getIndexChannelCrossSectionAtE( statusMessageReporting *smr, tpia_target *target, int index, double T, xData_Int iEg, double e_in,
331 int crossSectionType );
333 tpia_decaySamplingInfo *decaySamplingInfo, int nProductData, tpia_productOutgoingData *productData );
334
335/*
336* Routines in tpia_target_heated.c
337*/
340tpia_target_heated *tpia_target_heated_createRead( statusMessageReporting *smr, const char *fileName, int checkElememtsForAccess );
343int tpia_target_heated_read( statusMessageReporting *smr, tpia_target_heated *target, const char *fileName, int checkElememtsForAccess );
352 int crossSectionType );
354 int crossSectionType );
356 tpia_decaySamplingInfo *decaySamplingInfo, int nProductData, tpia_productOutgoingData *productData );
357
358/*
359* Routines in tpia_channel.c
360*/
364 int pointwiseRequired );
368 int pointwiseRequired );
373double tpia_channel_getCrossSectionAtE( statusMessageReporting *smr, tpia_channel *channel, xData_Int iEg, double e_in, int crossSectionType );
374
375/*
376* Routines in tpia_particle.c
377*/
385
386/*
387* Routines in tpia_product.c
388*/
392 xData_element *productElement );
395int tpia_product_getFromElement( statusMessageReporting *smr, tpia_channel *channel, tpia_product *parentProduct, xData_element *productElement,
396 tpia_product *product );
398 tpia_product **priorProductNext );
404int tpia_product_isDataPresent( statusMessageReporting *smr, tpia_product *product, int b_data );
405int tpia_product_sampleMultiplicity( statusMessageReporting *smr, tpia_product *product, double e_in, double r );
406
407/*
408* Routines in tpia_decayChannel.c
409*/
413 int nProductData, tpia_productOutgoingData *productData );
414
415/*
416* Routines in tpia_kinetics.c
417*/
418int tpia_kinetics_2BodyReaction( statusMessageReporting *smr, tpia_decayChannel *decayChannel, double K, double mu, double phi,
419 tpia_productOutgoingData *outgoingData );
420int tpia_kinetics_COMKineticEnergy2LabEnergyAndMomentum( statusMessageReporting *smr, double beta, double e_kinetic_com, double mu, double phi,
421 double m3cc, double m4cc, tpia_productOutgoingData *outgoingData );
422
423/*
424* Routines in tpia_frame.c
425*/
427int tpia_frame_setFromElement( statusMessageReporting *smr, xData_element *element, int dimension, tpia_data_frame *frame );
428int tpia_frame_setFromString( statusMessageReporting *smr, const char *forItem, const char *value, int dimension, tpia_data_frame *frame );
430char *tpia_frame_toString( statusMessageReporting *smr, const char *fromItem, tpia_data_frame *frame );
431int tpia_frame_setColumns( statusMessageReporting *smr, tpia_data_frame *frame, int nColumns, int *values );
432int tpia_frame_setColumn( statusMessageReporting *smr, tpia_data_frame *frame, int column, int value );
433int tpia_frame_getColumn( statusMessageReporting *smr, tpia_data_frame *frame, int column );
434
435/*
436* Routines in tpia_multiplicity.c
437*/
443int tpia_multiplicity_getFromElement( statusMessageReporting *smr, xData_element *multiplicityElement, tpia_multiplicity *multiplicity, int nGroups );
444int tpia_multiplicity_getTimeScaleFromElement( statusMessageReporting *smr, xData_element *element, const char **timeScale, int *isDelayedNeutrons,
445 double *dTimeScale );
446
447/*
448* Routines in tpia_angular.c
449*/
454
455/*
456* Routines in tpia_Legendre.c
457*/
461int tpia_Legendre_SampleEp( statusMessageReporting *smr, tpia_Legendre *Legendre, int sampleMu, tpia_decaySamplingInfo *decaySamplingInfo );
462
463/*
464* Routines in tpia_angularEnergy.c
465*/
468int tpia_angularEnergy_getFromElement( statusMessageReporting *smr, xData_element *angularEnergyElement, tpia_angularEnergy *angularEnergy );
470
471/*
472* Routines in tpia_samplingMethods.c
473*/
475
476/*
477* Routines in tpia_misc.c
478*/
480const char *tpia_misc_ZToSymbol( int iZ );
481int tpia_misc_symbolToZ( const char *Z );
482int tpia_miscNameToZAm( statusMessageReporting *smr, const char *name, int *Z, int *A, int *m );
483char *tpia_misc_pointerToAttributeIfAllOk( statusMessageReporting *smr, xData_element *element, const char *path, int required,
484 xData_attributionList *attributes, const char *name, const char *file, int line );
486double *tpia_misc_get2dxindex_y_data( statusMessageReporting *smr, xData_element *element, xData_Int *start, xData_Int *end, double *xValues );
489double tpia_misc_getPointwiseCrossSectionAtE( statusMessageReporting *smr, tpia_1dData *crossSection, double *energyGrid, xData_Int index, double e_in );
490double tpia_misc_drng( double (*rng)( void * ), void *rngState );
491int tpia_misc_sampleEqualProbableBin( statusMessageReporting *smr, tpia_decaySamplingInfo *decaySamplingInfo, double e_in, int nBins,
492 tpia_EqualProbableBinSpectra *binned, double *value_ );
493
494#if defined __cplusplus
495 }
496 }
497#endif
498
499#endif /* End of tpia_target_h_included. */
double * data
Definition: tpia_target.h:145
xData_Int end
Definition: tpia_target.h:144
tpia_EqualProbableBinSpectrum * energies
Definition: tpia_target.h:196
tpia_EqualProbableBinSpectra * ls
Definition: tpia_target.h:201
tpia_data_frame frame
Definition: tpia_target.h:222
tpia_LegendreBin binned
Definition: tpia_target.h:223
tpia_EqualProbableBinSpectra * energies
Definition: tpia_target.h:206
tpia_angularEnergyBin binned
Definition: tpia_target.h:228
tpia_data_frame frame
Definition: tpia_target.h:227
tpia_EqualProbableBinSpectra binned
Definition: tpia_target.h:218
tpia_data_frame frame
Definition: tpia_target.h:217
xData_attributionList attributes
Definition: tpia_target.h:254
tpia_1dData availableEnergyGrouped
Definition: tpia_target.h:263
tpia_target_heated * target
Definition: tpia_target.h:251
tpia_decayChannel decayChannel
Definition: tpia_target.h:264
tpia_1dData crossSectionPointwise
Definition: tpia_target.h:261
tpia_1dData crossSectionGrouped
Definition: tpia_target.h:262
char * outputChannel
Definition: tpia_target.h:252
tpia_data_frame crossSectionFrame
Definition: tpia_target.h:260
unsigned int frames
Definition: tpia_target.h:140
tpia_product * products
Definition: tpia_target.h:211
tpia_samplingMethods * samplingMethods
Definition: tpia_target.h:150
tpia_particle * productID
Definition: tpia_target.h:155
tpia_data_frame frame
Definition: tpia_target.h:152
tpia_data_frame frame
Definition: tpia_target.h:175
xData_Int numberOfPointwise
Definition: tpia_target.h:177
tpia_multiplicity * next
Definition: tpia_target.h:174
tpia_1dData grouped
Definition: tpia_target.h:178
tpi_spectralID * spectralID
Definition: tpia_target.h:132
double fullMass_MeV
Definition: tpia_target.h:130
tpia_particle * prior
Definition: tpia_target.h:125
tpia_particle * next
Definition: tpia_target.h:126
tpia_particle * productID
Definition: tpia_target.h:165
tpia_decayChannel * decayChannel
Definition: tpia_target.h:170
tpia_multiplicity * multiplicityVsEnergy
Definition: tpia_target.h:242
tpia_product * parentProduct
Definition: tpia_target.h:234
tpia_decayChannel decayChannel
Definition: tpia_target.h:247
tpia_product * next
Definition: tpia_target.h:232
tpia_1dData depositionEnergyGrouped
Definition: tpia_target.h:240
xData_attributionList attributes
Definition: tpia_target.h:235
tpia_angularEnergy angularEnergy
Definition: tpia_target.h:246
tpia_angular angular
Definition: tpia_target.h:244
tpia_Legendre Legendre
Definition: tpia_target.h:245
tpia_channel * channel
Definition: tpia_target.h:233
char const * genre
Definition: tpia_target.h:237
tpia_multiplicity * delayedNeutronMultiplicityVsEnergy
Definition: tpia_target.h:243
tpia_particle * productID
Definition: tpia_target.h:236
const char * angular_equalProbableBinMethod
Definition: tpia_target.h:136
tpia_target_heated * heatedTarget
Definition: tpia_target.h:291
xData_attributionList attributes
Definition: tpia_target.h:278
tpia_1dData totalCrossSectionPointwise
Definition: tpia_target.h:276
tpia_channel ** channels
Definition: tpia_target.h:281
tpia_particle * targetID
Definition: tpia_target.h:272
tpia_particle * projectileID
Definition: tpia_target.h:271
tpia_1dData totalCrossSectionGrouped
Definition: tpia_target.h:277
tpia_channel ** productionChannels
Definition: tpia_target.h:282
xData_Int energyGridLength
Definition: tpia_target.h:274
tpia_particle * projectileID
Definition: tpia_target.h:297
tpia_samplingMethods samplingMethods
Definition: tpia_target.h:300
char * absPath
Definition: tpia_target.h:296
tpia_particle * targetID
Definition: tpia_target.h:298
tpia_target_heated_info ** readHeatedTargets
Definition: tpia_target.h:304
tpia_target_heated * baseHeatedTarget
Definition: tpia_target.h:302
xData_attributionList attributes
Definition: tpia_target.h:299
tpia_target_heated_info * heatedTargets
Definition: tpia_target.h:303
#define DLL_LEND
Definition: tpia_defs.h:19
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)
Definition: tpia_misc.cc:163
struct tpia_target_heated_sorted_s tpia_target_heated_sorted
Definition: tpia_target.h:55
tpia_product * tpia_channel_getProductByIndex(statusMessageReporting *smr, tpia_channel *channel, int index)
int tpia_target_heated_numberOfChannels(statusMessageReporting *smr, tpia_target_heated *target)
int tpia_multiplicity_release(statusMessageReporting *smr, tpia_multiplicity *multiplicity)
int tpia_product_release(statusMessageReporting *smr, tpia_product *product)
DLL_LEND const char * tpia_productGenre_unknown
Definition: tpia_product.cc:56
int tpia_target_heated_read(statusMessageReporting *smr, tpia_target_heated *target, const char *fileName, int checkElememtsForAccess)
int tpia_kinetics_2BodyReaction(statusMessageReporting *smr, tpia_decayChannel *decayChannel, double K, double mu, double phi, tpia_productOutgoingData *outgoingData)
int tpia_particle_release(statusMessageReporting *smr, tpia_particle *particle)
int tpia_target_heated_numberOfProductionChannels(statusMessageReporting *smr, tpia_target_heated *target)
DLL_LEND const char * tpia_productGenre_NBody_uncorrelate_Legendre
Definition: tpia_target.h:104
tpia_product * tpia_channel_getFirstProduct(tpia_channel *channel)
tpia_particle * tpia_particle_getInternalID(statusMessageReporting *smr, const char *const name)
tpia_particle * tpia_particle_free(statusMessageReporting *smr, tpia_particle *particle)
int tpia_product_doesDecay(statusMessageReporting *smr, tpia_product *product)
int tpia_particle_initialize(statusMessageReporting *smr, tpia_particle *particle)
int tpia_particle_printInternalSortedList(statusMessageReporting *smr)
tpia_target_heated * tpia_target_getHeatedTargetAtIndex_ReadIfNeeded(statusMessageReporting *smr, tpia_target *target, int index)
Definition: tpia_target.cc:290
double tpia_target_heated_getTotalCrossSectionAtE(statusMessageReporting *smr, tpia_target_heated *target, xData_Int gE, double e_in, int crossSectionType)
int tpia_frame_setFromElement(statusMessageReporting *smr, xData_element *element, int dimension, tpia_data_frame *frame)
Definition: tpia_frame.cc:61
tpia_product * tpia_decayChannel_getFirstProduct(tpia_decayChannel *decayChannel)
tpia_product * tpia_product_create(statusMessageReporting *smr)
Definition: tpia_product.cc:71
int tpia_product_numberOfProducts(statusMessageReporting *smr, tpia_product *product)
int tpia_misc_NumberOfZSymbols(void)
Definition: tpia_misc.cc:76
int tpia_product_initialize(statusMessageReporting *smr, tpia_product *product)
Definition: tpia_product.cc:83
int tpia_channel_getFromElement(statusMessageReporting *smr, tpia_target_heated *target, xData_element *channelElement, tpia_channel *channel, int pointwiseRequired)
int tpia_target_sampleIndexChannelProductsAtE(statusMessageReporting *smr, tpia_target *target, int index, double T, tpia_decaySamplingInfo *decaySamplingInfo, int nProductData, tpia_productOutgoingData *productData)
Definition: tpia_target.cc:404
int tpia_target_getTemperatures(statusMessageReporting *smr, tpia_target *target, double *temperatures)
Definition: tpia_target.cc:256
double tpia_misc_getPointwiseCrossSectionAtE(statusMessageReporting *smr, tpia_1dData *crossSection, double *energyGrid, xData_Int index, double e_in)
Definition: tpia_misc.cc:298
tpia_target * tpia_target_createRead(statusMessageReporting *smr, const char *fileName)
Definition: tpia_target.cc:70
int tpia_frame_getColumn(statusMessageReporting *smr, tpia_data_frame *frame, int column)
Definition: tpia_frame.cc:213
DLL_LEND const char * tpia_samplingMethods_constant
int tpia_multiplicity_getTimeScaleFromElement(statusMessageReporting *smr, xData_element *element, const char **timeScale, int *isDelayedNeutrons, double *dTimeScale)
tpia_multiplicity * tpia_multiplicity_createGetFromElement(statusMessageReporting *smr, xData_element *multiplicityElement, int nGroups)
tpia_channel * tpia_channel_free(statusMessageReporting *smr, tpia_channel *channel)
Definition: tpia_channel.cc:83
DLL_LEND const char * tpia_productGenre_twoBody_angular
Definition: tpia_target.h:103
tpia_channel * tpia_channel_create(statusMessageReporting *smr)
Definition: tpia_channel.cc:50
double * tpia_misc_get2d_xShared_yHistogram_data(statusMessageReporting *smr, xData_element *element, xData_Int *start, xData_Int *end, xData_Int *length)
Definition: tpia_misc.cc:268
int tpia_Legendre_initialize(statusMessageReporting *smr, tpia_Legendre *Legendre)
int tpia_misc_symbolToZ(const char *Z)
Definition: tpia_misc.cc:92
int tpia_target_heated_release(statusMessageReporting *smr, tpia_target_heated *target)
DLL_LEND const char * tpia_productGenre_NBody_Legendre
Definition: tpia_target.h:104
int tpia_target_read(statusMessageReporting *smr, tpia_target *target, const char *fileName)
Definition: tpia_target.cc:143
int tpia_target_numberOfProductionChannels(statusMessageReporting *smr, tpia_target *target)
Definition: tpia_target.cc:324
tpia_multiplicity * tpia_multiplicity_create(statusMessageReporting *smr)
int tpia_angularEnergy_release(statusMessageReporting *smr, tpia_angularEnergy *angularEnergy)
double tpia_target_getIndexChannelCrossSectionAtE(statusMessageReporting *smr, tpia_target *target, int index, double T, xData_Int iEg, double e_in, int crossSectionType)
Definition: tpia_target.cc:380
int tpia_target_readFromMap(statusMessageReporting *smr, tpia_target *target, tpia_map *map, const char *evaluation, const char *projectileName, const char *targetName)
Definition: tpia_target.cc:82
int tpia_product_getDecayChannelFromElement(statusMessageReporting *smr, xData_element *parentElement, tpia_channel *channel, tpia_product *parentProduct, tpia_product **priorProductNext)
double * tpia_misc_get2dxindex_y_data(statusMessageReporting *smr, xData_element *element, xData_Int *start, xData_Int *end, double *xValues)
Definition: tpia_misc.cc:248
int tpia_frame_getDimensions(statusMessageReporting *smr, tpia_data_frame *frame)
Definition: tpia_frame.cc:121
int tpia_kinetics_COMKineticEnergy2LabEnergyAndMomentum(statusMessageReporting *smr, double beta, double e_kinetic_com, double mu, double phi, double m3cc, double m4cc, tpia_productOutgoingData *outgoingData)
int tpia_angularEnergy_getFromElement(statusMessageReporting *smr, xData_element *angularEnergyElement, tpia_angularEnergy *angularEnergy)
double tpia_misc_drng(double(*rng)(void *), void *rngState)
Definition: tpia_misc.cc:403
int tpia_target_initialize(statusMessageReporting *smr, tpia_target *target)
Definition: tpia_target.cc:61
tpia_channel * tpia_target_heated_getChannelAtIndex_smr(statusMessageReporting *smr, tpia_target_heated *target, int index)
tpia_product * tpia_product_getFirstProduct(tpia_product *product)
int tpia_miscNameToZAm(statusMessageReporting *smr, const char *name, int *Z, int *A, int *m)
Definition: tpia_misc.cc:105
int tpia_target_numberOfChannels(statusMessageReporting *smr, tpia_target *target)
Definition: tpia_target.cc:317
int tpia_misc_sampleEqualProbableBin(statusMessageReporting *smr, tpia_decaySamplingInfo *decaySamplingInfo, double e_in, int nBins, tpia_EqualProbableBinSpectra *binned, double *value_)
Definition: tpia_misc.cc:420
tpia_channel * tpia_channel_createGetFromElement(statusMessageReporting *smr, tpia_target_heated *target, xData_element *channelElement, int pointwiseRequired)
Definition: tpia_channel.cc:71
int tpia_frame_setFromString(statusMessageReporting *smr, const char *forItem, const char *value, int dimension, tpia_data_frame *frame)
Definition: tpia_frame.cc:74
int tpia_frame_clear(statusMessageReporting *smr, tpia_data_frame *frame)
Definition: tpia_frame.cc:53
int tpia_angular_getFromElement(statusMessageReporting *smr, xData_element *angularElement, tpia_angular *angular)
Definition: tpia_angular.cc:70
int tpia_target_release(statusMessageReporting *smr, tpia_target *target)
Definition: tpia_target.cc:117
tpia_target * tpia_target_free(statusMessageReporting *smr, tpia_target *target)
Definition: tpia_target.cc:108
tpia_target_heated * tpia_target_heated_createRead(statusMessageReporting *smr, const char *fileName, int checkElememtsForAccess)
double * tpia_misc_get2dx_y_data(statusMessageReporting *smr, xData_element *element, xData_Int *length)
Definition: tpia_misc.cc:228
int tpia_channel_release(statusMessageReporting *smr, tpia_channel *channel)
Definition: tpia_channel.cc:92
int tpia_samplingMethods_initialize(statusMessageReporting *smr, tpia_samplingMethods *samplingMethods)
int tpia_target_readHeatedTarget(statusMessageReporting *smr, tpia_target *target, int index, int checkElememtsForAccess)
Definition: tpia_target.cc:266
long tpia_product_dataRequired(statusMessageReporting *smr, tpia_product *product)
int tpia_frame_setColumns(statusMessageReporting *smr, tpia_data_frame *frame, int nColumns, int *values)
Definition: tpia_frame.cc:178
int tpia_channel_numberOfProducts(statusMessageReporting *smr, tpia_channel *channel)
tpia_product * tpia_product_free(statusMessageReporting *smr, tpia_product *product)
struct tpia_2dData_s tpia_2dData
Definition: tpia_target.h:71
tpia_multiplicity * tpia_multiplicity_free(statusMessageReporting *smr, tpia_multiplicity *multiplicity)
double tpia_channel_getCrossSectionAtE(statusMessageReporting *smr, tpia_channel *channel, xData_Int iEg, double e_in, int crossSectionType)
xData_Int tpia_target_heated_getEIndex(tpia_target_heated *target, double e_in)
int tpia_misc_get2d_xShared_yHistogram_data_Grouped(statusMessageReporting *smr, xData_element *element, tpia_1dData *group)
Definition: tpia_misc.cc:289
int tpia_Legendre_release(statusMessageReporting *smr, tpia_Legendre *Legendre)
int tpia_multiplicity_getFromElement(statusMessageReporting *smr, xData_element *multiplicityElement, tpia_multiplicity *multiplicity, int nGroups)
int tpia_particle_freeInternalList(statusMessageReporting *smr)
xData_Int tpia_target_getEnergyGridAtTIndex(statusMessageReporting *smr, tpia_target *target, int index, double **energyGrid)
Definition: tpia_target.cc:331
char * tpia_frame_toString(statusMessageReporting *smr, const char *fromItem, tpia_data_frame *frame)
Definition: tpia_frame.cc:137
double tpia_target_heated_getIndexChannelCrossSectionAtE(statusMessageReporting *smr, tpia_target_heated *target, int index, xData_Int iEg, double e_in, int crossSectionType)
int tpia_decayChannel_sampleProductsAtE(statusMessageReporting *smr, tpia_decayChannel *decayChannel, tpia_decaySamplingInfo *decaySamplingInfo, int nProductData, tpia_productOutgoingData *productData)
int tpia_product_getFromElement(statusMessageReporting *smr, tpia_channel *channel, tpia_product *parentProduct, xData_element *productElement, tpia_product *product)
tpia_channel * tpia_target_heated_getChannelAtIndex(tpia_target_heated *target, int index)
tpia_particle * tpia_particle_create(statusMessageReporting *smr)
tpia_product * tpia_decayChannel_getNextProduct(tpia_product *product)
tpia_target_heated * tpia_target_heated_free(statusMessageReporting *smr, tpia_target_heated *target)
DLL_LEND const char * tpia_samplingMethods_linear
Definition: tpia_target.h:107
int tpia_Legendre_SampleEp(statusMessageReporting *smr, tpia_Legendre *Legendre, int sampleMu, tpia_decaySamplingInfo *decaySamplingInfo)
tpia_channel * tpia_target_heated_getProductionChannelAtIndex(tpia_target_heated *target, int index)
char * tpia_target_getAttributesValue(statusMessageReporting *smr, tpia_target *target, char const *name)
Definition: tpia_target.cc:248
int tpia_Legendre_getFromElement(statusMessageReporting *smr, xData_element *LegendreElement, tpia_Legendre *Legendre)
int tpia_multiplicity_initialize(statusMessageReporting *smr, tpia_multiplicity *multiplicity)
DLL_LEND const char * tpia_productGenre_NBody_pairProduction
Definition: tpia_target.h:105
tpia_target * tpia_target_create(statusMessageReporting *smr)
Definition: tpia_target.cc:49
tpia_product * tpia_product_getProductByIndex(statusMessageReporting *smr, tpia_product *product, int index)
tpia_product * tpia_product_createGetFromElement(statusMessageReporting *smr, tpia_channel *channel, tpia_product *parentProduct, xData_element *productElement)
Definition: tpia_product.cc:93
int tpia_angularEnergy_initialize(statusMessageReporting *smr, tpia_angularEnergy *angularEnergy)
int tpia_channel_isProduction(statusMessageReporting *smr, tpia_channel *channel)
int tpia_angularEnergy_SampleEp(statusMessageReporting *smr, tpia_angularEnergy *angularEnergy, tpia_decaySamplingInfo *decaySamplingInfo)
int tpia_frame_setColumn(statusMessageReporting *smr, tpia_data_frame *frame, int column, int value)
Definition: tpia_frame.cc:190
const char * tpia_misc_ZToSymbol(int iZ)
Definition: tpia_misc.cc:83
int tpia_product_isDataPresent(statusMessageReporting *smr, tpia_product *product, int b_data)
tpia_target_heated * tpia_target_heated_create(statusMessageReporting *smr)
int tpia_angular_SampleMu(statusMessageReporting *smr, tpia_angular *angular, tpia_decaySamplingInfo *decaySamplingInfo)
Definition: tpia_angular.cc:87
int tpia_angular_release(statusMessageReporting *smr, tpia_angular *angular)
Definition: tpia_angular.cc:60
DLL_LEND const char * tpia_productGenre_twoBody_formFactor
Definition: tpia_target.h:103
int tpia_target_heated_sampleIndexChannelProductsAtE(statusMessageReporting *smr, tpia_target_heated *target, int index, tpia_decaySamplingInfo *decaySamplingInfo, int nProductData, tpia_productOutgoingData *productData)
int tpia_angular_initialize(statusMessageReporting *smr, tpia_angular *angular)
Definition: tpia_angular.cc:49
xData_Int tpia_target_heated_getEnergyGrid(statusMessageReporting *smr, tpia_target_heated *target, double **energyGrid)
double tpia_target_getTotalCrossSectionAtTAndE(statusMessageReporting *smr, tpia_target *target, double T, xData_Int iEg, double e_in, int crossSectionType)
Definition: tpia_target.cc:357
int tpia_target_heated_initialize(statusMessageReporting *smr, tpia_target_heated *target)
DLL_LEND const char * tpia_productGenre_NBody_angular_energy
Definition: tpia_target.h:104
int tpia_product_sampleMultiplicity(statusMessageReporting *smr, tpia_product *product, double e_in, double r)
tpia_1dData * tpia_target_getTotalCrossSectionAtTIndex(statusMessageReporting *smr, tpia_target *target, int index, int crossSectionType)
Definition: tpia_target.cc:341
tpia_target * tpia_target_createReadFromMap(statusMessageReporting *smr, tpia_map *map, const char *evaluation, const char *projectileName, const char *targetName)
Definition: tpia_target.cc:93
int tpia_channel_initialize(statusMessageReporting *smr, tpia_channel *channel)
Definition: tpia_channel.cc:63
int xData_Int
Definition: xData.h:50