Definition at line 471 of file G4PhysicsListHelper.cc.
473{
474 if(theTable == 0)
475 {
476#ifdef G4VERBOSE
477 if(verboseLevel > 0)
478 {
479 G4cout <<
"G4PhysicsListHelper::RegisterProcess :"
480 << " No ordering parameter table : " << ordParamFileName
482 }
483#endif
484 G4Exception(
"G4PhysicsListHelper::RegisterProcess",
"Run0107",
486 return false;
487 }
488
492
493#ifdef G4VERBOSE
494 if(verboseLevel > 2)
495 {
496 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" << pName
497 << " Process Type = " << pType << " SubType = " << pSubType << " to "
499 }
500#endif
501
502
503 if((pType < 1) || (pSubType < 1))
504 {
505#ifdef G4VERBOSE
506 if(verboseLevel > 0)
507 {
508 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" << pName <<
" for "
510 << " has illegal Process Type = " << pType
511 <<
" SubType = " << pSubType <<
G4endl;
512 }
513#endif
514 G4Exception(
"G4PhysicsListHelper::RegisterProcess",
"Run0108",
516 return false;
517 }
518
521 G4bool duplicable =
false;
522 for(
G4int i = 0; i < sizeOfTable; ++i)
523 {
525 if((tmp->processType == pType) && (tmp->processSubType == pSubType))
526 {
527 ord[0] = tmp->ordering[0];
528 ord[1] = tmp->ordering[1];
529 ord[2] = tmp->ordering[2];
530 duplicable = tmp->isDuplicable;
531 isFound = true;
532 break;
533 }
534 }
535 if(!isFound)
536 {
537#ifdef G4VERBOSE
538 if(verboseLevel > 0)
539 {
540 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" << pName <<
" for "
542 << "/" << pSubType
543 <<
" is not registered in OrdingParameterTable " <<
G4endl;
544 }
545#endif
546 G4Exception(
"G4PhysicsListHelper::RegisterProcess",
"Run0109",
548 return false;
549 }
550
551
553 if(pManager == 0)
554 {
555
556#ifdef G4VERBOSE
557 if(verboseLevel > 0)
558 {
559 G4cout <<
"G4PhysicsListHelper::RegisterProcess "
562 }
563#endif
564 G4Exception(
"G4PhysicsListHelper::RegisterProcess ",
"Riun0110",
566 return false;
567 }
568
569
570 if(!duplicable)
571 {
572 G4bool duplicated =
false;
574 for(std::size_t idx = 0; idx < pList->
size(); ++idx)
575 {
578 {
579 duplicated = true;
580#ifdef G4VERBOSE
581 if(verboseLevel > 0)
582 {
583 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" << pName <<
" for "
585 << " with type/subtype =" << pType << "/" << pSubType
589 }
590#endif
591 G4Exception(
"G4PhysicsListHelper::RegisterProcess",
"Run0111",
593 }
594 }
595 if(duplicated)
596 return false;
597 }
598
599
602 return false;
603
604
605 for(
G4int idx = 0; idx < 3; ++idx)
606 {
609 if(ord[idx] < 0)
610 {
611
612 }
613 else if(ord[idx] == 0)
614 {
616 }
617 else if(ord[idx] < 9999)
618 {
620 }
621 else
622 {
624 }
625 }
626#ifdef G4VERBOSE
627 if(verboseLevel > 1)
628 {
629 G4cout <<
"G4PhysicsListHelper::RegisterProcess :" << pName <<
" for "
631 << "/" << pSubType
632 << " is successfully registered with ordering parameters " << ord[0]
633 <<
":" << ord[1] <<
":" << ord[2] <<
G4endl;
634 }
635#endif
636 return true;
637}
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(), G4EmBuilder::ConstructBasicEmPhysics(), G4EmBuilder::ConstructCharged(), G4EmBuilder::ConstructIonEmPhysics(), G4EmBuilder::ConstructLightHadrons(), G4EmDNAChemistry_option1::ConstructProcess(), G4EmDNAChemistry_option3::ConstructProcess(), G4EmDNAPhysics::ConstructProcess(), G4EmDNAPhysics_option1::ConstructProcess(), G4EmDNAPhysics_option2::ConstructProcess(), G4EmDNAPhysics_option3::ConstructProcess(), G4EmDNAPhysics_option4::ConstructProcess(), G4EmDNAPhysics_option5::ConstructProcess(), G4EmDNAPhysics_option6::ConstructProcess(), G4EmDNAPhysics_option7::ConstructProcess(), G4EmDNAPhysics_option8::ConstructProcess(), G4EmDNAPhysics_stationary::ConstructProcess(), G4EmDNAPhysics_stationary_option2::ConstructProcess(), G4EmDNAPhysics_stationary_option4::ConstructProcess(), G4EmDNAPhysics_stationary_option6::ConstructProcess(), G4EmExtraPhysics::ConstructProcess(), G4DecayPhysics::ConstructProcess(), G4UnknownDecayPhysics::ConstructProcess(), G4EmDNAPhysicsActivator::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(), G4HadronElasticPhysics::ConstructProcess(), G4HadronInelasticQBBC::ConstructProcess(), G4HadronPhysicsFTFQGSP_BERT::ConstructProcess(), and G4VPhysicsConstructor::RegisterProcess().