Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MCGIDI.h
Go to the documentation of this file.
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#ifdef WIN32
13#define M_PI 3.141592653589793238463
14#endif
15
16#include <GIDI_settings.hh>
17#include <map>
18#include <vector>
19
21#include <ptwXY.h>
22#include <xDataTOM.h>
23
24#include "MCGIDI_mass.h"
25#include "MCGIDI_map.h"
26
27/* Disable Effective C++ warnings in GIDI code. */
28#if __INTEL_COMPILER > 1399
29#pragma warning( disable:2021 )
30#pragma warning( disable:593 )
31#pragma warning( disable:111 )
32#elif __INTEL_COMPILER > 1199
33#pragma warning( disable:2304 )
34#endif
35
36#if defined __cplusplus
37 extern "C" {
38 namespace GIDI {
39#endif
40
42typedef struct MCGIDI_POP_s MCGIDI_POP;
47typedef struct MCGIDI_target_heated_sorted_s MCGIDI_target_heated_sorted;
65
71
72#if defined __cplusplus
73 }
74 }
75#endif
76
78 MCGIDI_quantityLookupMode_pointwise /**< Pointwise data are used to determine a quantity's value an energy E. */,
79 MCGIDI_quantityLookupMode_grouped /**< Grouped data are used to determine a quantity's value an energy E. */
80};
81
83
84 private:
85 int mProjectilesPOPID;
86 double mProjectileEnergy;
87 int mGroupIndex;
88 double mProjectileEnergyForGroupIndex;
89 double mTemperature;
90 enum MCGIDI_quantityLookupMode mCrossSectionMode;
91 enum MCGIDI_quantityLookupMode mMultiplicityMode;
92
93 public:
94 MCGIDI_quantitiesLookupModes( int projectilesPOPID );
96
97 inline double getProjectileEnergy( void ) const { return( mProjectileEnergy ); }
98 void setProjectileEnergy( double e_in ) { mProjectileEnergy = e_in; }
99
100 inline int getGroupIndex( void ) const { return( mGroupIndex ); }
101 int setGroupIndex( GIDI_settings const &settings, bool encloseOutOfRange );
102
103 inline double getTemperature( void ) const { return( mTemperature ); }
104 void setTemperature( double temperature ) { mTemperature = temperature; }
105
106 enum MCGIDI_quantityLookupMode getMode( std::string const &quantity ) const;
107 enum MCGIDI_quantityLookupMode getCrossSectionMode( void ) const { return( mCrossSectionMode ); };
108 std::vector<std::string> getListOfLookupQuanities( ) const;
109 void setMode( std::string const &quantity, enum MCGIDI_quantityLookupMode mode );
110 void setCrossSectionMode( enum MCGIDI_quantityLookupMode mode ) { mCrossSectionMode = mode; };
111 void setModeAll( enum MCGIDI_quantityLookupMode mode );
112};
113
115
117 int PoPID;
119};
120
122
123 public:
126};
127
129
130 private: // This is user input.
131 enum GIDI::xDataTOM_frame mWantFrame;
132 bool mWantVelocities;
133 double (*mRng)( void * );
134 void *mRngState;
135 std::vector<struct MCGIDI_samplingMultiplicityBias_s> mSamplingMultiplicityBiases;
136
137 public: // Temporary variables used in MCGIDI sampling routines.
138 enum GIDI::xDataTOM_frame mGotFrame;
139 GIDI::MCGIDI_POP *mPoP;
140 double mMu;
141 double mEp;
142
143 public:
144 MCGIDI_samplingSettings( enum GIDI::xDataTOM_frame frame, bool wantVelocities, double (*rng)( void * ), void *rngState );
146
147 inline double getProductMultiplicityBias( int PoPID ) const {
148 for( int i1 = 0; i1 < (int) mSamplingMultiplicityBiases.size( ); ++i1 ) {
149 if( PoPID == mSamplingMultiplicityBiases[i1].PoPID ) return( mSamplingMultiplicityBiases[i1].multiplicityFactor );
150 }
151 return( 1. ); }
152 int setProductMultiplicityBias( GIDI::statusMessageReporting *smr, int PoPID, double fractor );
153};
154
155#if defined __cplusplus
156 extern "C" {
157 namespace GIDI {
158#endif
159
160enum MCGIDI_transportability { /**< This enum is used to give the transportability status for a particle in a reaction or target. */
161 MCGIDI_transportability_unknown, /**< Particle is not a product of this reaction or target. */
162 MCGIDI_transportability_none, /**< Particle is a product but has not distribution data. */
163 MCGIDI_transportability_partial, /**< Particle is a product and has some distribution data. */
164 MCGIDI_transportability_full }; /**< Particle is a product and all needed distribution data. */
165
166#if defined __cplusplus
167 }
168 }
169#endif
170
171typedef std::map<int, enum GIDI::MCGIDI_transportability> transportabilitiesMap;
172
173#if defined __cplusplus
174 extern "C" {
175 namespace GIDI {
176#endif
177
178#define MCGIDI_crossSectionType_grouped 1
179#define MCGIDI_crossSectionType_pointwise 2
180
181#define MCGIDI_nullReaction -10001
182
183#define MCGIDI_speedOfLight_cm_sec 2.99792458e10
184#define MCGIDI_AMU2MeV 931.494028
185
187 MCGIDI_reactionType_unknown_e, /* This should never happen. */
188 MCGIDI_reactionType_null_e, /* Only occurs when sampling with from grouped cross sections and the projectile is below threshold. */
189 MCGIDI_reactionType_elastic_e, /* A nuclear elastic reaction. */
190 MCGIDI_reactionType_scattering_e, /* A nuclear reaction where the projectile and target are products as well as gammas,
191 excluding reactions that are MCGIDI_reactionType_elastic_e and
192 MCGIDI_reactionType_nuclearLevelTransition_e. */
193 MCGIDI_reactionType_nuclearIsomerTransmutation_e, /* A nuclear that changes N or Z and is not one of the others.*/
194 MCGIDI_reactionType_nuclearLevelTransition_e, /* Reaction in which the residual is the same isotope as the target but in a
195 different nuclear level. Mainly for meta-stables. */
196 MCGIDI_reactionType_capture_e, /* A nuclear capture reaction. */
197 MCGIDI_reactionType_fission_e, /* A nuclear fission reaction. */
201
204
207
211
213
217
220
221#define MCGIDI_particleLevel_continuum -1
222#define MCGIDI_particleLevel_sum -2
223
227};
228
232 char *name;
233 int globalPoPsIndex; /* Index of particle in the PoPs library if particle can be return to packages using */
234 int Z, A, level, m; /* this library. Otherwise, -1. */
235 double mass_MeV;
236 double level_MeV;
239};
240
242 int numberOfPOPs, size, increment;
243 MCGIDI_POP *first, *last, **sorted;
244};
245
250 int Z, A, m;
251 double mass_MeV;
252 char *name;
253};
254
256 enum xDataTOM_frame frame; /* The frame the product data are in. */
257 int isVelocity; /* See struct MCGIDI_sampledProductsData_s for meaning. This is user input. */
258 double (*rng)( void * ); /* User supplied rng. */
259 void *rngState; /* User supplied rng state. */
260 MCGIDI_POP *pop; /* pop for the sampled product. */
261 double mu; /* mu = cos( theta ) for the sampled product. Frame is given by frame member. */
262 double Ep; /* Energy of the product. Frame is given by frame member. */
263};
264
270};
271
276};
277
279 int isVelocity; /* If true, px_vx, py_vy and pz_vz are velocities otherwise momenta. */
282 double px_vx;
283 double py_vy;
284 double pz_vz;
287 double birthTimeSec; /* Some products, like delayed fission neutrons, are to appear (be born) later. */
288};
289
295};
296
299 double *Xs;
300 double *pdf;
301 double *cdf;
302};
303
307 double *Ws;
309};
310
314 int iW, iX1, iX2;
315 double x, w, frac;
316};
317
323 double projectileMass_MeV, targetMass_MeV, productMass_MeV, residualMass_MeV;
324};
325
329};
330
333 MCGIDI_energyWeightedFunctional weightedFunctional[4]; /* ??????????? Hardwired for no good reason. Will handle up to a (z,4n) reaction. */
334};
335
338 double mass, massFactor, e_inCOMFactor, Q_MeV;
339};
340
348 double U;
349 ptwXYPoints *theta, *Watt_a, *Watt_b;
354};
355
359 MCGIDI_pdfsOfXGivenW *pdfOfMuGivenEAndEp; /* The number of MCGIDI_pdfsOfXGivenW allocated is given by pdfOfEpGivenE.numberOfWs. */
360};
361
365 MCGIDI_pdfsOfXGivenW *pdfOfEpGivenEAndMu; /* The number of MCGIDI_pdfsOfXGivenW allocated is given by pdfOfMuGivenE.numberOfWs. */
366};
367
369 double *rs;
370 double *as;
371};
372
375 double energyToMeVFactor, massFactor, Sa, Sb, Ma, mb; /* Needed if a(E,E') is caluclated from the formula. */
376 MCGIDI_pdfsOfXGivenW dists; /* Sa currently not used. */
378};
379
383 MCGIDI_angular *angular; /* All distribution forms must have a frame member. */
388};
389
392 MCGIDI_reaction *reaction; /* This is only used for output channels. */
393 MCGIDI_product *parent; /* This is only used for decay channels. */
395 double Q;
398};
399
402 char *label;
404 int multiplicity; /* If 0, the multiplicity is either 'energyDependent' or 'partialProduction'. */
413};
414
417 int ENDF_MT, ENDL_C, ENDL_S;
419 char const *outputChannelStr;
420 xDataTOM_attributionList attributes; /* Do not free, owned by attributes. */
421 int domainValuesPresent; /* True if cross section data defined so EMin and EMax are value. */
422 int thresholdGroupIndex; /* For grouped data, the group index where threshold starts. */
423 double thresholdGroupDomain; /* This is groupEnergy[thresholdGroupIndex+1] - EMin. */
424 double thresholdGroupedDeltaCrossSection; /* The adjusted group cross section in group thresholdGroupIndex. */
425 double EMin, EMax, finalQ; /* BRB, EMin is used as threshold. However, some reactions, especially charged particle */
426 ptwXYPoints *crossSection; /* have effective thresholds much higher than EMin, may need to handle these differently??????? */
429 MCGIDI_productsInfo productsInfo; /* See MCGIDI_reaction_ParseDetermineReactionProducts for description. */
431};
432
435 char *path; /* Partial path of input file. */
436 char *absPath; /* Full absolute path of input file. */
441 char *contents;
443 double EMin, EMax;
450};
451
455 char *path; /* Full path of input file. */
456 char *contents;
458};
459
461 char *path; /* Full path of input file. */
462 char *absPath; /* Full absolute path of input file. */
466 int nHeatedTargets, nReadHeatedTargets;
467 MCGIDI_target_heated *baseHeatedTarget; /* The lowest temperature whose contents is "all" data, (e.g, not just "crossSection"). */
468 MCGIDI_target_heated_info *heatedTargets; /* List of heated targets in order by temperature. */
469 MCGIDI_target_heated_info **readHeatedTargets; /* List of "read in" heated targets in order by temperature. */
470};
471
472char const *MCGIDI_version( void );
473int MCGIDI_versionMajor( void );
474int MCGIDI_versionMinor( void );
475int MCGIDI_versionPatchLevel( void );
476
477/*
478* Routines in MCGIDI_target.c
479*/
482MCGIDI_target *MCGIDI_target_newRead( statusMessageReporting *smr, const char *fileName );
483int MCGIDI_target_readFromMapViaPoPIDs( statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_map *map, const char *evaluation,
484 int projectile_PoPID, int target_PoPID );
485int MCGIDI_target_readFromMap( statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_map *map, const char *evaluation, const char *projectileName,
486 const char *targetName );
488 int projectile_PoPID, int target_PoPID );
489MCGIDI_target *MCGIDI_target_newReadFromMap( statusMessageReporting *smr, MCGIDI_map *map, const char *evaluation, const char *projectileName,
490 const char *targetName );
493int MCGIDI_target_read( statusMessageReporting *smr, MCGIDI_target *target, const char *fileName );
494char const *MCGIDI_target_getAttributesValue( statusMessageReporting *smr, MCGIDI_target *target, char const *name );
495int MCGIDI_target_getTemperatures( statusMessageReporting *smr, MCGIDI_target *target, double *temperatures );
499
505
508
509int MCGIDI_target_getDomain( statusMessageReporting *smr, MCGIDI_target *target, double *EMin, double *EMax );
511 bool sampling );
513 bool sampling );
515 double (*userrng)( void * ), void *rngState );
521
522/*
523* Routines in MCGIDI_target_heated.c
524*/
530int MCGIDI_target_heated_read( statusMessageReporting *smr, MCGIDI_target_heated *target, const char *fileName );
535#if 0
536MCGIDI_reaction *MCGIDI_target_heated_getProductionReactionAtIndex( MCGIDI_target_heated *target, int index );
537#endif
544 bool sampling );
546 MCGIDI_quantitiesLookupModes &modes, bool sampling );
550int MCGIDI_target_heated_getReactionsDomain( statusMessageReporting *smr, MCGIDI_target_heated *target, int index, double *EMin, double *EMax );
553
556
557/*
558* Routines in MCGIDI_reaction.c
559*/
565 MCGIDI_POPs *pops, MCGIDI_reaction *reaction );
570int MCGIDI_reaction_getDomain( statusMessageReporting *smr, MCGIDI_reaction *reaction, double *EMin, double *EMax );
571int MCGIDI_reaction_fixDomains( statusMessageReporting *smr, MCGIDI_reaction *reaction, double EMin, double EMax, nfu_status *status );
577 GIDI_settings_particle const *projectileSettings, double temperature_MeV, ptwXPoints *totalGroupedCrossSection );
578
585
586/*
587* Routines in MCGIDI_pop.c
588*/
590int MCGIDI_POPs_initial( statusMessageReporting *smr, MCGIDI_POPs *pops, int size );
591void *MCGIDI_POPs_free( MCGIDI_POPs *pops );
593MCGIDI_POP *MCGIDI_POPs_addParticleIfNeeded( statusMessageReporting *smr, MCGIDI_POPs *pops, char const *name, double mass_MeV,
594 double level_MeV, MCGIDI_POP *parent, int globalParticle );
595int MCGIDI_POPs_findParticleIndex( MCGIDI_POPs *pops, char const *name );
596MCGIDI_POP *MCGIDI_POPs_findParticle( MCGIDI_POPs *pops, char const *name );
597void MCGIDI_POPs_writeSortedList( MCGIDI_POPs *pops, FILE *f );
599
600MCGIDI_POP *MCGIDI_POP_new( statusMessageReporting *smr, char const *name, double mass_MeV, double level_MeV, MCGIDI_POP *parent );
604
605/*
606* Routines in MCGIDI_particle.c
607*/
615
616/*
617* Routines in MCGIDI_outputChannel.c
618*/
624 MCGIDI_reaction *reaction, MCGIDI_product *parent );
627int MCGIDI_outputChannel_getDomain( statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, double *EMin, double *EMax );
631double MCGIDI_outputChannel_getQ_MeV( statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, double e_in );
632double MCGIDI_outputChannel_getFinalQ( statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, double e_in );
634 MCGIDI_decaySamplingInfo *decaySamplingInfo, MCGIDI_sampledProductsDatas *productDatas, double *masses );
635
636/*
637* Routines in MCGIDI_product.c
638*/
644 MCGIDI_POPs *pops, MCGIDI_product *product, int *delayedNeutronIndex );
645int MCGIDI_product_getDomain( statusMessageReporting *smr, MCGIDI_product *product, double *EMin, double *EMax );
646int MCGIDI_product_setTwoBodyMasses( statusMessageReporting *smr, MCGIDI_product *product, double projectileMass_MeV, double targetMass_MeV,
647 double productMass_MeV, double residualMass_MeV );
652int MCGIDI_product_sampleMultiplicity( statusMessageReporting *smr, MCGIDI_product *product, double e_in, double r );
654 MCGIDI_decaySamplingInfo *decaySamplingInfo );
655
656int MCGIDI_sampledProducts_initialize( statusMessageReporting *smr, MCGIDI_sampledProductsDatas *sampledProductsDatas, int incrementSize );
660 MCGIDI_sampledProductsData *sampledProductsData );
663
664/*
665* Routines in MCGIDI_distribution.c
666*/
672
673/*
674* Routines in MCGIDI_angular.c
675*/
680int MCGIDI_angular_setTwoBodyMasses( statusMessageReporting *smr, MCGIDI_angular *angular, double projectileMass_MeV, double targetMass_MeV,
681 double productMass_MeV, double residualMass_MeV );
684 MCGIDI_decaySamplingInfo *decaySamplingInfo );
685
686/*
687* Routines in MCGIDI_energy.c
688*/
694 enum MCGIDI_energyType energyType, double gammaEnergy_MeV );
696 MCGIDI_decaySamplingInfo *decaySamplingInfo );
697
698/*
699* Routines in MCGIDI_energyAngular.c
700*/
707 MCGIDI_decaySamplingInfo *decaySamplingInfo );
708
709/*
710* Routines in MCGIDI_angularEnergy.c
711*/
718 MCGIDI_decaySamplingInfo *decaySamplingInfo );
719
720/*
721* Routines in MCGIDI_KalbachMann.c
722*/
729 MCGIDI_decaySamplingInfo *decaySamplingInfo );
730
731/*
732* Routines in MCGIDI_uncorrelated.c
733*/
735 enum MCGIDI_energyType energyType, double gammaEnergy_MeV );
737 MCGIDI_decaySamplingInfo *decaySamplingInfo );
738
739/*
740* Routines in MCGIDI_LLNLAngular_angularEnergy.c
741*/
743
744/*
745* Routines in MCGIDI_kinetics.c
746*/
747int MCGIDI_kinetics_2BodyReaction( statusMessageReporting *smr, MCGIDI_angular *angular, double K, double mu, double phi,
748 MCGIDI_sampledProductsData *outgoingData );
749int MCGIDI_kinetics_COMKineticEnergy2LabEnergyAndMomentum( statusMessageReporting *smr, double beta, double e_kinetic_com, double mu, double phi,
750 double m3cc, double m4cc, MCGIDI_sampledProductsData *outgoingData );
751int MCGIDI_kinetics_COM2Lab( statusMessageReporting *smr, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, double masses[3] );
752
753/*
754* Routines in MCGIDI_sampling.c
755*/
762 MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo );
763int MCGIDI_sampling_interpolationValues( statusMessageReporting *smr, ptwXY_interpolation interpolation, double *ws, double y1, double y2, double *y );
764double MCGIDI_sampling_ptwXY_getValueAtX( ptwXYPoints *ptwXY, double x1 );
765
766/*
767* Routines in MCGIDI_misc.c
768*/
770const char *MCGIDI_misc_ZToSymbol( int iZ );
771int MCGIDI_misc_symbolToZ( const char *Z );
772int MCGIDI_miscNameToZAm( statusMessageReporting *smr, const char *name, int *Z, int *A, int *m, int *level );
773xDataTOM_Int MCGIDI_misc_binarySearch( xDataTOM_Int n, double *ds, double d );
774int MCGIDI_misc_PQUStringToDouble( statusMessageReporting *smr, char const *str, char const *unit, double conversion, double *value );
775int MCGIDI_misc_PQUStringToDoubleInUnitOf( statusMessageReporting *smr, char const *str, char const *toUnit, double *value );
776void MCGIDI_misc_updateTransportabilitiesMap( transportabilitiesMap *transportabilities, int PoPID, enum MCGIDI_transportability transportability );
777void MCGIDI_misc_updateTransportabilitiesMap2( transportabilitiesMap *transportabilities, int PoPID, int transportable );
778
779#if defined __cplusplus
780 }
781 }
782#endif
783
784#endif /* End of MCGIDI_h_included. */
G4double S(G4double temp)
const G4int Z[17]
const G4double A[17]
MCGIDI_energyAngular * MCGIDI_energyAngular_free(statusMessageReporting *smr, MCGIDI_energyAngular *energyAngular)
MCGIDI_reaction * MCGIDI_target_heated_getReactionAtIndex(MCGIDI_target_heated *target, int index)
MCGIDI_angularEnergy * MCGIDI_angularEnergy_free(statusMessageReporting *smr, MCGIDI_angularEnergy *energyAngular)
int MCGIDI_KalbachMann_release(statusMessageReporting *smr, MCGIDI_KalbachMann *KalbachMann)
int MCGIDI_reaction_initialize(statusMessageReporting *smr, MCGIDI_reaction *reaction)
const char * MCGIDI_productGenre_unknown
int MCGIDI_target_heated_getEnergyGrid(statusMessageReporting *smr, MCGIDI_target_heated *target, double **energyGrid)
int MCGIDI_target_heated_numberOfReactions(statusMessageReporting *smr, MCGIDI_target_heated *target)
MCGIDI_angular * MCGIDI_angular_new(statusMessageReporting *smr)
int MCGIDI_target_heated_initialize(statusMessageReporting *smr, MCGIDI_target_heated *target)
MCGIDI_target_heated * MCGIDI_outputChannel_getTargetHeated(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
enum MCGIDI_reactionType MCGIDI_target_getReactionTypeAtIndex(statusMessageReporting *smr, MCGIDI_target *target, int index)
int MCGIDI_distribution_initialize(statusMessageReporting *smr, MCGIDI_distribution *distribution)
double MCGIDI_sampling_ptwXY_getValueAtX(ptwXYPoints *ptwXY, double x1)
MCGIDI_reaction * MCGIDI_target_heated_getReactionAtIndex_smr(statusMessageReporting *smr, MCGIDI_target_heated *target, int index)
MCGIDI_POP * MCGIDI_POPs_addParticleIfNeeded(statusMessageReporting *smr, MCGIDI_POPs *pops, char const *name, double mass_MeV, double level_MeV, MCGIDI_POP *parent, int globalParticle)
Definition: MCGIDI_pop.cc:67
int MCGIDI_LLNLAngular_angularEnergy_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution)
double MCGIDI_target_heated_getIndexReactionFinalQ(statusMessageReporting *smr, MCGIDI_target_heated *target, int index, MCGIDI_quantitiesLookupModes &modes)
int MCGIDI_sampling_pdfsOfXGivenW_release(statusMessageReporting *smr, MCGIDI_pdfsOfXGivenW *dists)
int MCGIDI_productsInfo_getIntegerMultiplicityAtIndex(MCGIDI_productsInfo *productsInfo, int index)
std::map< int, enum GIDI::MCGIDI_transportability > transportabilitiesMap
Definition: MCGIDI.h:171
MCGIDI_energy * MCGIDI_energy_free(statusMessageReporting *smr, MCGIDI_energy *energy)
int MCGIDI_miscNameToZAm(statusMessageReporting *smr, const char *name, int *Z, int *A, int *m, int *level)
Definition: MCGIDI_misc.cc:81
int MCGIDI_angular_setTwoBodyMasses(statusMessageReporting *smr, MCGIDI_angular *angular, double projectileMass_MeV, double targetMass_MeV, double productMass_MeV, double residualMass_MeV)
MCGIDI_POP * MCGIDI_target_heated_getPOPForProjectile(statusMessageReporting *smr, MCGIDI_target_heated *target)
int MCGIDI_target_readHeatedTarget(statusMessageReporting *smr, MCGIDI_target *target, int index)
int MCGIDI_outputChannel_getDomain(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, double *EMin, double *EMax)
int MCGIDI_target_heated_getReactionsDomain(statusMessageReporting *smr, MCGIDI_target_heated *target, int index, double *EMin, double *EMax)
int MCGIDI_angular_release(statusMessageReporting *smr, MCGIDI_angular *angular)
MCGIDI_POP * MCGIDI_POPs_findParticle(MCGIDI_POPs *pops, char const *name)
Definition: MCGIDI_pop.cc:133
MCGIDI_reactionType
Definition: MCGIDI.h:186
@ MCGIDI_reactionType_nuclearIsomerTransmutation_e
Definition: MCGIDI.h:193
@ MCGIDI_reactionType_unknown_e
Definition: MCGIDI.h:187
@ MCGIDI_reactionType_elastic_e
Definition: MCGIDI.h:189
@ MCGIDI_reactionType_nuclearLevelTransition_e
Definition: MCGIDI.h:194
@ MCGIDI_reactionType_null_e
Definition: MCGIDI.h:188
@ MCGIDI_reactionType_scattering_e
Definition: MCGIDI.h:190
@ MCGIDI_reactionType_atomic_e
Definition: MCGIDI.h:199
@ MCGIDI_reactionType_capture_e
Definition: MCGIDI.h:196
@ MCGIDI_reactionType_sumOfRemainingOutputChannels_e
Definition: MCGIDI.h:198
@ MCGIDI_reactionType_fission_e
Definition: MCGIDI.h:197
double MCGIDI_target_getTotalCrossSectionAtTAndE(statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_quantitiesLookupModes &modes, bool sampling)
int MCGIDI_sampling_pdfsOfXGivenW_initialize(statusMessageReporting *smr, MCGIDI_pdfsOfXGivenW *dists)
MCGIDI_outputChannel * MCGIDI_outputChannel_new(statusMessageReporting *smr)
int MCGIDI_energy_sampleEnergy(statusMessageReporting *smr, MCGIDI_energy *energy, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
int MCGIDI_energy_initialize(statusMessageReporting *smr, MCGIDI_energy *energy)
int MCGIDI_reaction_getENDL_CSNumbers(MCGIDI_reaction *reaction, int *S)
MCGIDI_distribution * MCGIDI_distribution_free(statusMessageReporting *smr, MCGIDI_distribution *distribution)
enum MCGIDI_reactionType MCGIDI_reaction_getReactionType(statusMessageReporting *smr, MCGIDI_reaction *reaction)
int MCGIDI_uncorrelated_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms, enum MCGIDI_energyType energyType, double gammaEnergy_MeV)
int MCGIDI_sampling_pdfsOfX_release(statusMessageReporting *smr, MCGIDI_pdfOfX *dist)
double MCGIDI_outputChannel_getQ_MeV(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, double e_in)
MCGIDI_target * MCGIDI_target_new(statusMessageReporting *smr)
char const * MCGIDI_target_getAttributesValue(statusMessageReporting *smr, MCGIDI_target *target, char const *name)
MCGIDI_target_heated * MCGIDI_target_getHeatedTargetAtTIndex(statusMessageReporting *smr, MCGIDI_target *target, int index)
int MCGIDI_target_initialize(statusMessageReporting *smr, MCGIDI_target *target)
int MCGIDI_KalbachMann_sampleEp(statusMessageReporting *smr, MCGIDI_KalbachMann *KalbachMann, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
MCGIDI_reaction * MCGIDI_target_getReactionAtIndex(MCGIDI_target *target, int index)
MCGIDI_POP * MCGIDI_target_heated_getPOPForTarget(statusMessageReporting *smr, MCGIDI_target_heated *target)
MCGIDI_distributionType
Definition: MCGIDI.h:208
@ MCGIDI_distributionType_angularEnergy_e
Definition: MCGIDI.h:210
@ MCGIDI_distributionType_energyAngular_e
Definition: MCGIDI.h:209
@ MCGIDI_distributionType_KalbachMann_e
Definition: MCGIDI.h:209
@ MCGIDI_distributionType_unknown_e
Definition: MCGIDI.h:208
@ MCGIDI_distributionType_angular_e
Definition: MCGIDI.h:208
@ MCGIDI_distributionType_uncorrelated_e
Definition: MCGIDI.h:209
@ MCGIDI_distributionType_none_e
Definition: MCGIDI.h:208
int MCGIDI_productsInfo_getPoPsIndexAtIndex(MCGIDI_productsInfo *productsInfo, int index)
int MCGIDI_angularEnergy_initialize(statusMessageReporting *smr, MCGIDI_angularEnergy *energyAngular)
MCGIDI_energy * MCGIDI_energy_new(statusMessageReporting *smr)
double MCGIDI_target_getIndexReactionCrossSectionAtE(statusMessageReporting *smr, MCGIDI_target *target, int index, MCGIDI_quantitiesLookupModes &modes, bool sampling)
MCGIDI_angular * MCGIDI_angular_free(statusMessageReporting *smr, MCGIDI_angular *angular)
MCGIDI_channelGenre
Definition: MCGIDI.h:202
@ MCGIDI_channelGenre_uncorrelated_e
Definition: MCGIDI.h:202
@ MCGIDI_channelGenre_twoBody_e
Definition: MCGIDI.h:202
@ MCGIDI_channelGenre_twoBodyDecay_e
Definition: MCGIDI.h:203
@ MCGIDI_channelGenre_undefined_e
Definition: MCGIDI.h:202
@ MCGIDI_channelGenre_uncorrelatedDecay_e
Definition: MCGIDI.h:203
@ MCGIDI_channelGenre_sumOfRemaining_e
Definition: MCGIDI.h:203
int MCGIDI_target_readFromMap(statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_map *map, const char *evaluation, const char *projectileName, const char *targetName)
MCGIDI_sampledProductsData * MCGIDI_sampledProducts_getProductAtIndex(MCGIDI_sampledProductsDatas *sampledProductsDatas, int index)
int MCGIDI_target_recast(statusMessageReporting *smr, MCGIDI_target *target, GIDI_settings &settings)
int MCGIDI_energy_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms, enum MCGIDI_energyType energyType, double gammaEnergy_MeV)
int MCGIDI_sampledProducts_number(MCGIDI_sampledProductsDatas *sampledProductsDatas)
int MCGIDI_angular_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution, ptwXYPoints *norms)
int MCGIDI_sampling_doubleDistribution(statusMessageReporting *smr, MCGIDI_pdfsOfXGivenW *pdfOfWGivenV, MCGIDI_pdfsOfXGivenW *pdfOfXGivenVAndW, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
int MCGIDI_misc_PQUStringToDouble(statusMessageReporting *smr, char const *str, char const *unit, double conversion, double *value)
Definition: MCGIDI_misc.cc:330
int MCGIDI_sampling_sampleX_from_pdfOfX(MCGIDI_pdfOfX *dist, MCGIDI_pdfsOfXGivenW_sampled *sampled, double r)
const char * MCGIDI_productGenre_NBody_angular_energy
Definition: MCGIDI.h:219
double MCGIDI_outputChannel_getFinalQ(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, double e_in)
int MCGIDI_distribution_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_product *product, MCGIDI_POPs *pops, ptwXYPoints *norms)
int MCGIDI_target_heated_recast(statusMessageReporting *smr, MCGIDI_target_heated *target, GIDI_settings &settings)
int MCGIDI_target_getDomain(statusMessageReporting *smr, MCGIDI_target *target, double *EMin, double *EMax)
int MCGIDI_product_sampleMu(statusMessageReporting *smr, MCGIDI_product *product, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
MCGIDI_target_heated * MCGIDI_product_getTargetHeated(statusMessageReporting *smr, MCGIDI_product *product)
MCGIDI_productMultiplicityType
Definition: MCGIDI.h:205
@ MCGIDI_productMultiplicityType_energyDependent_e
Definition: MCGIDI.h:206
@ MCGIDI_productMultiplicityType_invalid_e
Definition: MCGIDI.h:205
@ MCGIDI_productMultiplicityType_unknown_e
Definition: MCGIDI.h:205
@ MCGIDI_productMultiplicityType_mixed_e
Definition: MCGIDI.h:206
@ MCGIDI_productMultiplicityType_integer_e
Definition: MCGIDI.h:205
@ MCGIDI_productMultiplicityType_gammaBranching_e
Definition: MCGIDI.h:206
int MCGIDI_outputChannel_initialize(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
MCGIDI_particle * MCGIDI_particle_free(statusMessageReporting *smr, MCGIDI_particle *particle)
double MCGIDI_target_heated_getIndexReactionCrossSectionAtE(statusMessageReporting *smr, MCGIDI_target_heated *target, int index, MCGIDI_quantitiesLookupModes &modes, bool sampling)
double MCGIDI_product_getMass_MeV(statusMessageReporting *smr, MCGIDI_product *product)
const char * MCGIDI_productGenre_twoBody_formFactor
Definition: MCGIDI.h:218
int MCGIDI_angularEnergy_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution)
xDataTOM_Int MCGIDI_misc_binarySearch(xDataTOM_Int n, double *ds, double d)
Definition: MCGIDI_misc.cc:228
MCGIDI_target * MCGIDI_target_free(statusMessageReporting *smr, MCGIDI_target *target)
int MCGIDI_productsInfo_getTransportableAtIndex(MCGIDI_productsInfo *productsInfo, int index)
MCGIDI_angularType
Definition: MCGIDI.h:212
@ MCGIDI_angularType_isotropic
Definition: MCGIDI.h:212
@ MCGIDI_angularType_recoil
Definition: MCGIDI.h:212
@ MCGIDI_angularType_linear
Definition: MCGIDI.h:212
MCGIDI_product * MCGIDI_product_free(statusMessageReporting *smr, MCGIDI_product *product)
int MCGIDI_reaction_recast(statusMessageReporting *smr, MCGIDI_reaction *reaction, GIDI_settings &settings, GIDI_settings_particle const *projectileSettings, double temperature_MeV, ptwXPoints *totalGroupedCrossSection)
int MCGIDI_target_getTemperatures(statusMessageReporting *smr, MCGIDI_target *target, double *temperatures)
int MCGIDI_kinetics_2BodyReaction(statusMessageReporting *smr, MCGIDI_angular *angular, double K, double mu, double phi, MCGIDI_sampledProductsData *outgoingData)
double MCGIDI_target_heated_getTotalCrossSectionAtE(statusMessageReporting *smr, MCGIDI_target_heated *target, MCGIDI_quantitiesLookupModes &modes, bool sampling)
MCGIDI_POP * MCGIDI_POP_new(statusMessageReporting *smr, char const *name, double mass_MeV, double level_MeV, MCGIDI_POP *parent)
Definition: MCGIDI_pop.cc:165
MCGIDI_outputChannel * MCGIDI_outputChannel_free(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
int MCGIDI_energyAngular_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution)
int MCGIDI_angular_sampleMu(statusMessageReporting *smr, MCGIDI_angular *angular, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
int MCGIDI_KalbachMann_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_distribution *distribution)
int MCGIDI_target_numberOfReactions(statusMessageReporting *smr, MCGIDI_target *target)
int MCGIDI_target_numberOfProductionReactions(statusMessageReporting *smr, MCGIDI_target *target)
int MCGIDI_versionPatchLevel(void)
double MCGIDI_target_getIndexReactionFinalQ(statusMessageReporting *smr, MCGIDI_target *target, int index, MCGIDI_quantitiesLookupModes &modes)
void * MCGIDI_POPs_free(MCGIDI_POPs *pops)
Definition: MCGIDI_pop.cc:41
MCGIDI_target * MCGIDI_target_newReadFromMap(statusMessageReporting *smr, MCGIDI_map *map, const char *evaluation, const char *projectileName, const char *targetName)
int MCGIDI_target_heated_sampleIndexReactionProductsAtE(statusMessageReporting *smr, MCGIDI_target_heated *target, int index, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, MCGIDI_sampledProductsDatas *productData)
const char * MCGIDI_productGenre_NBody_pairProduction
Definition: MCGIDI.h:219
MCGIDI_KalbachMann * MCGIDI_KalbachMann_new(statusMessageReporting *smr, ptwXY_interpolation interpolationWY, ptwXY_interpolation interpolationXY)
MCGIDI_angularEnergy * MCGIDI_angularEnergy_new(statusMessageReporting *smr)
MCGIDI_target_heated * MCGIDI_target_getHeatedTargetAtIndex_ReadIfNeeded(statusMessageReporting *smr, MCGIDI_target *target, int index)
MCGIDI_distribution * MCGIDI_distribution_new(statusMessageReporting *smr)
int MCGIDI_particle_release(statusMessageReporting *smr, MCGIDI_particle *particle)
enum MCGIDI_productMultiplicityType MCGIDI_productsInfo_getMultiplicityTypeAtIndex(MCGIDI_productsInfo *productsInfo, int index)
int MCGIDI_product_getDomain(statusMessageReporting *smr, MCGIDI_product *product, double *EMin, double *EMax)
int MCGIDI_sampledProducts_initialize(statusMessageReporting *smr, MCGIDI_sampledProductsDatas *sampledProductsDatas, int incrementSize)
int MCGIDI_outputChannel_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_POPs *pops, MCGIDI_outputChannel *outputChannel, MCGIDI_reaction *reaction, MCGIDI_product *parent)
void MCGIDI_misc_updateTransportabilitiesMap2(transportabilitiesMap *transportabilities, int PoPID, int transportable)
Definition: MCGIDI_misc.cc:524
int MCGIDI_energyAngular_release(statusMessageReporting *smr, MCGIDI_energyAngular *energyAngular)
int MCGIDI_kinetics_COM2Lab(statusMessageReporting *smr, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, double masses[3])
MCGIDI_target * MCGIDI_target_newReadFromMapViaPoPIDs(statusMessageReporting *smr, MCGIDI_map *map, const char *evaluation, int projectile_PoPID, int target_PoPID)
int MCGIDI_product_sampleMultiplicity(statusMessageReporting *smr, MCGIDI_product *product, double e_in, double r)
MCGIDI_target_heated * MCGIDI_reaction_getTargetHeated(statusMessageReporting *smr, MCGIDI_reaction *reaction)
int MCGIDI_POPs_findParticleIndex(MCGIDI_POPs *pops, char const *name)
Definition: MCGIDI_pop.cc:104
MCGIDI_target_heated * MCGIDI_target_heated_free(statusMessageReporting *smr, MCGIDI_target_heated *target)
double MCGIDI_reaction_getTargetMass_MeV(statusMessageReporting *smr, MCGIDI_reaction *reaction)
int MCGIDI_sampledProducts_remalloc(statusMessageReporting *smr, MCGIDI_sampledProductsDatas *sampledProductsDatas)
MCGIDI_target * MCGIDI_target_newRead(statusMessageReporting *smr, const char *fileName)
MCGIDI_transportability
Definition: MCGIDI.h:160
@ MCGIDI_transportability_unknown
Definition: MCGIDI.h:161
@ MCGIDI_transportability_none
Definition: MCGIDI.h:162
@ MCGIDI_transportability_partial
Definition: MCGIDI.h:163
@ MCGIDI_transportability_full
Definition: MCGIDI.h:164
void MCGIDI_misc_updateTransportabilitiesMap(transportabilitiesMap *transportabilities, int PoPID, enum MCGIDI_transportability transportability)
Definition: MCGIDI_misc.cc:482
int MCGIDI_distribution_release(statusMessageReporting *smr, MCGIDI_distribution *distribution)
void MCGIDI_POPs_printSortedList(MCGIDI_POPs *pops)
Definition: MCGIDI_pop.cc:153
int MCGIDI_product_initialize(statusMessageReporting *smr, MCGIDI_product *product)
int MCGIDI_target_heated_release(statusMessageReporting *smr, MCGIDI_target_heated *target)
transportabilitiesMap const * MCGIDI_target_getUniqueProducts(statusMessageReporting *smr, MCGIDI_target *target)
int MCGIDI_target_sampleReaction(statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_quantitiesLookupModes &modes, double totalXSec, double(*userrng)(void *), void *rngState)
int MCGIDI_uncorrelated_sampleDistribution(statusMessageReporting *smr, MCGIDI_distribution *distribution, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
const char * MCGIDI_productGenre_twoBody_angular
Definition: MCGIDI.h:218
int MCGIDI_sampledProducts_release(statusMessageReporting *smr, MCGIDI_sampledProductsDatas *sampledProductsDatas)
double MCGIDI_target_heated_getReactionsThreshold(statusMessageReporting *smr, MCGIDI_target_heated *target, int index)
int MCGIDI_target_readFromMapViaPoPIDs(statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_map *map, const char *evaluation, int projectile_PoPID, int target_PoPID)
MCGIDI_quantityLookupMode
Definition: MCGIDI.h:77
@ MCGIDI_quantityLookupMode_pointwise
Definition: MCGIDI.h:78
@ MCGIDI_quantityLookupMode_grouped
Definition: MCGIDI.h:79
int MCGIDI_POPs_initial(statusMessageReporting *smr, MCGIDI_POPs *pops, int size)
Definition: MCGIDI_pop.cc:30
MCGIDI_POP * MCGIDI_POP_free(MCGIDI_POP *pop)
Definition: MCGIDI_pop.cc:191
int MCGIDI_angularEnergy_release(statusMessageReporting *smr, MCGIDI_angularEnergy *energyAngular)
int MCGIDI_sampling_sampleX_from_pdfsOfXGivenW(MCGIDI_pdfsOfXGivenW *dists, MCGIDI_pdfsOfXGivenW_sampled *sampled, double r)
int MCGIDI_energyAngular_initialize(statusMessageReporting *smr, MCGIDI_energyAngular *energyAngular)
int MCGIDI_sampling_interpolationValues(statusMessageReporting *smr, ptwXY_interpolation interpolation, double *ws, double y1, double y2, double *y)
int MCGIDI_target_sampleNullReactionProductsAtE(statusMessageReporting *smr, MCGIDI_target *target, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, MCGIDI_sampledProductsDatas *productDatas)
MCGIDI_POPs * MCGIDI_POPs_new(statusMessageReporting *smr, int size)
Definition: MCGIDI_pop.cc:19
int MCGIDI_particle_printInternalSortedList(statusMessageReporting *smr)
int MCGIDI_reaction_fixDomains(statusMessageReporting *smr, MCGIDI_reaction *reaction, double EMin, double EMax, nfu_status *status)
struct MCGIDI_target_heated_sorted_s MCGIDI_target_heated_sorted
Definition: MCGIDI.h:47
double MCGIDI_outputChannel_getTargetMass_MeV(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
int MCGIDI_misc_PQUStringToDoubleInUnitOf(statusMessageReporting *smr, char const *str, char const *toUnit, double *value)
Definition: MCGIDI_misc.cc:356
double MCGIDI_target_heated_getTargetMass_MeV(statusMessageReporting *smr, MCGIDI_target_heated *target)
double MCGIDI_product_getTargetMass_MeV(statusMessageReporting *smr, MCGIDI_product *product)
int MCGIDI_sampledProducts_addProduct(statusMessageReporting *smr, MCGIDI_sampledProductsDatas *sampledProductsDatas, MCGIDI_sampledProductsData *sampledProductsData)
int MCGIDI_productsInfo_getNumberOfUniqueProducts(MCGIDI_productsInfo *productsInfo)
int MCGIDI_outputChannel_numberOfProducts(MCGIDI_outputChannel *outputChannel)
MCGIDI_productsInfo * MCGIDI_reaction_getProductsInfo(MCGIDI_reaction *reaction)
int MCGIDI_versionMajor(void)
int MCGIDI_angular_initialize(statusMessageReporting *smr, MCGIDI_angular *angular)
int MCGIDI_KalbachMann_initialize(statusMessageReporting *smr, MCGIDI_KalbachMann *KalbachMann, ptwXY_interpolation interpolationWY, ptwXY_interpolation interpolationXY)
int MCGIDI_reaction_getDomain(statusMessageReporting *smr, MCGIDI_reaction *reaction, double *EMin, double *EMax)
int MCGIDI_reaction_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_target_heated *target, MCGIDI_POPs *pops, MCGIDI_reaction *reaction)
void MCGIDI_POPs_writeSortedList(MCGIDI_POPs *pops, FILE *f)
Definition: MCGIDI_pop.cc:143
const char * MCGIDI_misc_ZToSymbol(int iZ)
Definition: MCGIDI_misc.cc:61
int MCGIDI_energyAngular_sampleDistribution(statusMessageReporting *smr, MCGIDI_distribution *distribution, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
int MCGIDI_target_heated_numberOfProductionReactions(statusMessageReporting *smr, MCGIDI_target_heated *target)
MCGIDI_particle * MCGIDI_particle_getInternalID(statusMessageReporting *smr, const char *const name, MCGIDI_POPs *pops)
int MCGIDI_outputChannel_sampleProductsAtE(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, MCGIDI_sampledProductsDatas *productDatas, double *masses)
int MCGIDI_reaction_getENDF_MTNumber(MCGIDI_reaction *reaction)
int MCGIDI_particle_initialize(statusMessageReporting *smr, MCGIDI_particle *particle)
int MCGIDI_product_parseFromTOM(statusMessageReporting *smr, xDataTOM_element *element, MCGIDI_outputChannel *outputChannel, MCGIDI_POPs *pops, MCGIDI_product *product, int *delayedNeutronIndex)
int MCGIDI_target_read(statusMessageReporting *smr, MCGIDI_target *target, const char *fileName)
MCGIDI_energyAngular * MCGIDI_energyAngular_new(statusMessageReporting *smr)
double MCGIDI_product_getProjectileMass_MeV(statusMessageReporting *smr, MCGIDI_product *product)
int MCGIDI_misc_symbolToZ(const char *Z)
Definition: MCGIDI_misc.cc:69
int MCGIDI_target_release(statusMessageReporting *smr, MCGIDI_target *target)
double MCGIDI_reaction_getProjectileMass_MeV(statusMessageReporting *smr, MCGIDI_reaction *reaction)
int MCGIDI_outputChannel_release(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
MCGIDI_POP * MCGIDI_POP_release(MCGIDI_POP *pop)
Definition: MCGIDI_pop.cc:201
transportabilitiesMap const * MCGIDI_target_heated_getUniqueProducts(statusMessageReporting *smr, MCGIDI_target_heated *target)
int MCGIDI_energy_release(statusMessageReporting *smr, MCGIDI_energy *energy)
int MCGIDI_target_sampleIndexReactionProductsAtE(statusMessageReporting *smr, MCGIDI_target *target, int index, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo, MCGIDI_sampledProductsDatas *productData)
int MCGIDI_product_setTwoBodyMasses(statusMessageReporting *smr, MCGIDI_product *product, double projectileMass_MeV, double targetMass_MeV, double productMass_MeV, double residualMass_MeV)
double MCGIDI_reaction_getFinalQ(statusMessageReporting *smr, MCGIDI_reaction *reaction, MCGIDI_quantitiesLookupModes &modes)
int MCGIDI_POPs_release(MCGIDI_POPs *pops)
Definition: MCGIDI_pop.cc:51
MCGIDI_energyType
Definition: MCGIDI.h:214
@ MCGIDI_energyType_unknown
Definition: MCGIDI.h:214
@ MCGIDI_energyType_NBodyPhaseSpace
Definition: MCGIDI.h:216
@ MCGIDI_energyType_primaryGamma
Definition: MCGIDI.h:214
@ MCGIDI_energyType_weightedFunctional
Definition: MCGIDI.h:216
@ MCGIDI_energyType_simpleMaxwellianFission
Definition: MCGIDI.h:215
@ MCGIDI_energyType_discreteGamma
Definition: MCGIDI.h:214
@ MCGIDI_energyType_generalEvaporation
Definition: MCGIDI.h:215
@ MCGIDI_energyType_MadlandNix
Definition: MCGIDI.h:216
@ MCGIDI_energyType_evaporation
Definition: MCGIDI.h:215
@ MCGIDI_energyType_Watt
Definition: MCGIDI.h:216
@ MCGIDI_energyType_linear
Definition: MCGIDI.h:215
double MCGIDI_POP_getMass_MeV(MCGIDI_POP *pop)
Definition: MCGIDI_pop.cc:212
int MCGIDI_particle_freeInternalList(statusMessageReporting *smr)
int MCGIDI_kinetics_COMKineticEnergy2LabEnergyAndMomentum(statusMessageReporting *smr, double beta, double e_kinetic_com, double mu, double phi, double m3cc, double m4cc, MCGIDI_sampledProductsData *outgoingData)
double MCGIDI_reaction_getCrossSectionAtE(statusMessageReporting *smr, MCGIDI_reaction *reaction, MCGIDI_quantitiesLookupModes &modes, bool sampling)
int MCGIDI_versionMinor(void)
int MCGIDI_misc_NumberOfZSymbols(void)
Definition: MCGIDI_misc.cc:54
int MCGIDI_angularEnergy_sampleDistribution(statusMessageReporting *smr, MCGIDI_angularEnergy *angularEnergy, MCGIDI_quantitiesLookupModes &modes, MCGIDI_decaySamplingInfo *decaySamplingInfo)
MCGIDI_target_heated * MCGIDI_target_heated_new(statusMessageReporting *smr)
MCGIDI_reaction * MCGIDI_target_getReactionAtIndex_smr(statusMessageReporting *smr, MCGIDI_target *target, int index)
int MCGIDI_product_release(statusMessageReporting *smr, MCGIDI_product *product)
double MCGIDI_target_heated_getProjectileMass_MeV(statusMessageReporting *smr, MCGIDI_target_heated *target)
MCGIDI_target_heated * MCGIDI_target_heated_newRead(statusMessageReporting *smr, const char *fileName)
MCGIDI_product * MCGIDI_outputChannel_getProductAtIndex(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel, int i)
MCGIDI_KalbachMann * MCGIDI_KalbachMann_free(statusMessageReporting *smr, MCGIDI_KalbachMann *KalbachMann)
MCGIDI_reaction * MCGIDI_reaction_free(statusMessageReporting *smr, MCGIDI_reaction *reaction)
MCGIDI_product * MCGIDI_product_new(statusMessageReporting *smr)
MCGIDI_particle * MCGIDI_particle_new(statusMessageReporting *smr)
MCGIDI_reaction * MCGIDI_reaction_new(statusMessageReporting *smr)
char const * MCGIDI_version(void)
double MCGIDI_outputChannel_getProjectileMass_MeV(statusMessageReporting *smr, MCGIDI_outputChannel *outputChannel)
int MCGIDI_reaction_release(statusMessageReporting *smr, MCGIDI_reaction *reaction)
int MCGIDI_target_heated_read(statusMessageReporting *smr, MCGIDI_target_heated *target, const char *fileName)
void setCrossSectionMode(enum MCGIDI_quantityLookupMode mode)
Definition: MCGIDI.h:110
void setTemperature(double temperature)
Definition: MCGIDI.h:104
enum MCGIDI_quantityLookupMode getMode(std::string const &quantity) const
int setGroupIndex(GIDI_settings const &settings, bool encloseOutOfRange)
void setProjectileEnergy(double e_in)
Definition: MCGIDI.h:98
void setMode(std::string const &quantity, enum MCGIDI_quantityLookupMode mode)
void setModeAll(enum MCGIDI_quantityLookupMode mode)
std::vector< std::string > getListOfLookupQuanities() const
int getGroupIndex(void) const
Definition: MCGIDI.h:100
enum MCGIDI_quantityLookupMode getCrossSectionMode(void) const
Definition: MCGIDI.h:107
double getProjectileEnergy(void) const
Definition: MCGIDI.h:97
double getTemperature(void) const
Definition: MCGIDI.h:103
int setProductMultiplicityBias(GIDI::statusMessageReporting *smr, int PoPID, double fractor)
double getProductMultiplicityBias(int PoPID) const
Definition: MCGIDI.h:147
GIDI::MCGIDI_POP * mPoP
Definition: MCGIDI.h:139
enum GIDI::xDataTOM_frame mGotFrame
Definition: MCGIDI.h:138
enum nfu_status_e nfu_status
enum ptwXY_interpolation_e ptwXY_interpolation
MCGIDI_POP * finalLevel
Definition: MCGIDI.h:225
enum xDataTOM_frame frame
Definition: MCGIDI.h:374
MCGIDI_pdfsOfXGivenW dists
Definition: MCGIDI.h:376
double energyToMeVFactor
Definition: MCGIDI.h:375
MCGIDI_KalbachMann_ras * ras
Definition: MCGIDI.h:377
double level_MeV
Definition: MCGIDI.h:236
MCGIDI_POP * next
Definition: MCGIDI.h:230
char * name
Definition: MCGIDI.h:232
MCGIDI_GammaBranching * gammas
Definition: MCGIDI.h:238
MCGIDI_POP * parent
Definition: MCGIDI.h:231
int globalPoPsIndex
Definition: MCGIDI.h:233
int numberOfGammaBranchs
Definition: MCGIDI.h:237
double mass_MeV
Definition: MCGIDI.h:235
MCGIDI_POP * first
Definition: MCGIDI.h:243
int increment
Definition: MCGIDI.h:242
MCGIDI_pdfsOfXGivenW * pdfOfEpGivenEAndMu
Definition: MCGIDI.h:365
enum xDataTOM_frame frame
Definition: MCGIDI.h:363
MCGIDI_pdfsOfXGivenW pdfOfMuGivenE
Definition: MCGIDI.h:364
MCGIDI_angular * recoilProduct
Definition: MCGIDI.h:321
MCGIDI_pdfsOfXGivenW dists
Definition: MCGIDI.h:322
enum xDataTOM_frame frame
Definition: MCGIDI.h:319
double productMass_MeV
Definition: MCGIDI.h:323
enum MCGIDI_angularType type
Definition: MCGIDI.h:320
enum xDataTOM_frame frame
Definition: MCGIDI.h:256
MCGIDI_angularEnergy * angularEnergy
Definition: MCGIDI.h:386
MCGIDI_energy * energy
Definition: MCGIDI.h:384
MCGIDI_product * product
Definition: MCGIDI.h:381
MCGIDI_angular * angular
Definition: MCGIDI.h:383
enum MCGIDI_distributionType type
Definition: MCGIDI.h:382
MCGIDI_energyAngular * energyAngular
Definition: MCGIDI.h:385
MCGIDI_KalbachMann * KalbachMann
Definition: MCGIDI.h:387
enum xDataTOM_frame frame
Definition: MCGIDI.h:357
MCGIDI_pdfsOfXGivenW * pdfOfMuGivenEAndEp
Definition: MCGIDI.h:359
MCGIDI_pdfsOfXGivenW pdfOfEpGivenE
Definition: MCGIDI.h:358
MCGIDI_pdfsOfXGivenW dists
Definition: MCGIDI.h:347
ptwXY_interpolation gInterpolation
Definition: MCGIDI.h:350
ptwXYPoints * theta
Definition: MCGIDI.h:349
double primaryGammaMassFactor
Definition: MCGIDI.h:345
enum xDataTOM_frame frame
Definition: MCGIDI.h:342
double U
Definition: MCGIDI.h:348
double e_inCOMFactor
Definition: MCGIDI.h:346
MCGIDI_energyNBodyPhaseSpace NBodyPhaseSpace
Definition: MCGIDI.h:353
double gammaEnergy_MeV
Definition: MCGIDI.h:344
MCGIDI_pdfOfX g
Definition: MCGIDI.h:351
MCGIDI_energyWeightedFunctionals weightedFunctionals
Definition: MCGIDI.h:352
enum MCGIDI_energyType type
Definition: MCGIDI.h:343
MCGIDI_reaction * reaction
Definition: MCGIDI.h:392
MCGIDI_product * parent
Definition: MCGIDI.h:393
enum MCGIDI_channelGenre genre
Definition: MCGIDI.h:391
MCGIDI_product * products
Definition: MCGIDI.h:397
MCGIDI_particle * prior
Definition: MCGIDI.h:247
MCGIDI_particle * next
Definition: MCGIDI.h:248
double mass_MeV
Definition: MCGIDI.h:251
double * Xs
Definition: MCGIDI.h:299
double * pdf
Definition: MCGIDI.h:300
int numberOfXs
Definition: MCGIDI.h:298
double * cdf
Definition: MCGIDI.h:301
MCGIDI_pdfOfX * dist
Definition: MCGIDI.h:308
ptwXY_interpolation interpolationWY
Definition: MCGIDI.h:306
ptwXY_interpolation interpolationWY
Definition: MCGIDI.h:313
statusMessageReporting * smr
Definition: MCGIDI.h:312
enum MCGIDI_productMultiplicityType productMultiplicityType
Definition: MCGIDI.h:267
ptwXYPoints * norms
Definition: MCGIDI.h:408
MCGIDI_POP * pop
Definition: MCGIDI.h:401
int delayedNeutronIndex
Definition: MCGIDI.h:405
double delayedNeutronRate
Definition: MCGIDI.h:406
int multiplicity
Definition: MCGIDI.h:404
MCGIDI_outputChannel decayChannel
Definition: MCGIDI.h:412
char * label
Definition: MCGIDI.h:402
MCGIDI_distribution distribution
Definition: MCGIDI.h:411
ptwXYPoints * multiplicityVsEnergy
Definition: MCGIDI.h:407
MCGIDI_outputChannel * outputChannel
Definition: MCGIDI.h:403
int numberOfPiecewiseMultiplicities
Definition: MCGIDI.h:409
ptwXYPoints ** piecewiseMultiplicities
Definition: MCGIDI.h:410
MCGIDI_productInfo * productInfo
Definition: MCGIDI.h:275
int numberOfAllocatedProducts
Definition: MCGIDI.h:274
MCGIDI_target_heated * target
Definition: MCGIDI.h:416
enum MCGIDI_reactionType reactionType
Definition: MCGIDI.h:418
int domainValuesPresent
Definition: MCGIDI.h:421
transportabilitiesMap * transportabilities
Definition: MCGIDI.h:430
xDataTOM_attributionList attributes
Definition: MCGIDI.h:420
int thresholdGroupIndex
Definition: MCGIDI.h:422
double thresholdGroupedDeltaCrossSection
Definition: MCGIDI.h:424
char const * outputChannelStr
Definition: MCGIDI.h:419
MCGIDI_outputChannel outputChannel
Definition: MCGIDI.h:428
ptwXPoints * crossSectionGrouped
Definition: MCGIDI.h:427
double thresholdGroupDomain
Definition: MCGIDI.h:423
MCGIDI_productsInfo productsInfo
Definition: MCGIDI.h:429
ptwXYPoints * crossSection
Definition: MCGIDI.h:426
MCGIDI_sampledProductsData * products
Definition: MCGIDI.h:294
MCGIDI_target_heated * heatedTarget
Definition: MCGIDI.h:457
MCGIDI_POP * projectilePOP
Definition: MCGIDI.h:438
MCGIDI_POPs pops
Definition: MCGIDI.h:437
ptwXYPoints * crossSection
Definition: MCGIDI.h:444
xDataTOM_attributionList attributes
Definition: MCGIDI.h:440
double temperature_MeV
Definition: MCGIDI.h:442
ptwXPoints * crossSectionGrouped
Definition: MCGIDI.h:445
ptwXPoints * crossSectionGroupedForSampling
Definition: MCGIDI.h:446
MCGIDI_reaction * reactions
Definition: MCGIDI.h:448
transportabilitiesMap * transportabilities
Definition: MCGIDI.h:449
MCGIDI_POP * targetPOP
Definition: MCGIDI.h:439
MCGIDI_target_heated_info * heatedTargets
Definition: MCGIDI.h:468
MCGIDI_POP * targetPOP
Definition: MCGIDI.h:464
MCGIDI_POP * projectilePOP
Definition: MCGIDI.h:463
xDataTOM_attributionList attributes
Definition: MCGIDI.h:465
char * path
Definition: MCGIDI.h:461
char * absPath
Definition: MCGIDI.h:462
MCGIDI_target_heated * baseHeatedTarget
Definition: MCGIDI.h:467
int nHeatedTargets
Definition: MCGIDI.h:466
MCGIDI_target_heated_info ** readHeatedTargets
Definition: MCGIDI.h:469
int xDataTOM_Int
Definition: xDataTOM.h:16
xDataTOM_frame
Definition: xDataTOM.h:23