Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/lend/include/MCGIDI.h

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/hadronic/models/lend/include/MCGIDI.h (Version 11.3.0) and /processes/hadronic/models/lend/include/MCGIDI.h (Version 9.2)


  1 /*                                                  1 
  2 # <<BEGIN-copyright>>                             
  3 # <<END-copyright>>                               
  4 */                                                
  5 #ifndef MCGIDI_h_included                         
  6 #define MCGIDI_h_included                         
  7                                                   
  8 #define MCGIDI_VERSION_MAJOR 1                    
  9 #define MCGIDI_VERSION_MINOR 0                    
 10 #define MCGIDI_VERSION_PATCHLEVEL 0               
 11                                                   
 12 #include <GIDI_settings.hh>                       
 13 #include <map>                                    
 14 #include <vector>                                 
 15                                                   
 16 #include <statusMessageReporting.h>               
 17 #include <ptwXY.h>                                
 18 #include <xDataTOM.h>                             
 19                                                   
 20 #include "MCGIDI_mass.h"                          
 21 #include "MCGIDI_map.h"                           
 22                                                   
 23 /* Disable Effective C++ warnings in GIDI code    
 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 )                   
 30 #endif                                            
 31                                                   
 32 #if defined __cplusplus                           
 33     extern "C" {                                  
 34     namespace GIDI {                              
 35 #endif                                            
 36                                                   
 37 typedef struct MCGIDI_GammaBranching_s MCGIDI_    
 38 typedef struct MCGIDI_POP_s MCGIDI_POP;           
 39 typedef struct MCGIDI_POPs_s MCGIDI_POPs;         
 40 typedef struct MCGIDI_particle_s MCGIDI_partic    
 41 typedef struct MCGIDI_target_s MCGIDI_target;     
 42 typedef struct MCGIDI_target_heated_info_s MCG    
 43 typedef struct MCGIDI_target_heated_sorted_s M    
 44 typedef struct MCGIDI_target_heated_s MCGIDI_t    
 45 typedef struct MCGIDI_reaction_s MCGIDI_reacti    
 46 typedef struct MCGIDI_outputChannel_s MCGIDI_o    
 47 typedef struct MCGIDI_product_s MCGIDI_product    
 48 typedef struct MCGIDI_distribution_s MCGIDI_di    
 49 typedef struct MCGIDI_KalbachMann_s MCGIDI_Kal    
 50 typedef struct MCGIDI_KalbachMann_ras_s MCGIDI    
 51 typedef struct MCGIDI_pdfOfX_s MCGIDI_pdfOfX;     
 52 typedef struct MCGIDI_pdfsOfXGivenW_s MCGIDI_p    
 53 typedef struct MCGIDI_pdfsOfXGivenW_sampled_s     
 54 typedef struct MCGIDI_angular_s MCGIDI_angular    
 55 typedef struct MCGIDI_energyWeightedFunctional    
 56 typedef struct MCGIDI_energyWeightedFunctional    
 57 typedef struct MCGIDI_energyNBodyPhaseSpace_s     
 58 typedef struct MCGIDI_energy_s MCGIDI_energy;     
 59 typedef struct MCGIDI_energyAngular_s MCGIDI_e    
 60 typedef struct MCGIDI_angularEnergy_s MCGIDI_a    
 61                                                   
 62 typedef struct MCGIDI_decaySamplingInfo_s MCGI    
 63 typedef struct MCGIDI_productsInfo_s MCGIDI_pr    
 64 typedef struct MCGIDI_productInfo_s MCGIDI_pro    
 65 typedef struct MCGIDI_sampledProductsData_s MC    
 66 typedef struct MCGIDI_sampledProductsDatas_s M    
 67                                                   
 68 #if defined __cplusplus                           
 69     }                                             
 70     }                                             
 71 #endif                                            
 72                                                   
 73 enum MCGIDI_quantityLookupMode {                  
 74     MCGIDI_quantityLookupMode_pointwise     /*    
 75     MCGIDI_quantityLookupMode_grouped       /*    
 76 };                                                
 77                                                   
 78 class MCGIDI_quantitiesLookupModes {              
 79                                                   
 80     private:                                      
 81         int mProjectilesPOPID;                    
 82         double mProjectileEnergy;                 
 83         int mGroupIndex;                          
 84         double mProjectileEnergyForGroupIndex;    
 85         double mTemperature;                      
 86         enum MCGIDI_quantityLookupMode mCrossS    
 87         enum MCGIDI_quantityLookupMode mMultip    
 88                                                   
 89     public:                                       
 90         MCGIDI_quantitiesLookupModes( int proj    
 91         ~MCGIDI_quantitiesLookupModes( );         
 92                                                   
 93         inline double getProjectileEnergy( voi    
 94         void setProjectileEnergy( double e_in     
 95                                                   
 96         inline int getGroupIndex( void ) const    
 97         int setGroupIndex( GIDI_settings const    
 98                                                   
 99         inline double getTemperature( void ) c    
100         void setTemperature( double temperatur    
101                                                   
102         enum MCGIDI_quantityLookupMode getMode    
103         enum MCGIDI_quantityLookupMode getCros    
104         std::vector<std::string> getListOfLook    
105         void setMode( std::string const &quant    
106         void setCrossSectionMode( enum MCGIDI_    
107         void setModeAll( enum MCGIDI_quantityL    
108 };                                                
109                                                   
110 typedef struct MCGIDI_samplingMultiplicityBias    
111                                                   
112 struct MCGIDI_samplingMultiplicityBias_s {        
113     int PoPID;                                    
114     double multiplicityFactor;                    
115 };                                                
116                                                   
117 class MCGIDI_samplingMethods {                    
118                                                   
119     public:                                       
120         MCGIDI_samplingMethods( );                
121         ~MCGIDI_samplingMethods( );               
122 };                                                
123                                                   
124 class MCGIDI_samplingSettings {                   
125                                                   
126     private:                    // This is use    
127         enum GIDI::xDataTOM_frame mWantFrame;     
128         bool mWantVelocities;                     
129         double (*mRng)( void * );                 
130         void *mRngState;                          
131         std::vector<struct MCGIDI_samplingMult    
132                                                   
133     public:                     // Temporary v    
134         enum GIDI::xDataTOM_frame mGotFrame;      
135         GIDI::MCGIDI_POP *mPoP;                   
136         double mMu;                               
137         double mEp;                               
138                                                   
139     public:                                       
140         MCGIDI_samplingSettings( enum GIDI::xD    
141         ~MCGIDI_samplingSettings( );              
142                                                   
143         inline double getProductMultiplicityBi    
144                 for( int i1 = 0; i1 < (int) mS    
145                     if( PoPID == mSamplingMult    
146                 }                                 
147                 return( 1. ); }                   
148         int setProductMultiplicityBias( GIDI::    
149 };                                                
150                                                   
151 #if defined __cplusplus                           
152     extern "C" {                                  
153     namespace GIDI {                              
154 #endif                                            
155                                                   
156 enum MCGIDI_transportability {                    
157     MCGIDI_transportability_unknown,              
158     MCGIDI_transportability_none,                 
159     MCGIDI_transportability_partial,              
160     MCGIDI_transportability_full };               
161                                                   
162 #if defined __cplusplus                           
163     }                                             
164     }                                             
165 #endif                                            
166                                                   
167 typedef std::map<int, enum GIDI::MCGIDI_transp    
168                                                   
169 #if defined __cplusplus                           
170     extern "C" {                                  
171     namespace GIDI {                              
172 #endif                                            
173                                                   
174 #define MCGIDI_crossSectionType_grouped 1         
175 #define MCGIDI_crossSectionType_pointwise 2       
176                                                   
177 #define MCGIDI_nullReaction -10001                
178                                                   
179 #define MCGIDI_speedOfLight_cm_sec 2.99792458e    
180 #define MCGIDI_AMU2MeV 931.494028                 
181                                                   
182 enum MCGIDI_reactionType {                        
183     MCGIDI_reactionType_unknown_e,                
184     MCGIDI_reactionType_null_e,                   
185     MCGIDI_reactionType_elastic_e,                
186     MCGIDI_reactionType_scattering_e,             
187                                                   
188                                                   
189     MCGIDI_reactionType_nuclearIsomerTransmuta    
190     MCGIDI_reactionType_nuclearLevelTransition    
191                                                   
192     MCGIDI_reactionType_capture_e,                
193     MCGIDI_reactionType_fission_e,                
194     MCGIDI_reactionType_sumOfRemainingOutputCh    
195     MCGIDI_reactionType_atomic_e                  
196 };                                                
197                                                   
198 enum MCGIDI_channelGenre { MCGIDI_channelGenre    
199     MCGIDI_channelGenre_sumOfRemaining_e, MCGI    
200                                                   
201 enum MCGIDI_productMultiplicityType { MCGIDI_p    
202     MCGIDI_productMultiplicityType_energyDepen    
203                                                   
204 enum MCGIDI_distributionType { MCGIDI_distribu    
205     MCGIDI_distributionType_KalbachMann_e, MCG    
206     MCGIDI_distributionType_angularEnergy_e };    
207                                                   
208 enum MCGIDI_angularType { MCGIDI_angularType_i    
209                                                   
210 enum MCGIDI_energyType { MCGIDI_energyType_unk    
211     MCGIDI_energyType_linear, MCGIDI_energyTyp    
212         MCGIDI_energyType_Watt, MCGIDI_energyT    
213                                                   
214 extern const char *MCGIDI_productGenre_unknown    
215     *MCGIDI_productGenre_NBody_angular_energy,    
216                                                   
217 #define MCGIDI_particleLevel_continuum -1         
218 #define MCGIDI_particleLevel_sum -2               
219                                                   
220 struct MCGIDI_GammaBranching_s {                  
221     MCGIDI_POP *finalLevel;                       
222     double probability;                           
223 };                                                
224                                                   
225 struct MCGIDI_POP_s {                             
226     MCGIDI_POP *next;                             
227     MCGIDI_POP *parent;                           
228     char *name;                                   
229     int globalPoPsIndex;        /* Index of pa    
230     int Z, A, level, m;         /* this librar    
231     double mass_MeV;                              
232     double level_MeV;                             
233     int numberOfGammaBranchs;                     
234     MCGIDI_GammaBranching *gammas;                
235 };                                                
236                                                   
237 struct MCGIDI_POPs_s {                            
238     int numberOfPOPs, size, increment;            
239     MCGIDI_POP *first, *last, **sorted;           
240 };                                                
241                                                   
242 struct MCGIDI_particle_s {                        
243     MCGIDI_particle *prior;                       
244     MCGIDI_particle *next;                        
245     int ordinal;                                  
246     int Z, A, m;                                  
247     double mass_MeV;                              
248     char *name;                                   
249 };                                                
250                                                   
251 struct MCGIDI_decaySamplingInfo_s {               
252     enum xDataTOM_frame frame;                    
253     int isVelocity;                               
254     double (*rng)( void * );                      
255     void *rngState;                               
256     MCGIDI_POP *pop;                              
257     double mu;                                    
258     double Ep;                                    
259 };                                                
260                                                   
261 struct MCGIDI_productInfo_s {                     
262     int globalPoPsIndex;                          
263     enum MCGIDI_productMultiplicityType produc    
264     int multiplicity;                             
265     int transportable;                            
266 };                                                
267                                                   
268 struct MCGIDI_productsInfo_s {                    
269     int numberOfProducts;                         
270     int numberOfAllocatedProducts;                
271     MCGIDI_productInfo *productInfo;              
272 };                                                
273                                                   
274 struct MCGIDI_sampledProductsData_s {             
275     int isVelocity;             /* If true, px    
276     MCGIDI_POP *pop;                              
277     double kineticEnergy;                         
278     double px_vx;                                 
279     double py_vy;                                 
280     double pz_vz;                                 
281     int delayedNeutronIndex;                      
282     double delayedNeutronRate;                    
283     double birthTimeSec;        /* Some produc    
284 };                                                
285                                                   
286 struct MCGIDI_sampledProductsDatas_s {            
287     int numberOfProducts;                         
288     int numberAllocated;                          
289     int incrementSize;                            
290     MCGIDI_sampledProductsData *products;         
291 };                                                
292                                                   
293 struct MCGIDI_pdfOfX_s {                          
294     int numberOfXs;                               
295     double *Xs;                                   
296     double *pdf;                                  
297     double *cdf;                                  
298 };                                                
299                                                   
300 struct MCGIDI_pdfsOfXGivenW_s {                   
301     int numberOfWs;                               
302     ptwXY_interpolation interpolationWY, inter    
303     double *Ws;                                   
304     MCGIDI_pdfOfX *dist;                          
305 };                                                
306                                                   
307 struct MCGIDI_pdfsOfXGivenW_sampled_s {           
308     statusMessageReporting *smr;                  
309     ptwXY_interpolation interpolationWY, inter    
310     int iW, iX1, iX2;                             
311     double x, w, frac;                            
312 };                                                
313                                                   
314 struct MCGIDI_angular_s {                         
315     enum xDataTOM_frame frame;                    
316     enum MCGIDI_angularType type;                 
317     MCGIDI_angular *recoilProduct;                
318     MCGIDI_pdfsOfXGivenW dists;                   
319     double projectileMass_MeV, targetMass_MeV,    
320 };                                                
321                                                   
322 struct MCGIDI_energyWeightedFunctional_s {        
323     ptwXYPoints *weight;                          
324     MCGIDI_energy *energy;                        
325 };                                                
326                                                   
327 struct MCGIDI_energyWeightedFunctionals_s {       
328     int numberOfWeights;                          
329     MCGIDI_energyWeightedFunctional weightedFu    
330 };                                                
331                                                   
332 struct MCGIDI_energyNBodyPhaseSpace_s {           
333     int numberOfProducts;                         
334     double mass, massFactor, e_inCOMFactor, Q_    
335 };                                                
336                                                   
337 struct MCGIDI_energy_s {                          
338     enum xDataTOM_frame frame;                    
339     enum MCGIDI_energyType type;                  
340     double gammaEnergy_MeV;                       
341     double primaryGammaMassFactor;                
342     double e_inCOMFactor;                         
343     MCGIDI_pdfsOfXGivenW dists;                   
344     double U;                                     
345     ptwXYPoints *theta, *Watt_a, *Watt_b;         
346     ptwXY_interpolation gInterpolation;           
347     MCGIDI_pdfOfX g;                              
348     MCGIDI_energyWeightedFunctionals weightedF    
349     MCGIDI_energyNBodyPhaseSpace NBodyPhaseSpa    
350 };                                                
351                                                   
352 struct MCGIDI_energyAngular_s {                   
353     enum xDataTOM_frame frame;                    
354     MCGIDI_pdfsOfXGivenW pdfOfEpGivenE;           
355     MCGIDI_pdfsOfXGivenW *pdfOfMuGivenEAndEp;     
356 };                                                
357                                                   
358 struct MCGIDI_angularEnergy_s {                   
359     enum xDataTOM_frame frame;                    
360     MCGIDI_pdfsOfXGivenW pdfOfMuGivenE;           
361     MCGIDI_pdfsOfXGivenW *pdfOfEpGivenEAndMu;     
362 };                                                
363                                                   
364 struct MCGIDI_KalbachMann_ras_s {                 
365     double *rs;                                   
366     double *as;                                   
367 };                                                
368                                                   
369 struct MCGIDI_KalbachMann_s {                     
370     enum xDataTOM_frame frame;                    
371     double energyToMeVFactor, massFactor, Sa,     
372     MCGIDI_pdfsOfXGivenW dists;                   
373     MCGIDI_KalbachMann_ras *ras;                  
374 };                                                
375                                                   
376 struct MCGIDI_distribution_s {                    
377     MCGIDI_product *product;                      
378     enum MCGIDI_distributionType type;            
379     MCGIDI_angular *angular;                /*    
380     MCGIDI_energy *energy;                        
381     MCGIDI_energyAngular *energyAngular;          
382     MCGIDI_angularEnergy *angularEnergy;          
383     MCGIDI_KalbachMann *KalbachMann;              
384 };                                                
385                                                   
386 struct MCGIDI_outputChannel_s {                   
387     enum MCGIDI_channelGenre genre;               
388     MCGIDI_reaction *reaction;              /*    
389     MCGIDI_product *parent;                 /*    
390     int QIsFloat;                                 
391     double Q;                                     
392     int numberOfProducts;                         
393     MCGIDI_product *products;                     
394 };                                                
395                                                   
396 struct MCGIDI_product_s {                         
397     MCGIDI_POP *pop;                              
398     char *label;                                  
399     MCGIDI_outputChannel *outputChannel;          
400     int multiplicity;                             
401     int delayedNeutronIndex;                      
402     double delayedNeutronRate;                    
403     ptwXYPoints *multiplicityVsEnergy;            
404     ptwXYPoints *norms;                           
405     int numberOfPiecewiseMultiplicities;          
406     ptwXYPoints **piecewiseMultiplicities;        
407     MCGIDI_distribution distribution;             
408     MCGIDI_outputChannel decayChannel;            
409 };                                                
410                                                   
411 struct MCGIDI_reaction_s {                        
412     MCGIDI_target_heated *target;                 
413     int ENDF_MT, ENDL_C, ENDL_S;                  
414     enum MCGIDI_reactionType reactionType;        
415     char const *outputChannelStr;                 
416     xDataTOM_attributionList attributes;          
417     int domainValuesPresent;                      
418     int thresholdGroupIndex;                      
419     double thresholdGroupDomain;                  
420     double thresholdGroupedDeltaCrossSection;     
421     double EMin, EMax, finalQ;                    
422     ptwXYPoints *crossSection;                    
423     ptwXPoints *crossSectionGrouped;              
424     MCGIDI_outputChannel outputChannel;           
425     MCGIDI_productsInfo productsInfo;             
426     transportabilitiesMap *transportabilities;    
427 };                                                
428                                                   
429 struct MCGIDI_target_heated_s {                   
430     int ordinal;                                  
431     char *path;            /* Partial path of     
432     char *absPath;         /* Full absolute pa    
433     MCGIDI_POPs pops;                             
434     MCGIDI_POP *projectilePOP;                    
435     MCGIDI_POP *targetPOP;                        
436     xDataTOM_attributionList attributes;          
437     char *contents;                               
438     double temperature_MeV;                       
439     double EMin, EMax;                            
440     ptwXYPoints *crossSection;                    
441     ptwXPoints *crossSectionGrouped;              
442     ptwXPoints *crossSectionGroupedForSampling    
443     int numberOfReactions;                        
444     MCGIDI_reaction *reactions;                   
445     transportabilitiesMap *transportabilities;    
446 };                                                
447                                                   
448 struct MCGIDI_target_heated_info_s {              
449     int ordinal;                                  
450     double temperature;                           
451     char *path;                 /* Full path o    
452     char *contents;                               
453     MCGIDI_target_heated *heatedTarget;           
454 };                                                
455                                                   
456 struct MCGIDI_target_s {                          
457     char *path;                 /* Full path o    
458     char *absPath;              /* Full absolu    
459     MCGIDI_POP *projectilePOP;                    
460     MCGIDI_POP *targetPOP;                        
461     xDataTOM_attributionList attributes;          
462     int nHeatedTargets, nReadHeatedTargets;       
463     MCGIDI_target_heated *baseHeatedTarget;       
464     MCGIDI_target_heated_info *heatedTargets;     
465     MCGIDI_target_heated_info **readHeatedTarg    
466 };                                                
467                                                   
468 char const *MCGIDI_version( void );               
469 int MCGIDI_versionMajor( void );                  
470 int MCGIDI_versionMinor( void );                  
471 int MCGIDI_versionPatchLevel( void );             
472                                                   
473 /*                                                
474 * Routines in MCGIDI_target.c                     
475 */                                                
476 MCGIDI_target *MCGIDI_target_new( statusMessag    
477 int MCGIDI_target_initialize( statusMessageRep    
478 MCGIDI_target *MCGIDI_target_newRead( statusMe    
479 int MCGIDI_target_readFromMapViaPoPIDs( status    
480         int projectile_PoPID, int target_PoPID    
481 int MCGIDI_target_readFromMap( statusMessageRe    
482     const char *targetName );                     
483 MCGIDI_target *MCGIDI_target_newReadFromMapVia    
484         int projectile_PoPID, int target_PoPID    
485 MCGIDI_target *MCGIDI_target_newReadFromMap( s    
486     const char *targetName );                     
487 MCGIDI_target *MCGIDI_target_free( statusMessa    
488 int MCGIDI_target_release( statusMessageReport    
489 int MCGIDI_target_read( statusMessageReporting    
490 char const *MCGIDI_target_getAttributesValue(     
491 int MCGIDI_target_getTemperatures( statusMessa    
492 int MCGIDI_target_readHeatedTarget( statusMess    
493 MCGIDI_target_heated *MCGIDI_target_getHeatedT    
494 MCGIDI_target_heated *MCGIDI_target_getHeatedT    
495                                                   
496 int MCGIDI_target_numberOfReactions( statusMes    
497 enum MCGIDI_reactionType MCGIDI_target_getReac    
498 MCGIDI_reaction *MCGIDI_target_getReactionAtIn    
499 MCGIDI_reaction *MCGIDI_target_getReactionAtIn    
500 int MCGIDI_target_numberOfProductionReactions(    
501                                                   
502 transportabilitiesMap const *MCGIDI_target_get    
503 int MCGIDI_target_recast( statusMessageReporti    
504                                                   
505 int MCGIDI_target_getDomain( statusMessageRepo    
506 double MCGIDI_target_getTotalCrossSectionAtTAn    
507         bool sampling );                          
508 double MCGIDI_target_getIndexReactionCrossSect    
509         bool sampling );                          
510 int MCGIDI_target_sampleReaction( statusMessag    
511         double (*userrng)( void * ), void *rng    
512 int MCGIDI_target_sampleNullReactionProductsAt    
513     MCGIDI_quantitiesLookupModes &modes, MCGID    
514 int MCGIDI_target_sampleIndexReactionProductsA    
515         MCGIDI_quantitiesLookupModes &modes, M    
516 double MCGIDI_target_getIndexReactionFinalQ( s    
517                                                   
518 /*                                                
519 * Routines in MCGIDI_target_heated.c              
520 */                                                
521 MCGIDI_target_heated *MCGIDI_target_heated_new    
522 int MCGIDI_target_heated_initialize( statusMes    
523 MCGIDI_target_heated *MCGIDI_target_heated_new    
524 MCGIDI_target_heated *MCGIDI_target_heated_fre    
525 int MCGIDI_target_heated_release( statusMessag    
526 int MCGIDI_target_heated_read( statusMessageRe    
527 int MCGIDI_target_heated_numberOfReactions( st    
528 int MCGIDI_target_heated_numberOfProductionRea    
529 MCGIDI_reaction *MCGIDI_target_heated_getReact    
530 MCGIDI_reaction *MCGIDI_target_heated_getReact    
531 #if 0                                             
532 MCGIDI_reaction *MCGIDI_target_heated_getProdu    
533 #endif                                            
534 MCGIDI_POP *MCGIDI_target_heated_getPOPForProj    
535 MCGIDI_POP *MCGIDI_target_heated_getPOPForTarg    
536 double MCGIDI_target_heated_getProjectileMass_    
537 double MCGIDI_target_heated_getTargetMass_MeV(    
538 int MCGIDI_target_heated_getEnergyGrid( status    
539 double MCGIDI_target_heated_getTotalCrossSecti    
540         bool sampling );                          
541 double MCGIDI_target_heated_getIndexReactionCr    
542         MCGIDI_quantitiesLookupModes &modes, b    
543 int MCGIDI_target_heated_sampleIndexReactionPr    
544         MCGIDI_quantitiesLookupModes &modes, M    
545 double MCGIDI_target_heated_getReactionsThresh    
546 int MCGIDI_target_heated_getReactionsDomain( s    
547 double MCGIDI_target_heated_getIndexReactionFi    
548         MCGIDI_quantitiesLookupModes &modes );    
549                                                   
550 transportabilitiesMap const *MCGIDI_target_hea    
551 int MCGIDI_target_heated_recast( statusMessage    
552                                                   
553 /*                                                
554 * Routines in MCGIDI_reaction.c                   
555 */                                                
556 MCGIDI_reaction *MCGIDI_reaction_new( statusMe    
557 int MCGIDI_reaction_initialize( statusMessageR    
558 MCGIDI_reaction *MCGIDI_reaction_free( statusM    
559 int MCGIDI_reaction_release( statusMessageRepo    
560 int MCGIDI_reaction_parseFromTOM( statusMessag    
561     MCGIDI_POPs *pops, MCGIDI_reaction *reacti    
562 enum MCGIDI_reactionType MCGIDI_reaction_getRe    
563 MCGIDI_target_heated *MCGIDI_reaction_getTarge    
564 double MCGIDI_reaction_getProjectileMass_MeV(     
565 double MCGIDI_reaction_getTargetMass_MeV( stat    
566 int MCGIDI_reaction_getDomain( statusMessageRe    
567 int MCGIDI_reaction_fixDomains( statusMessageR    
568 double MCGIDI_reaction_getCrossSectionAtE( sta    
569 double MCGIDI_reaction_getFinalQ( statusMessag    
570 int MCGIDI_reaction_getENDF_MTNumber( MCGIDI_r    
571 int MCGIDI_reaction_getENDL_CSNumbers( MCGIDI_    
572 int MCGIDI_reaction_recast( statusMessageRepor    
573     GIDI_settings_particle const *projectileSe    
574                                                   
575 MCGIDI_productsInfo *MCGIDI_reaction_getProduc    
576 int MCGIDI_productsInfo_getNumberOfUniqueProdu    
577 int MCGIDI_productsInfo_getPoPsIndexAtIndex( M    
578 enum MCGIDI_productMultiplicityType MCGIDI_pro    
579 int MCGIDI_productsInfo_getIntegerMultiplicity    
580 int MCGIDI_productsInfo_getTransportableAtInde    
581                                                   
582 /*                                                
583 * Routines in MCGIDI_pop.c                        
584 */                                                
585 MCGIDI_POPs *MCGIDI_POPs_new( statusMessageRep    
586 int MCGIDI_POPs_initial( statusMessageReportin    
587 void *MCGIDI_POPs_free( MCGIDI_POPs *pops );      
588 int MCGIDI_POPs_release( MCGIDI_POPs *pops );     
589 MCGIDI_POP *MCGIDI_POPs_addParticleIfNeeded( s    
590     double level_MeV, MCGIDI_POP *parent, int     
591 int MCGIDI_POPs_findParticleIndex( MCGIDI_POPs    
592 MCGIDI_POP *MCGIDI_POPs_findParticle( MCGIDI_P    
593 void MCGIDI_POPs_writeSortedList( MCGIDI_POPs     
594 void MCGIDI_POPs_printSortedList( MCGIDI_POPs     
595                                                   
596 MCGIDI_POP *MCGIDI_POP_new( statusMessageRepor    
597 MCGIDI_POP *MCGIDI_POP_free( MCGIDI_POP *pop )    
598 MCGIDI_POP *MCGIDI_POP_release( MCGIDI_POP *po    
599 double MCGIDI_POP_getMass_MeV( MCGIDI_POP *pop    
600                                                   
601 /*                                                
602 * Routines in MCGIDI_particle.c                   
603 */                                                
604 MCGIDI_particle *MCGIDI_particle_new( statusMe    
605 int MCGIDI_particle_initialize( statusMessageR    
606 MCGIDI_particle *MCGIDI_particle_free( statusM    
607 int MCGIDI_particle_release( statusMessageRepo    
608 int MCGIDI_particle_freeInternalList( statusMe    
609 MCGIDI_particle *MCGIDI_particle_getInternalID    
610 int MCGIDI_particle_printInternalSortedList( s    
611                                                   
612 /*                                                
613 * Routines in MCGIDI_outputChannel.c              
614 */                                                
615 MCGIDI_outputChannel *MCGIDI_outputChannel_new    
616 int MCGIDI_outputChannel_initialize( statusMes    
617 MCGIDI_outputChannel *MCGIDI_outputChannel_fre    
618 int MCGIDI_outputChannel_release( statusMessag    
619 int MCGIDI_outputChannel_parseFromTOM( statusM    
620     MCGIDI_reaction *reaction, MCGIDI_product     
621 int MCGIDI_outputChannel_numberOfProducts( MCG    
622 MCGIDI_product *MCGIDI_outputChannel_getProduc    
623 int MCGIDI_outputChannel_getDomain( statusMess    
624 MCGIDI_target_heated *MCGIDI_outputChannel_get    
625 double MCGIDI_outputChannel_getProjectileMass_    
626 double MCGIDI_outputChannel_getTargetMass_MeV(    
627 double MCGIDI_outputChannel_getQ_MeV( statusMe    
628 double MCGIDI_outputChannel_getFinalQ( statusM    
629 int MCGIDI_outputChannel_sampleProductsAtE( st    
630     MCGIDI_decaySamplingInfo *decaySamplingInf    
631                                                   
632 /*                                                
633 * Routines in MCGIDI_product.c                    
634 */                                                
635 MCGIDI_product *MCGIDI_product_new( statusMess    
636 int MCGIDI_product_initialize( statusMessageRe    
637 MCGIDI_product *MCGIDI_product_free( statusMes    
638 int MCGIDI_product_release( statusMessageRepor    
639 int MCGIDI_product_parseFromTOM( statusMessage    
640         MCGIDI_POPs *pops, MCGIDI_product *pro    
641 int MCGIDI_product_getDomain( statusMessageRep    
642 int MCGIDI_product_setTwoBodyMasses( statusMes    
643     double productMass_MeV, double residualMas    
644 double MCGIDI_product_getMass_MeV( statusMessa    
645 MCGIDI_target_heated *MCGIDI_product_getTarget    
646 double MCGIDI_product_getProjectileMass_MeV( s    
647 double MCGIDI_product_getTargetMass_MeV( statu    
648 int MCGIDI_product_sampleMultiplicity( statusM    
649 int MCGIDI_product_sampleMu( statusMessageRepo    
650     MCGIDI_decaySamplingInfo *decaySamplingInf    
651                                                   
652 int MCGIDI_sampledProducts_initialize( statusM    
653 int MCGIDI_sampledProducts_release( statusMess    
654 int MCGIDI_sampledProducts_remalloc( statusMes    
655 int MCGIDI_sampledProducts_addProduct( statusM    
656     MCGIDI_sampledProductsData *sampledProduct    
657 int MCGIDI_sampledProducts_number( MCGIDI_samp    
658 MCGIDI_sampledProductsData *MCGIDI_sampledProd    
659                                                   
660 /*                                                
661 * Routines in MCGIDI_distribution.c               
662 */                                                
663 MCGIDI_distribution *MCGIDI_distribution_new(     
664 int MCGIDI_distribution_initialize( statusMess    
665 MCGIDI_distribution *MCGIDI_distribution_free(    
666 int MCGIDI_distribution_release( statusMessage    
667 int MCGIDI_distribution_parseFromTOM( statusMe    
668                                                   
669 /*                                                
670 * Routines in MCGIDI_angular.c                    
671 */                                                
672 MCGIDI_angular *MCGIDI_angular_new( statusMess    
673 int MCGIDI_angular_initialize( statusMessageRe    
674 MCGIDI_angular *MCGIDI_angular_free( statusMes    
675 int MCGIDI_angular_release( statusMessageRepor    
676 int MCGIDI_angular_setTwoBodyMasses( statusMes    
677     double productMass_MeV, double residualMas    
678 int MCGIDI_angular_parseFromTOM( statusMessage    
679 int MCGIDI_angular_sampleMu( statusMessageRepo    
680     MCGIDI_decaySamplingInfo *decaySamplingInf    
681                                                   
682 /*                                                
683 * Routines in MCGIDI_energy.c                     
684 */                                                
685 MCGIDI_energy *MCGIDI_energy_new( statusMessag    
686 int MCGIDI_energy_initialize( statusMessageRep    
687 MCGIDI_energy *MCGIDI_energy_free( statusMessa    
688 int MCGIDI_energy_release( statusMessageReport    
689 int MCGIDI_energy_parseFromTOM( statusMessageR    
690     enum MCGIDI_energyType energyType, double     
691 int MCGIDI_energy_sampleEnergy( statusMessageR    
692     MCGIDI_decaySamplingInfo *decaySamplingInf    
693                                                   
694 /*                                                
695 * Routines in MCGIDI_energyAngular.c              
696 */                                                
697 int MCGIDI_energyAngular_parseFromTOM( statusM    
698 MCGIDI_energyAngular *MCGIDI_energyAngular_new    
699 int MCGIDI_energyAngular_initialize( statusMes    
700 MCGIDI_energyAngular *MCGIDI_energyAngular_fre    
701 int MCGIDI_energyAngular_release( statusMessag    
702 int MCGIDI_energyAngular_sampleDistribution( s    
703     MCGIDI_decaySamplingInfo *decaySamplingInf    
704                                                   
705 /*                                                
706 * Routines in MCGIDI_angularEnergy.c              
707 */                                                
708 MCGIDI_angularEnergy *MCGIDI_angularEnergy_new    
709 int MCGIDI_angularEnergy_initialize( statusMes    
710 MCGIDI_angularEnergy *MCGIDI_angularEnergy_fre    
711 int MCGIDI_angularEnergy_release( statusMessag    
712 int MCGIDI_angularEnergy_parseFromTOM( statusM    
713 int MCGIDI_angularEnergy_sampleDistribution( s    
714     MCGIDI_decaySamplingInfo *decaySamplingInf    
715                                                   
716 /*                                                
717 * Routines in MCGIDI_KalbachMann.c                
718 */                                                
719 MCGIDI_KalbachMann *MCGIDI_KalbachMann_new( st    
720 int MCGIDI_KalbachMann_initialize( statusMessa    
721 MCGIDI_KalbachMann *MCGIDI_KalbachMann_free( s    
722 int MCGIDI_KalbachMann_release( statusMessageR    
723 int MCGIDI_KalbachMann_parseFromTOM( statusMes    
724 int MCGIDI_KalbachMann_sampleEp( statusMessage    
725     MCGIDI_decaySamplingInfo *decaySamplingInf    
726                                                   
727 /*                                                
728 * Routines in MCGIDI_uncorrelated.c               
729 */                                                
730 int MCGIDI_uncorrelated_parseFromTOM( statusMe    
731     enum MCGIDI_energyType energyType, double     
732 int MCGIDI_uncorrelated_sampleDistribution( st    
733     MCGIDI_decaySamplingInfo *decaySamplingInf    
734                                                   
735 /*                                                
736 * Routines in MCGIDI_LLNLAngular_angularEnergy    
737 */                                                
738 int MCGIDI_LLNLAngular_angularEnergy_parseFrom    
739                                                   
740 /*                                                
741 * Routines in MCGIDI_kinetics.c                   
742 */                                                
743 int MCGIDI_kinetics_2BodyReaction( statusMessa    
744         MCGIDI_sampledProductsData *outgoingDa    
745 int MCGIDI_kinetics_COMKineticEnergy2LabEnergy    
746         double m3cc, double m4cc, MCGIDI_sampl    
747 int MCGIDI_kinetics_COM2Lab( statusMessageRepo    
748                                                   
749 /*                                                
750 * Routines in MCGIDI_sampling.c                   
751 */                                                
752 int MCGIDI_sampling_pdfsOfXGivenW_initialize(     
753 int MCGIDI_sampling_pdfsOfXGivenW_release( sta    
754 int MCGIDI_sampling_pdfsOfX_release( statusMes    
755 int MCGIDI_sampling_sampleX_from_pdfsOfXGivenW    
756 int MCGIDI_sampling_sampleX_from_pdfOfX( MCGID    
757 int MCGIDI_sampling_doubleDistribution( status    
758         MCGIDI_quantitiesLookupModes &modes, M    
759 int MCGIDI_sampling_interpolationValues( statu    
760 double MCGIDI_sampling_ptwXY_getValueAtX( ptwX    
761                                                   
762 /*                                                
763 * Routines in MCGIDI_misc.c                       
764 */                                                
765 int MCGIDI_misc_NumberOfZSymbols( void );         
766 const char *MCGIDI_misc_ZToSymbol( int iZ );      
767 int MCGIDI_misc_symbolToZ( const char *Z );       
768 int MCGIDI_miscNameToZAm( statusMessageReporti    
769 xDataTOM_Int MCGIDI_misc_binarySearch( xDataTO    
770 int MCGIDI_misc_PQUStringToDouble( statusMessa    
771 int MCGIDI_misc_PQUStringToDoubleInUnitOf( sta    
772 void MCGIDI_misc_updateTransportabilitiesMap(     
773 void MCGIDI_misc_updateTransportabilitiesMap2(    
774                                                   
775 #if defined __cplusplus                           
776     }                                             
777     }                                             
778 #endif                                            
779                                                   
780 #endif          /* End of MCGIDI_h_included. *    
781