207 if(particleName ==
"neutron")
224 #include "G4LivermorePhotoElectricModel.hh" 288 if (particleName ==
"gamma")
296 thePhotoElectricEffect->
SetEmModel(
new G4LivermorePhotoElectricModel());
308 else if (particleName ==
"e-")
326 pmanager->
AddProcess(eBremsstrahlung, -1,-3, 3);
328 else if (particleName ==
"e+")
346 else if( particleName ==
"mu+" ||
347 particleName ==
"mu-" )
354 if( particleName ==
"mu-" )
357 else if (particleName ==
"proton" ||
358 particleName ==
"pi+" ||
359 particleName ==
"pi-")
372 else if(particleName ==
"alpha" ||
373 particleName ==
"deuteron" ||
374 particleName ==
"triton" ||
375 particleName ==
"He3")
385 else if (particleName ==
"GenericIon")
410 pmanager->
AddProcess(aMultipleScattering,-1,1,1);
497 if (particleName ==
"opticalphoton") {
511 #include "G4ElasticHadrNucleusHE.hh" 579 G4ElasticHadrNucleusHE* elastic_he =
new G4ElasticHadrNucleusHE();
580 elastic_he->SetMinEnergy( elastic_elimitPi );
632 if (particleName ==
"pi+")
637 theElasticProcess->
RegisterMe( elastic_lhep1 );
644 theInelasticProcess->
RegisterMe( theFTFModel1 );
645 theInelasticProcess->
RegisterMe( theBERTModel0 );
649 else if (particleName ==
"pi-")
654 theElasticProcess->
RegisterMe( elastic_lhep1 );
661 theInelasticProcess->
RegisterMe( theFTFModel1 );
662 theInelasticProcess->
RegisterMe( theBERTModel0 );
668 else if (particleName ==
"kaon+")
672 theElasticProcess->
RegisterMe( elastic_lhep0 );
679 theInelasticProcess->
RegisterMe( theFTFModel1 );
680 theInelasticProcess->
RegisterMe( theBERTModel0 );
684 else if (particleName ==
"kaon0S")
688 theElasticProcess->
RegisterMe( elastic_lhep0 );
695 theInelasticProcess->
RegisterMe( theFTFModel1 );
696 theInelasticProcess->
RegisterMe( theBERTModel0 );
700 else if (particleName ==
"kaon0L")
704 theElasticProcess->
RegisterMe( elastic_lhep0 );
711 theInelasticProcess->
RegisterMe( theFTFModel1 );
712 theInelasticProcess->
RegisterMe( theBERTModel0 );
716 else if (particleName ==
"kaon-")
720 theElasticProcess->
RegisterMe( elastic_lhep0 );
727 theInelasticProcess->
RegisterMe( theFTFModel1 );
728 theInelasticProcess->
RegisterMe( theBERTModel0 );
733 else if (particleName ==
"proton")
739 theElasticProcess->
RegisterMe( elastic_chip );
745 theInelasticProcess->
RegisterMe( theFTFModel1 );
746 theInelasticProcess->
RegisterMe( theBERTModel0 );
749 else if (particleName ==
"anti_proton")
757 elastic_lhep2->SetMaxEnergy( elastic_elimitAntiNuc );
759 theElasticProcess->
AddDataSet( elastic_anucxs );
760 theElasticProcess->
RegisterMe( elastic_lhep2 );
761 theElasticProcess->
RegisterMe( elastic_anuc );
766 theInelasticProcess->
AddDataSet( theAntiNucleonData );
767 theInelasticProcess->
RegisterMe( theFTFModel0 );
773 else if (particleName ==
"neutron") {
779 theElasticProcess->
RegisterMe( elastic_neutronChipsModel );
783 theElasticProcess->
RegisterMe( theElasticNeutronHP );
790 theInelasticProcess->
RegisterMe( theFTFModel1 );
791 theInelasticProcess->
RegisterMe( theBERTModel1 );
795 theInelasticProcess->
RegisterMe( theNeutronInelasticHPModel );
804 theCaptureProcess->
RegisterMe(theLENeutronCaptureModel);
809 else if (particleName ==
"anti_neutron")
813 theElasticProcess->
RegisterMe( elastic_lhep0 );
818 theInelasticProcess->
AddDataSet( theAntiNucleonData );
819 theInelasticProcess->
RegisterMe( theFTFModel0 );
823 else if (particleName ==
"deuteron")
827 theElasticProcess->
RegisterMe( elastic_lhep0 );
832 theInelasticProcess->
AddDataSet( theGGNuclNuclData );
833 theInelasticProcess->
RegisterMe( theFTFModel1 );
834 theInelasticProcess->
RegisterMe( theBERTModel0 );
838 else if (particleName ==
"triton")
842 theElasticProcess->
RegisterMe( elastic_lhep0 );
847 theInelasticProcess->
AddDataSet( theGGNuclNuclData );
848 theInelasticProcess->
RegisterMe( theFTFModel1 );
849 theInelasticProcess->
RegisterMe( theBERTModel0 );
852 else if (particleName ==
"alpha")
856 theElasticProcess->
RegisterMe( elastic_lhep0 );
861 theInelasticProcess->
AddDataSet( theGGNuclNuclData );
862 theInelasticProcess->
RegisterMe( theFTFModel1 );
863 theInelasticProcess->
RegisterMe( theBERTModel0 );
907 if (particleName ==
"GenericIon")
924 G4cout <<
"DMXPhysicsList::SetCuts:";
927 G4cout <<
"DMXPhysicsList::SetCuts:";
static G4Geantino * GeantinoDefinition()
static G4Electron * ElectronDefinition()
G4bool IsShortLived() const
static G4MuonPlus * MuonPlusDefinition()
void ConstructMyLeptons()
void SetCutValue(G4double aCut, const G4String &pname)
void SetEnergyRange(G4double lowedge, G4double highedge)
virtual void ConstructGeneral()
virtual G4bool IsApplicable(const G4ParticleDefinition &)
void SetFragmentationModel(G4VStringFragmentation *aModel)
static const double nanometer
void SetStepFunction(G4double v1, G4double v2)
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
void ConstructMyHadrons()
void SetVerboseLevel(G4int value)
G4bool IsApplicable(const G4ParticleDefinition &aParticleType)
const G4String & GetParticleType() const
G4ProcessManager * GetProcessManager() const
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
static void ConstructParticle()
static const char * Default_Name()
static void ConstructParticle()
G4ParticleDefinition * GetParticle(G4int index) const
static void ConstructParticle()
G4ComponentAntiNuclNuclearXS * GetComponentCrossSection()
virtual void ConstructProcess()
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
static void ConstructParticle()
void SetAuger(G4bool val)
void RegisterMe(G4HadronicInteraction *a)
void SetDEDXBinning(G4int val)
virtual void AddTransportation()
void SetScintillationYieldFactor(const G4double yieldfactor)
static const char * Default_Name()
void SetMinEnergy(G4double anEnergy)
void SetEmModel(G4VEmModel *, G4int index=1)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
const G4String & GetParticleName() const
void DumpCutValuesTable(G4int flag=1)
G4GLOB_DLL std::ostream G4cout
void SetLambdaBinning(G4int val)
G4IonTable * GetIonTable() const
void SetVerboseLevel(G4int value)
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
static G4NeutrinoE * NeutrinoEDefinition()
static const char * Default_Name()
static G4AntiNeutrinoMu * AntiNeutrinoMuDefinition()
static G4CrossSectionDataSetRegistry * Instance()
static G4Proton * Proton()
static G4Neutron * Neutron()
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
void SetMaxEnergy(G4double val)
virtual void ConstructHad()
static const char * Default_Name()
void SetScintillationExcitationRatio(const G4double ratio)
static G4Positron * PositronDefinition()
static const double micrometer
static G4ProductionCutsTable * GetProductionCutsTable()
static G4ParticleTable * GetParticleTable()
void SetTrackSecondariesFirst(const G4bool state)
void SetProcessOrderingToLast(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt)
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
void ConstructMyShortLiveds()
void SetEmModel(G4VEmModel *, G4int index=1)
static G4MuonMinus * MuonMinusDefinition()
virtual void ConstructOp()
void SetMaxEnergy(const G4double anEnergy)
std::vector< G4InuclElementaryParticle >::iterator particleIterator
static G4ChargedGeantino * ChargedGeantinoDefinition()
static const char * Default_Name()
void SetTransport(G4VIntraNuclearTransportModel *const value)
void SetMscStepLimitation(G4MscStepLimitType val)
G4int AddRestProcess(G4VProcess *aProcess, G4int ord=ordDefault)
static G4AntiNeutrinoE * AntiNeutrinoEDefinition()
static G4OpticalPhoton * OpticalPhotonDefinition()
static G4NeutrinoMu * NeutrinoMuDefinition()
G4double GetPDGCharge() const
virtual void ConstructParticle()
void SetVerboseLevel(G4int value)
virtual void ConstructEM()
void SetStepLimitType(G4MscStepLimitType val)
static G4Gamma * GammaDefinition()