Definition at line 461 of file G4PhysicsListHelper.cc.
463{
464 if(theTable == nullptr)
465 {
466#ifdef G4VERBOSE
467 if(verboseLevel > 0)
468 {
469 G4cout <<
"G4PhysicsListHelper::RegisterProcess :"
470 << " No ordering parameter table : " << ordParamFileName
472 }
473#endif
474 G4Exception(
"G4PhysicsListHelper::RegisterProcess",
"Run0107",
476 return false;
477 }
478
482
483#ifdef G4VERBOSE
484 if(verboseLevel > 2)
485 {
486 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" << pName
487 << " Process Type = " << pType << " SubType = " << pSubType << " to "
489 }
490#endif
491
492
493 if((pType < 1) || (pSubType < 1))
494 {
495#ifdef G4VERBOSE
496 if(verboseLevel > 0)
497 {
498 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" << pName <<
" for "
500 << " has illegal Process Type = " << pType
501 <<
" SubType = " << pSubType <<
G4endl;
502 }
503#endif
504 G4Exception(
"G4PhysicsListHelper::RegisterProcess",
"Run0108",
506 return false;
507 }
508
511 G4bool duplicable =
false;
512 for(
G4int i = 0; i < sizeOfTable; ++i)
513 {
515 if((tmp->processType == pType) && (tmp->processSubType == pSubType))
516 {
517 ord[0] = tmp->ordering[0];
518 ord[1] = tmp->ordering[1];
519 ord[2] = tmp->ordering[2];
520 duplicable = tmp->isDuplicable;
521 isFound = true;
522 break;
523 }
524 }
525 if(!isFound)
526 {
527#ifdef G4VERBOSE
528 if(verboseLevel > 0)
529 {
530 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" << pName <<
" for "
532 << "/" << pSubType
533 <<
" is not registered in OrdingParameterTable " <<
G4endl;
534 }
535#endif
536 G4Exception(
"G4PhysicsListHelper::RegisterProcess",
"Run0109",
538 return false;
539 }
540
541
543 if(pManager == nullptr)
544 {
545
546#ifdef G4VERBOSE
547 if(verboseLevel > 0)
548 {
549 G4cout <<
"G4PhysicsListHelper::RegisterProcess "
552 }
553#endif
554 G4Exception(
"G4PhysicsListHelper::RegisterProcess ",
"Riun0110",
556 return false;
557 }
558
559
560 if(!duplicable)
561 {
562 G4bool duplicated =
false;
565 {
568 {
569 duplicated = true;
570#ifdef G4VERBOSE
571 if(verboseLevel > 0)
572 {
573 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" << pName <<
" for "
575 << " with type/subtype =" << pType << "/" << pSubType
579 }
580#endif
581 G4Exception(
"G4PhysicsListHelper::RegisterProcess",
"Run0111",
583 }
584 }
585 if(duplicated)
586 return false;
587 }
588
589
592 return false;
593
594
595 for(
G4int idx = 0; idx < 3; ++idx)
596 {
599 if(ord[idx] < 0)
600 {
601
602 }
603 else if(ord[idx] == 0)
604 {
606 }
607 else if(ord[idx] < 9999)
608 {
610 }
611 else
612 {
614 }
615 }
616#ifdef G4VERBOSE
617 if(verboseLevel > 1)
618 {
619 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" << pName <<
" for "
621 << "/" << pSubType
622 << " is successfully registered with ordering parameters " << ord[0]
623 <<
":" << ord[1] <<
":" << ord[2] <<
G4endl;
624 }
625#endif
626 return true;
627}
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
void SetProcessOrderingToLast(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt)
G4ProcessType GetProcessType() const
G4int GetProcessSubType() const
const G4String & GetProcessName() const
Referenced by G4HadronicBuilder::BuildElastic(), G4HadronicBuilder::BuildFTFP_INCLXX(), G4HadProcesses::BuildNeutronElastic(), G4HadProcesses::BuildNeutronInelasticAndCapture(), G4EmBuilder::ConstructBasicEmPhysics(), G4EmBuilder::ConstructCharged(), G4EmBuilder::ConstructChargedSS(), G4EmBuilder::ConstructElectronMscProcess(), G4EmBuilder::ConstructIonEmPhysics(), G4EmBuilder::ConstructIonEmPhysicsSS(), G4EmBuilder::ConstructLightHadrons(), G4EmBuilder::ConstructLightHadronsSS(), G4EmDNAChemistry_option1::ConstructProcess(), G4EmDNAChemistry_option3::ConstructProcess(), G4DecayPhysics::ConstructProcess(), G4UnknownDecayPhysics::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmLowEPPhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4EmStandardPhysics_option3::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysicsGS::ConstructProcess(), G4EmStandardPhysicsSS::ConstructProcess(), G4EmStandardPhysicsWVI::ConstructProcess(), G4EmExtraPhysics::ConstructProcess(), G4HadronDElasticPhysics::ConstructProcess(), G4HadronElasticPhysics::ConstructProcess(), G4HadronHElasticPhysics::ConstructProcess(), G4HadronInelasticQBBC::ConstructProcess(), G4HadronPhysicsFTFQGSP_BERT::ConstructProcess(), G4EmDNABuilder::ConstructStandardEmPhysics(), G4EmDNABuilder::FindOrBuildAttachment(), G4EmDNABuilder::FindOrBuildChargeDecrease(), G4EmDNABuilder::FindOrBuildChargeIncrease(), G4EmDNABuilder::FindOrBuildElastic(), G4EmDNABuilder::FindOrBuildElectronSolvation(), G4EmDNABuilder::FindOrBuildExcitation(), G4EmDNABuilder::FindOrBuildIonisation(), G4EmDNABuilder::FindOrBuildVibExcitation(), and G4VPhysicsConstructor::RegisterProcess().