58 fParaWorldName.clear();
66 fParaWorldName.clear();
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" ) {
367 theElasticProcess->
RegisterMe(theElasticModel);
376 if (particleName ==
"pi+") {
381 theInelasticProcess->
RegisterMe(theTheoModel);
383 }
else if (particleName ==
"pi-") {
388 theInelasticProcess->
RegisterMe(theTheoModel);
390 }
else if (particleName ==
"kaon+") {
395 theInelasticProcess->
RegisterMe(theTheoModel);
398 else if (particleName ==
"kaon0S") {
403 theInelasticProcess->
RegisterMe(theTheoModel);
406 else if (particleName ==
"kaon0L") {
411 theInelasticProcess->
RegisterMe(theTheoModel);
414 else if (particleName ==
"kaon-") {
419 theInelasticProcess->
RegisterMe(theTheoModel);
422 else if (particleName ==
"proton") {
427 theInelasticProcess->
RegisterMe(theTheoModel);
430 else if (particleName ==
"anti_proton") {
434 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
437 }
else if (particleName ==
"neutron") {
445 theInelasticProcess->
RegisterMe(theTheoModel);
451 theFissionProcess->
RegisterMe(theFissionModel);
457 theCaptureProcess->
RegisterMe(theCaptureModel);
460 }
else if (particleName ==
"anti_neutron") {
464 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
467 }
else if (particleName ==
"lambda") {
472 theInelasticProcess->
RegisterMe(theTheoModel);
475 else if (particleName ==
"anti_lambda") {
479 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
482 else if (particleName ==
"sigma+") {
487 theInelasticProcess->
RegisterMe(theTheoModel);
490 else if (particleName ==
"sigma-") {
495 theInelasticProcess->
RegisterMe(theTheoModel);
498 else if (particleName ==
"anti_sigma+") {
502 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
505 else if (particleName ==
"anti_sigma-") {
509 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
512 else if (particleName ==
"xi0") {
517 theInelasticProcess->
RegisterMe(theTheoModel);
520 else if (particleName ==
"xi-") {
525 theInelasticProcess->
RegisterMe(theTheoModel);
528 else if (particleName ==
"anti_xi0") {
532 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
535 else if (particleName ==
"anti_xi-") {
539 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
542 else if (particleName ==
"deuteron") {
546 theInelasticProcess->
RegisterMe(binaryCascade);
553 else if (particleName ==
"triton") {
557 theInelasticProcess->
RegisterMe(binaryCascade);
564 else if (particleName ==
"alpha") {
568 theInelasticProcess->
RegisterMe(binaryCascade);
575 }
else if (particleName ==
"omega-") {
580 theInelasticProcess->
RegisterMe(theTheoModel);
583 }
else if (particleName ==
"anti_omega-") {
587 theInelasticProcess->
RegisterMe(antiBHighEnergyModel);
623 G4cout <<
"B03PhysicsList::SetCuts:";
636 G4int npw = fParaWorldName.size();
637 for (
G4int i = 0; i < npw; i++){
638 G4String procName =
"ParaWorldProc_"+fParaWorldName[i];
648 pmanager->
AddProcess(theParallelWorldProcess);
665 G4cout <<
" Preparing Importance Sampling with GhostWorld "
666 << fBiasWorldName <<
G4endl;
681 #ifdef G4MULTITHREADED
684 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 SetVerboseLevel(G4int value)
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
void ConstructAllLeptons()
static void ConstructParticle()
virtual void ConstructHad()
void ConstructAllShortLiveds()
G4bool IsShortLived() const
void ConstructAllBaryons()
void SetCutsWithDefault()
static G4IStore * GetInstance()
virtual void ConstructEM()
void ConstructAllMesons()
G4ProcessManager * GetProcessManager() const
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
G4double GetPDGCharge() const
virtual void PrepareImportanceSampling(G4VIStore *istore, const G4VImportanceAlgorithm *ialg)
virtual ~B03PhysicsList()