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)