47 static std::vector< G4int > aVectorOfInts;
49 static std::vector< G4String > aVectorOfStrings;
100 InsertModel( 10025,
"model_GammaGammaEntanglement" );
116 InsertModel( 11001,
"model_Ritchie1994eSolvation" );
117 InsertModel( 11002,
"model_Terrisol1990eSolvation" );
118 InsertModel( 11003,
"model_Meesungnoen2002eSolvation" );
119 InsertModel( 11004,
"model_Kreipl2009eSolvation" );
120 InsertModel( 11005,
"model_MeesungnoenSolid2002eSolvation" );
140 InsertModel( 20000,
"model_projectileEMDissociation" );
141 InsertModel( 20001,
"model_targetEMDissociation" );
154 InsertModel( 20200,
"model_G4ElectroVDNuclearModel" );
157 InsertModel( 20300,
"model_G4MuonVDNuclearModel" );
215 InsertModel( 21090,
"model_G4LEHadronProtonElastic" );
276 InsertModel( 23110,
"model_G4BinaryLightIonReaction" );
311 InsertModel( 24050,
"model_G4NonEquilibriumEvaporator" );
318 InsertModel( 24100,
"model_G4EvaporationChannel" );
321 InsertModel( 24110,
"model_e-InternalConversion" );
324 InsertModel( 24120,
"model_G4UnstableFragmentBreakUp" );
355 InsertModel( 24400,
"model_G4WilsonAblationModel" );
360 InsertModel( 24450,
"model_G4CompetitiveFission" );
370 InsertModel( 24600,
"model_G4EquilibriumEvaporator" );
399 InsertModel( 25030,
"model_G4ParticleHPNInelasticFS_F01" );
401 InsertModel( 25031,
"model_G4ParticleHPNXInelasticFS_F02" );
403 InsertModel( 25032,
"model_G4ParticleHP2NDInelasticFS_F03" );
405 InsertModel( 25033,
"model_G4ParticleHP2NInelasticFS_F04" );
407 InsertModel( 25034,
"model_G4ParticleHP3NInelasticFS_F05" );
409 InsertModel( 25035,
"model_G4ParticleHPNAInelasticFS_F06" );
411 InsertModel( 25036,
"model_G4ParticleHPN3AInelasticFS_F07" );
413 InsertModel( 25037,
"model_G4ParticleHP2NAInelasticFS_F08" );
415 InsertModel( 25038,
"model_G4ParticleHP3NAInelasticFS_F09" );
417 InsertModel( 25039,
"model_G4ParticleHPNPInelasticFS_F10" );
419 InsertModel( 25040,
"model_G4ParticleHPN2AInelasticFS_F11" );
421 InsertModel( 25041,
"model_G4ParticleHP2N2AInelasticFS_F12" );
423 InsertModel( 25042,
"model_G4ParticleHPNDInelasticFS_F13" );
425 InsertModel( 25043,
"model_G4ParticleHPNTInelasticFS_F14" );
427 InsertModel( 25044,
"model_G4ParticleHPNHe3InelasticFS_F15" );
429 InsertModel( 25045,
"model_G4ParticleHPND2AInelasticFS_F16" );
431 InsertModel( 25046,
"model_G4ParticleHPNT2AInelasticFS_F17" );
433 InsertModel( 25047,
"model_G4ParticleHP4NInelasticFS_F18" );
435 InsertModel( 25048,
"model_G4ParticleHP2NPInelasticFS_F19" );
437 InsertModel( 25049,
"model_G4ParticleHP3NPInelasticFS_F20" );
439 InsertModel( 25050,
"model_G4ParticleHPN2PInelasticFS_F21" );
441 InsertModel( 25051,
"model_G4ParticleHPNPAInelasticFS_F22" );
443 InsertModel( 25052,
"model_G4ParticleHPPInelasticFS_F23" );
445 InsertModel( 25053,
"model_G4ParticleHPDInelasticFS_F24" );
447 InsertModel( 25054,
"model_G4ParticleHPTInelasticFS_F25" );
449 InsertModel( 25055,
"model_G4ParticleHPHe3InelasticFS_F26" );
451 InsertModel( 25056,
"model_G4ParticleHPAInelasticFS_F27" );
453 InsertModel( 25057,
"model_G4ParticleHP2AInelasticFS_F28" );
455 InsertModel( 25058,
"model_G4ParticleHP3AInelasticFS_F29" );
457 InsertModel( 25059,
"model_G4ParticleHP2PInelasticFS_F30" );
459 InsertModel( 25060,
"model_G4ParticleHPPAInelasticFS_F31" );
461 InsertModel( 25061,
"model_G4ParticleHPD2AInelasticFS_F32" );
463 InsertModel( 25062,
"model_G4ParticleHPT2AInelasticFS_F33" );
465 InsertModel( 25063,
"model_G4ParticleHPPDInelasticFS_F34" );
467 InsertModel( 25064,
"model_G4ParticleHPPTInelasticFS_F35" );
469 InsertModel( 25065,
"model_G4ParticleHPDAInelasticFS_F36" );
513 InsertModel( 25810,
"model_RDM_AtomicRelaxation" );
531 InsertModel( 26000,
"model_hBertiniCaptureAtRest_EMCascade" );
532 InsertModel( 26001,
"model_hBertiniCaptureAtRest_NuclearCapture" );
533 InsertModel( 26002,
"model_hBertiniCaptureAtRest_DIO" );
535 InsertModel( 26010,
"model_hFritiofCaptureAtRest_EMCascade" );
536 InsertModel( 26011,
"model_hFritiofCaptureAtRest_NuclearCapture" );
537 InsertModel( 26012,
"model_hFritiofCaptureAtRest_DIO" );
539 InsertModel( 26020,
"model_hFritiofWithBinaryCascadeCaptureAtRest_EMCascade" );
540 InsertModel( 26021,
"model_hFritiofWithBinaryCascadeCaptureAtRest_NuclearCapture" );
541 InsertModel( 26022,
"model_hFritiofWithBinaryCascadeCaptureAtRest_DIO" );
543 InsertModel( 26030,
"model_muMinusCaptureAtRest_EMCascade" );
544 InsertModel( 26031,
"model_muMinusCaptureAtRest_NuclearCapture" );
545 InsertModel( 26032,
"model_muMinusCaptureAtRest_DIO" );
575 InsertModel( 30010,
"model_GenBiasForceCollision" );
615 G4Exception(
"G4PhysicsModelCatalog::SanityCheck()",
"PhysModelCatalog001",
618 G4bool isModelIDOutsideRange =
false;
619 G4bool isModelIDRepeated =
false;
620 G4bool isModelNameRepeated =
false;
621 for (
int idx = 0; idx <
Entries(); ++idx ) {
622 G4int modelID = (*theVectorOfModelIDs)[ idx ];
623 G4String modelName = (*theVectorOfModelNames)[ idx ];
625 isModelIDOutsideRange =
true;
627 for (
int jdx = idx + 1; jdx <
Entries(); ++jdx ) {
632 if ( isModelIDOutsideRange || isModelIDRepeated || isModelNameRepeated ) {
634 if ( isModelIDOutsideRange ) ed <<
"theVectorOfModelIDs has NOT all entries between "
637 if ( isModelIDRepeated ) ed <<
"theVectorOfModelIDs has NOT all unique IDs !";
638 if ( isModelNameRepeated ) ed <<
"theVectorOfModelNames has NOT all unique names !";
639 G4Exception(
"G4PhysicsModelCatalog::SanityCheck()",
"PhysModelCatalog002",
653 for (
int idx = 0; idx <
Entries(); ++idx ) {
655 modelName = (*theVectorOfModelNames)[ idx ];
665 return ( modelIndex >= 0 && modelIndex <
Entries() ) ? (*theVectorOfModelNames)[ modelIndex ] :
"Undefined";
670 return ( modelIndex >= 0 && modelIndex <
Entries() ) ? (*theVectorOfModelIDs)[ modelIndex ] : -1;
679 modelID = (*theVectorOfModelIDs)[ idx ];
688 G4int modelIndex = -1;
702 G4int modelIndex = -1;
721 <<
" ==================================================== " <<
G4endl
722 <<
" === G4PhysicsModelCatalog::PrintAllInformation() === " <<
G4endl
723 <<
" ==================================================== " <<
G4endl
724 <<
" SIZE (i.e. number of models in the catalog)=" <<
Entries() <<
G4endl;
725 for (
int idx = 0; idx <
Entries(); ++idx ) {
726 G4int modelID = (*theVectorOfModelIDs)[ idx ];
727 G4String modelName = (*theVectorOfModelNames)[ idx ];
728 G4cout <<
"\t index=" << idx <<
"\t modelName=" << modelName
729 <<
"\t modelID=" << modelID <<
G4endl;
731 G4cout <<
" ==================================================== " <<
G4endl
732 <<
" ==================================================== " <<
G4endl
733 <<
" ==================================================== " <<
G4endl
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4GLOB_DLL std::ostream G4cout
static std::vector< G4String > * theVectorOfModelNames
static const G4String GetModelNameFromIndex(const G4int modelIndex)
static G4int GetMaxAllowedModelIDValue()
static G4bool isInitialized
static G4int GetMinAllowedModelIDValue()
static void InsertModel(G4int modelID, G4String modelName)
static void PrintAllInformation()
static std::vector< G4int > * theVectorOfModelIDs
static G4int GetModelIndex(const G4int modelID)
static void SanityCheck()
static const G4String GetModelNameFromID(const G4int modelID)
static G4int GetModelID(const G4int modelIndex)