Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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, beck6@llnl.gov.
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 
53 typedef struct tpia_target_s tpia_target;
55 typedef struct tpia_target_heated_sorted_s tpia_target_heated_sorted;
70 typedef struct tpia_1dData_s tpia_1dData;
71 typedef 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 
127  int ordinal;
128  int Z, A, m;
129  double mass;
130  double fullMass_MeV;
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 
192  int iValue;
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;
258  int QIsFloat;
259  double Q;
265 };
266 
268  int ordinal;
269  char *path; /* Partial path of input file. */
270  char *absPath; /* Full absolute path of input file. */
273  int nGroups;
275  double *energyGrid;
279  char *contents;
280  int nChannels, nProductionChannels;
283  double *kerma;
284 };
285 
287  int ordinal;
288  double temperature;
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 */
312 tpia_target *tpia_target_createRead( statusMessageReporting *smr, const char *fileName );
313 int tpia_target_readFromMap( statusMessageReporting *smr, tpia_target *target, tpia_map *map, const char *evaluation, const char *projectileName,
314  const char *targetName );
315 tpia_target *tpia_target_createReadFromMap( statusMessageReporting *smr, tpia_map *map, const char *evaluation, const char *projectileName,
316  const char *targetName );
319 int tpia_target_read( statusMessageReporting *smr, tpia_target *target, const char *fileName );
321 int tpia_target_getTemperatures( statusMessageReporting *smr, tpia_target *target, double *temperatures );
322 int tpia_target_readHeatedTarget( statusMessageReporting *smr, tpia_target *target, int index, int checkElememtsForAccess );
329  int crossSectionType );
330 double 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 */
340 tpia_target_heated *tpia_target_heated_createRead( statusMessageReporting *smr, const char *fileName, int checkElememtsForAccess );
343 int 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 );
373 double 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 );
395 int tpia_product_getFromElement( statusMessageReporting *smr, tpia_channel *channel, tpia_product *parentProduct, xData_element *productElement,
396  tpia_product *product );
398  tpia_product **priorProductNext );
404 int tpia_product_isDataPresent( statusMessageReporting *smr, tpia_product *product, int b_data );
405 int 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 */
418 int tpia_kinetics_2BodyReaction( statusMessageReporting *smr, tpia_decayChannel *decayChannel, double K, double mu, double phi,
419  tpia_productOutgoingData *outgoingData );
420 int 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 */
427 int tpia_frame_setFromElement( statusMessageReporting *smr, xData_element *element, int dimension, tpia_data_frame *frame );
428 int tpia_frame_setFromString( statusMessageReporting *smr, const char *forItem, const char *value, int dimension, tpia_data_frame *frame );
430 char *tpia_frame_toString( statusMessageReporting *smr, const char *fromItem, tpia_data_frame *frame );
431 int tpia_frame_setColumns( statusMessageReporting *smr, tpia_data_frame *frame, int nColumns, int *values );
432 int tpia_frame_setColumn( statusMessageReporting *smr, tpia_data_frame *frame, int column, int value );
433 int tpia_frame_getColumn( statusMessageReporting *smr, tpia_data_frame *frame, int column );
434 
435 /*
436 * Routines in tpia_multiplicity.c
437 */
443 int tpia_multiplicity_getFromElement( statusMessageReporting *smr, xData_element *multiplicityElement, tpia_multiplicity *multiplicity, int nGroups );
444 int 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 */
453 int tpia_angular_SampleMu( statusMessageReporting *smr, tpia_angular *angular, tpia_decaySamplingInfo *decaySamplingInfo );
454 
455 /*
456 * Routines in tpia_Legendre.c
457 */
460 int tpia_Legendre_getFromElement( statusMessageReporting *smr, xData_element *LegendreElement, tpia_Legendre *Legendre );
461 int tpia_Legendre_SampleEp( statusMessageReporting *smr, tpia_Legendre *Legendre, int sampleMu, tpia_decaySamplingInfo *decaySamplingInfo );
462 
463 /*
464 * Routines in tpia_angularEnergy.c
465 */
468 int 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 */
479 int tpia_misc_NumberOfZSymbols( void );
480 const char *tpia_misc_ZToSymbol( int iZ );
481 int tpia_misc_symbolToZ( const char *Z );
482 int tpia_miscNameToZAm( statusMessageReporting *smr, const char *name, int *Z, int *A, int *m );
483 char *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 );
485 double *tpia_misc_get2dx_y_data( statusMessageReporting *smr, xData_element *element, xData_Int *length );
486 double *tpia_misc_get2dxindex_y_data( statusMessageReporting *smr, xData_element *element, xData_Int *start, xData_Int *end, double *xValues );
489 double tpia_misc_getPointwiseCrossSectionAtE( statusMessageReporting *smr, tpia_1dData *crossSection, double *energyGrid, xData_Int index, double e_in );
490 double tpia_misc_drng( double (*rng)( void * ), void *rngState );
491 int 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. */
tpia_product * parentProduct
Definition: tpia_target.h:234
double tpia_target_getTotalCrossSectionAtTAndE(statusMessageReporting *smr, tpia_target *target, double T, xData_Int iEg, double e_in, int crossSectionType)
Definition: tpia_target.cc:357
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
Definition: tpia_target.h:271
DLL_LEND const char * tpia_productGenre_NBody_angular_energy
Definition: tpia_product.cc:60
tpia_target_heated_info ** readHeatedTargets
Definition: tpia_target.h:304
tpia_product * tpia_product_getProductByIndex(statusMessageReporting *smr, tpia_product *product, int index)
int tpia_angular_SampleMu(statusMessageReporting *smr, tpia_angular *angular, tpia_decaySamplingInfo *decaySamplingInfo)
Definition: tpia_angular.cc:87
tpia_EqualProbableBinSpectrum * energies
Definition: tpia_target.h:196
tpia_product * next
Definition: tpia_target.h:232
tpia_target * tpia_target_free(statusMessageReporting *smr, tpia_target *target)
Definition: tpia_target.cc:108
tpia_target_heated * tpia_target_getHeatedTargetAtIndex_ReadIfNeeded(statusMessageReporting *smr, tpia_target *target, int index)
Definition: tpia_target.cc:290
tpia_product * tpia_channel_getProductByIndex(statusMessageReporting *smr, tpia_channel *channel, int index)
int tpia_target_release(statusMessageReporting *smr, tpia_target *target)
Definition: tpia_target.cc:117
int tpia_Legendre_release(statusMessageReporting *smr, tpia_Legendre *Legendre)
tpia_product * tpia_product_getFirstProduct(tpia_product *product)
tpia_decayChannel decayChannel
Definition: tpia_target.h:264
tpia_data_frame frame
Definition: tpia_target.h:175
tpia_target_heated_info * heatedTargets
Definition: tpia_target.h:303
double tpia_misc_drng(double(*rng)(void *), void *rngState)
Definition: tpia_misc.cc:403
int tpia_misc_NumberOfZSymbols(void)
Definition: tpia_misc.cc:76
int tpia_product_initialize(statusMessageReporting *smr, tpia_product *product)
Definition: tpia_product.cc:83
xData_attributionList attributes
Definition: tpia_target.h:299
tpia_target_heated * target
Definition: tpia_target.h:251
const char * angular_equalProbableBinMethod
Definition: tpia_target.h:136
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)
Definition: tpia_channel.cc:92
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)
Definition: tpia_misc.cc:248
xData_Int energyGridLength
Definition: tpia_target.h:274
tpia_particle * productID
Definition: tpia_target.h:155
const XML_Char * name
tpia_decayChannel decayChannel
Definition: tpia_target.h:247
unsigned int frames
Definition: tpia_target.h:140
int tpia_target_numberOfProductionChannels(statusMessageReporting *smr, tpia_target *target)
Definition: tpia_target.cc:324
xData_Int tpia_target_getEnergyGridAtTIndex(statusMessageReporting *smr, tpia_target *target, int index, double **energyGrid)
Definition: tpia_target.cc:331
tpia_channel * tpia_channel_create(statusMessageReporting *smr)
Definition: tpia_channel.cc:50
tpia_channel ** productionChannels
Definition: tpia_target.h:282
int tpia_misc_sampleEqualProbableBin(statusMessageReporting *smr, tpia_decaySamplingInfo *decaySamplingInfo, double e_in, int nBins, tpia_EqualProbableBinSpectra *binned, double *value_)
Definition: tpia_misc.cc:420
DLL_LEND const char * tpia_productGenre_NBody_Legendre
Definition: tpia_product.cc:59
tpia_target * tpia_target_createRead(statusMessageReporting *smr, const char *fileName)
Definition: tpia_target.cc:70
char * tpia_target_getAttributesValue(statusMessageReporting *smr, tpia_target *target, char const *name)
Definition: tpia_target.cc:248
DLL_LEND const char * tpia_productGenre_NBody_pairProduction
Definition: tpia_product.cc:62
tpia_product * tpia_product_free(statusMessageReporting *smr, tpia_product *product)
tpia_target_heated * heatedTarget
Definition: tpia_target.h:291
const XML_Char * target
DLL_LEND const char * tpia_productGenre_twoBody_formFactor
Definition: tpia_product.cc:58
double tpia_channel_getCrossSectionAtE(statusMessageReporting *smr, tpia_channel *channel, xData_Int iEg, double e_in, int crossSectionType)
int tpia_particle_release(statusMessageReporting *smr, tpia_particle *particle)
tpia_product * products
Definition: tpia_target.h:211
xData_Int numberOfPointwise
Definition: tpia_target.h:177
tpia_1dData totalCrossSectionPointwise
Definition: tpia_target.h:276
int tpia_target_read(statusMessageReporting *smr, tpia_target *target, const char *fileName)
Definition: tpia_target.cc:143
tpia_particle * projectileID
Definition: tpia_target.h:297
tpia_product * tpia_channel_getFirstProduct(tpia_channel *channel)
tpia_data_frame frame
Definition: tpia_target.h:222
tpia_samplingMethods * samplingMethods
Definition: tpia_target.h:150
tpia_1dData grouped
Definition: tpia_target.h:178
xData_attributionList attributes
Definition: tpia_target.h:235
tpia_channel * tpia_target_heated_getChannelAtIndex(tpia_target_heated *target, int index)
struct tpia_target_heated_sorted_s tpia_target_heated_sorted
Definition: tpia_target.h:55
xData_Int tpia_target_heated_getEnergyGrid(statusMessageReporting *smr, tpia_target_heated *target, double **energyGrid)
double fullMass_MeV
Definition: tpia_target.h:130
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)
Definition: tpia_misc.cc:105
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
tpi_spectralID * spectralID
Definition: tpia_target.h:132
int tpia_frame_setFromElement(statusMessageReporting *smr, xData_element *element, int dimension, tpia_data_frame *frame)
Definition: tpia_frame.cc:62
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
Definition: tpia_product.cc:61
struct tpia_2dData_s tpia_2dData
Definition: tpia_target.h:71
tpia_1dData crossSectionGrouped
Definition: tpia_target.h:262
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)
Definition: tpia_product.cc:93
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)
Definition: tpia_misc.cc:83
tpia_particle * tpia_particle_free(statusMessageReporting *smr, tpia_particle *particle)
int tpia_target_readHeatedTarget(statusMessageReporting *smr, tpia_target *target, int index, int checkElememtsForAccess)
Definition: tpia_target.cc:266
tpia_EqualProbableBinSpectra binned
Definition: tpia_target.h:218
int tpia_Legendre_SampleEp(statusMessageReporting *smr, tpia_Legendre *Legendre, int sampleMu, tpia_decaySamplingInfo *decaySamplingInfo)
tpia_Legendre Legendre
Definition: tpia_target.h:245
int tpia_channel_initialize(statusMessageReporting *smr, tpia_channel *channel)
Definition: tpia_channel.cc:63
int tpia_misc_symbolToZ(const char *Z)
Definition: tpia_misc.cc:92
tpia_target_heated * baseHeatedTarget
Definition: tpia_target.h:302
int tpia_product_getDecayChannelFromElement(statusMessageReporting *smr, xData_element *parentElement, tpia_channel *channel, tpia_product *parentProduct, tpia_product **priorProductNext)
double * data
Definition: tpia_target.h:145
tpia_1dData totalCrossSectionGrouped
Definition: tpia_target.h:277
DLL_LEND const char * tpia_samplingMethods_constant
tpia_1dData depositionEnergyGrouped
Definition: tpia_target.h:240
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)
Definition: tpia_frame.cc:191
tpia_target * tpia_target_create(statusMessageReporting *smr)
Definition: tpia_target.cc:49
char * outputChannel
Definition: tpia_target.h:252
int tpia_multiplicity_release(statusMessageReporting *smr, tpia_multiplicity *multiplicity)
tpia_multiplicity * tpia_multiplicity_createGetFromElement(statusMessageReporting *smr, xData_element *multiplicityElement, int nGroups)
tpia_data_frame frame
Definition: tpia_target.h:152
int tpia_particle_freeInternalList(statusMessageReporting *smr)
tpia_channel * tpia_channel_free(statusMessageReporting *smr, tpia_channel *channel)
Definition: tpia_channel.cc:83
double tpia_misc_getPointwiseCrossSectionAtE(statusMessageReporting *smr, tpia_1dData *crossSection, double *energyGrid, xData_Int index, double e_in)
Definition: tpia_misc.cc:298
tpia_EqualProbableBinSpectra * ls
Definition: tpia_target.h:201
tpia_particle * tpia_particle_getInternalID(statusMessageReporting *smr, const char *const name)
tpia_data_frame frame
Definition: tpia_target.h:227
int tpia_channel_numberOfProducts(statusMessageReporting *smr, tpia_channel *channel)
int tpia_target_heated_numberOfProductionChannels(statusMessageReporting *smr, tpia_target_heated *target)
tpia_data_frame crossSectionFrame
Definition: tpia_target.h:260
int tpia_target_heated_release(statusMessageReporting *smr, tpia_target_heated *target)
char * tpia_frame_toString(statusMessageReporting *smr, const char *fromItem, tpia_data_frame *frame)
Definition: tpia_frame.cc:138
tpia_channel * tpia_channel_createGetFromElement(statusMessageReporting *smr, tpia_target_heated *target, xData_element *channelElement, int pointwiseRequired)
Definition: tpia_channel.cc:71
xData_attributionList attributes
Definition: tpia_target.h:278
tpia_1dData crossSectionPointwise
Definition: tpia_target.h:261
int tpia_angular_release(statusMessageReporting *smr, tpia_angular *angular)
Definition: tpia_angular.cc:60
xData_Int start
Definition: tpia_target.h:144
int tpia_angular_getFromElement(statusMessageReporting *smr, xData_element *angularElement, tpia_angular *angular)
Definition: tpia_angular.cc:70
int tpia_target_numberOfChannels(statusMessageReporting *smr, tpia_target *target)
Definition: tpia_target.cc:317
tpia_particle * prior
Definition: tpia_target.h:125
tpia_multiplicity * next
Definition: tpia_target.h:174
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
tpia_product * tpia_product_create(statusMessageReporting *smr)
Definition: tpia_product.cc:71
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)
tpia_data_frame frame
Definition: tpia_target.h:217
int tpia_misc_get2d_xShared_yHistogram_data_Grouped(statusMessageReporting *smr, xData_element *element, tpia_1dData *group)
Definition: tpia_misc.cc:289
tpia_channel ** channels
Definition: tpia_target.h:281
int tpia_product_numberOfProducts(statusMessageReporting *smr, tpia_product *product)
tpia_angularEnergy angularEnergy
Definition: tpia_target.h:246
tpia_target_heated * tpia_target_heated_create(statusMessageReporting *smr)
DLL_LEND const char * tpia_productGenre_unknown
Definition: tpia_product.cc:56
int tpia_frame_setColumns(statusMessageReporting *smr, tpia_data_frame *frame, int nColumns, int *values)
Definition: tpia_frame.cc:179
char * absPath
Definition: tpia_target.h:296
double tpia_target_heated_getTotalCrossSectionAtE(statusMessageReporting *smr, tpia_target_heated *target, xData_Int gE, double e_in, int crossSectionType)
tpia_particle * productID
Definition: tpia_target.h:165
tpia_target_heated * tpia_target_heated_createRead(statusMessageReporting *smr, const char *fileName, int checkElememtsForAccess)
int tpia_angular_initialize(statusMessageReporting *smr, tpia_angular *angular)
Definition: tpia_angular.cc:49
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)
Definition: tpia_target.cc:404
tpia_multiplicity * multiplicityVsEnergy
Definition: tpia_target.h:242
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)
Definition: tpia_target.cc:341
int xData_Int
Definition: xData.h:50
int tpia_angularEnergy_SampleEp(statusMessageReporting *smr, tpia_angularEnergy *angularEnergy, tpia_decaySamplingInfo *decaySamplingInfo)
int tpia_Legendre_getFromElement(statusMessageReporting *smr, xData_element *LegendreElement, tpia_Legendre *Legendre)
char const * genre
Definition: tpia_target.h:237
tpia_samplingMethods samplingMethods
Definition: tpia_target.h:300
tpia_decayChannel * decayChannel
Definition: tpia_target.h:170
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
Definition: tpia_target.h:243
tpia_channel * channel
Definition: tpia_target.h:233
int tpia_target_initialize(statusMessageReporting *smr, tpia_target *target)
Definition: tpia_target.cc:61
int tpia_samplingMethods_initialize(statusMessageReporting *smr, tpia_samplingMethods *samplingMethods)
int tpia_frame_getColumn(statusMessageReporting *smr, tpia_data_frame *frame, int column)
Definition: tpia_frame.cc:214
tpia_channel * tpia_target_heated_getProductionChannelAtIndex(tpia_target_heated *target, int index)
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
int tpia_target_heated_numberOfChannels(statusMessageReporting *smr, tpia_target_heated *target)
int tpia_Legendre_initialize(statusMessageReporting *smr, tpia_Legendre *Legendre)
int nReadHeatedTargets
Definition: tpia_target.h:301
double * tpia_misc_get2dx_y_data(statusMessageReporting *smr, xData_element *element, xData_Int *length)
Definition: tpia_misc.cc:228
tpia_particle * targetID
Definition: tpia_target.h:298
tpia_LegendreBin binned
Definition: tpia_target.h:223
int tpia_multiplicity_getTimeScaleFromElement(statusMessageReporting *smr, xData_element *element, const char **timeScale, int *isDelayedNeutrons, double *dTimeScale)
xData_attributionList attributes
Definition: tpia_target.h:254
int tpia_product_sampleMultiplicity(statusMessageReporting *smr, tpia_product *product, double e_in, double r)
#define DLL_LEND
Definition: tpia_defs.h:19
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
tpia_particle * next
Definition: tpia_target.h:126
int tpia_target_getTemperatures(statusMessageReporting *smr, tpia_target *target, double *temperatures)
Definition: tpia_target.cc:256
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)
Definition: tpia_target.cc:93
tpia_1dData availableEnergyGrouped
Definition: tpia_target.h:263
int tpia_frame_getDimensions(statusMessageReporting *smr, tpia_data_frame *frame)
Definition: tpia_frame.cc:122
int tpia_frame_setFromString(statusMessageReporting *smr, const char *forItem, const char *value, int dimension, tpia_data_frame *frame)
Definition: tpia_frame.cc:75
tpia_particle * productID
Definition: tpia_target.h:236
DLL_LEND const char * tpia_productGenre_twoBody_angular
Definition: tpia_product.cc:57
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
Definition: tpia_target.h:206
int tpia_kinetics_COMKineticEnergy2LabEnergyAndMomentum(statusMessageReporting *smr, double beta, double e_kinetic_com, double mu, double phi, double m3cc, double m4cc, tpia_productOutgoingData *outgoingData)
tpia_particle * targetID
Definition: tpia_target.h:272
tpia_product * tpia_decayChannel_getNextProduct(tpia_product *product)
tpia_angular angular
Definition: tpia_target.h:244
tpia_angularEnergyBin binned
Definition: tpia_target.h:228
int tpia_frame_clear(statusMessageReporting *smr, tpia_data_frame *frame)
Definition: tpia_frame.cc:54