Geant4 Cross Reference |
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