182 if (particleName ==
"gamma") {
189 }
else if (particleName ==
"e-") {
196 }
else if (particleName ==
"e+") {
205 }
else if( particleName ==
"mu+" ||
206 particleName ==
"mu-" ) {
214 }
else if( particleName ==
"GenericIon" ) {
379 theElasticProcess->
RegisterMe(theElasticModel);
388 if (particleName ==
"pi+") {
393 theInelasticProcess->
RegisterMe(theTheoModel);
395 }
else if (particleName ==
"pi-") {
400 theInelasticProcess->
RegisterMe(theTheoModel);
402 }
else if (particleName ==
"kaon+") {
407 theInelasticProcess->
RegisterMe(theTheoModel);
410 else if (particleName ==
"kaon0S") {
415 theInelasticProcess->
RegisterMe(theTheoModel);
418 else if (particleName ==
"kaon0L") {
423 theInelasticProcess->
RegisterMe(theTheoModel);
426 else if (particleName ==
"kaon-") {
431 theInelasticProcess->
RegisterMe(theTheoModel);
434 else if (particleName ==
"proton") {
439 theInelasticProcess->
RegisterMe(theTheoModel);
442 else if (particleName ==
"anti_proton") {
446 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
449 }
else if (particleName ==
"neutron") {
457 theInelasticProcess->
RegisterMe(theTheoModel);
463 theFissionProcess->
RegisterMe(theFissionModel);
469 theCaptureProcess->
RegisterMe(theCaptureModel);
472 }
else if (particleName ==
"anti_neutron") {
476 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
479 }
else if (particleName ==
"lambda") {
484 theInelasticProcess->
RegisterMe(theTheoModel);
487 else if (particleName ==
"anti_lambda") {
491 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
494 else if (particleName ==
"sigma+") {
499 theInelasticProcess->
RegisterMe(theTheoModel);
502 else if (particleName ==
"sigma-") {
507 theInelasticProcess->
RegisterMe(theTheoModel);
510 else if (particleName ==
"anti_sigma+") {
514 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
517 else if (particleName ==
"anti_sigma-") {
521 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
524 else if (particleName ==
"xi0") {
529 theInelasticProcess->
RegisterMe(theTheoModel);
532 else if (particleName ==
"xi-") {
537 theInelasticProcess->
RegisterMe(theTheoModel);
540 else if (particleName ==
"anti_xi0") {
544 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
547 else if (particleName ==
"anti_xi-") {
551 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
554 else if (particleName ==
"deuteron") {
558 theInelasticProcess->
RegisterMe(binaryCascade);
565 else if (particleName ==
"triton") {
569 theInelasticProcess->
RegisterMe(binaryCascade);
576 else if (particleName ==
"alpha") {
580 theInelasticProcess->
RegisterMe(binaryCascade);
587 }
else if (particleName ==
"omega-") {
592 theInelasticProcess->
RegisterMe(theTheoModel);
595 }
else if (particleName ==
"anti_omega-") {
599 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
635 G4cout <<
"B03PhysicsList::SetCuts:";
649 for (
G4int i = 0; i < npw; i++){
660 pmanager->
AddProcess(theParallelWorldProcess);
677 G4cout <<
" Preparing Importance Sampling with GhostWorld "
684 static G4bool first =
true;
693 #ifdef G4MULTITHREADED
696 G4cout <<
" Running in singlethreaded mode!!! " <<
G4endl;
void SetWorld(const G4VPhysicalVolume *world)
void ConstructAllBosons()
static constexpr double mm
void SetProcessOrderingToSecond(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt)
virtual G4bool IsApplicable(const G4ParticleDefinition &)
void SetFragmentationModel(G4VStringFragmentation *aModel)
G4bool IsAtRestRequired(G4ParticleDefinition *)
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
Definition of the B03PhysicsList class.
void SetMinEForMultiFrag(G4double anE)
void SetParallel(G4bool paraflag)
static void ConstructParticle()
static void ConstructParticle()
static void ConstructParticle()
virtual const G4VPhysicalVolume * GetParallelWorldVolumePointer() const
const G4String & GetParticleName() const
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
static void ConstructParticle()
void RegisterMe(G4HadronicInteraction *a)
static constexpr double TeV
void SetParallelWorld(G4String parallelWorldName)
void SetMinEnergy(G4double anEnergy)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
virtual void ConstructGeneral()
G4GLOB_DLL std::ostream G4cout
static void ConstructParticle()
virtual void ConstructProcess()
virtual void ConstructLeptHad()
virtual void AddProcess()
void SetFermiModel(G4VFermiBreakUp *ptr)
void SetVerboseLevel(G4int value)
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
void SetMultiFragmentation(G4VMultiFragmentation *ptr)
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
void ConstructAllLeptons()
static void ConstructParticle()
void SetEvaporation(G4VEvaporation *ptr, G4bool isLocal=false)
virtual void ConstructHad()
void ConstructAllShortLiveds()
G4bool IsShortLived() const
void ConstructAllBaryons()
void SetCutsWithDefault()
static G4IStore * GetInstance()
virtual void ConstructEM()
void ConstructAllMesons()
G4ProcessManager * GetProcessManager() const
void SetMaxAandZForFermiBreakUp(G4int anA, G4int aZ)
virtual void ConstructParticle()
static constexpr double GeV
void SetMaxEnergy(const G4double anEnergy)
void SetDeExcitation(G4VPreCompoundModel *ptr)
std::vector< G4InuclElementaryParticle >::iterator particleIterator
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
void SetTransport(G4VIntraNuclearTransportModel *const value)
static constexpr double MeV
G4GeometrySampler * fGeomSampler
G4double GetPDGCharge() const
virtual void PrepareImportanceSampling(G4VIStore *istore, const G4VImportanceAlgorithm *ialg)
std::vector< G4String > fParaWorldName
virtual ~B03PhysicsList()