#include <musrPhysicsList.hh>
Public Member Functions | |
| musrPhysicsList () | |
| ~musrPhysicsList () | |
Protected Member Functions | |
| void | ConstructParticle () |
| void | ConstructProcess () |
| void | SetCuts () |
| void | ConstructBosons () |
| void | ConstructLeptons () |
| void | ConstructMesons () |
| void | ConstructBaryons () |
| void | ConstructGeneral () |
| void | ConstructEM () |
Definition at line 11 of file musrPhysicsList.hh.
|
|
Definition at line 19 of file musrPhysicsList.cc. 00019 : G4VUserPhysicsList() 00020 { 00021 defaultCutValue = 1.0*cm; 00022 SetVerboseLevel(0); 00023 }
|
|
|
Definition at line 27 of file musrPhysicsList.cc.
|
|
|
Definition at line 96 of file musrPhysicsList.cc. Referenced by ConstructParticle(). 00097 { 00098 // baryons 00099 G4Proton::ProtonDefinition(); 00100 G4AntiProton::AntiProtonDefinition(); 00101 00102 G4Neutron::NeutronDefinition(); 00103 G4AntiNeutron::AntiNeutronDefinition(); 00104 }
|
|
|
Definition at line 43 of file musrPhysicsList.cc. Referenced by ConstructParticle(). 00044 { 00045 // pseudo-particles 00046 G4Geantino::GeantinoDefinition(); 00047 G4ChargedGeantino::ChargedGeantinoDefinition(); 00048 00049 // gamma 00050 G4Gamma::GammaDefinition(); 00051 }
|
|
|
pmanager->AddProcess(new G4UserSpecialCuts, -1,-1,3); Definition at line 142 of file musrPhysicsList.cc. Referenced by ConstructProcess(). 00143 { 00144 theParticleIterator->reset(); 00145 while( (*theParticleIterator)() ){ 00146 G4ParticleDefinition* particle = theParticleIterator->value(); 00147 G4ProcessManager* pmanager = particle->GetProcessManager(); 00148 G4String particleName = particle->GetParticleName(); 00149 00150 if (particleName == "gamma") { 00151 // gamma 00152 pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); 00153 pmanager->AddDiscreteProcess(new G4ComptonScattering); 00154 pmanager->AddDiscreteProcess(new G4GammaConversion); 00155 00156 } else if (particleName == "e-") { 00157 //electron 00158 pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); 00159 pmanager->AddProcess(new G4eIonisation, -1, 2,2); 00160 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); 00161 00162 } else if (particleName == "e+") { 00163 //positron 00164 pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); 00165 pmanager->AddProcess(new G4eIonisation, -1, 2,2); 00166 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); 00167 pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); 00168 00169 } else if( particleName == "mu+" || 00170 particleName == "mu-" ) { 00171 //muon 00172 00173 pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); 00174 pmanager->AddProcess(new G4MuIonisation, -1, 2,2); 00175 pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3,3); 00176 pmanager->AddProcess(new G4MuPairProduction, -1, 4,4); 00177 pmanager->AddProcess(new musrAtRestSpinRotation, 1, -1, -1); 00178 musrDecay* theDecayProcess = new musrDecay(); 00179 pmanager->AddProcess(theDecayProcess); 00180 pmanager ->SetProcessOrderingToLast(theDecayProcess, idxAtRest); 00181 pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); 00182 00183 00184 } else if ((!particle->IsShortLived()) && 00185 (particle->GetPDGCharge() != 0.0) && 00186 (particle->GetParticleName() != "chargedgeantino")) { 00187 //all others charged particles except geantino 00188 pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); 00189 pmanager->AddProcess(new G4hIonisation, -1, 2,2); 00191 } 00192 } 00193 }
|
|
|
Definition at line 198 of file musrPhysicsList.cc. Referenced by ConstructProcess().
|
|
|
Definition at line 55 of file musrPhysicsList.cc. Referenced by ConstructParticle(). 00056 { 00057 // leptons 00058 // e+/- 00059 G4Electron::ElectronDefinition(); 00060 G4Positron::PositronDefinition(); 00061 // mu+/- 00062 G4MuonPlus::MuonPlusDefinition(); 00063 G4MuonMinus::MuonMinusDefinition(); 00064 G4DecayTable* MuonPlusDecayTable = new G4DecayTable(); 00065 MuonPlusDecayTable -> Insert(new musrMuonDecayChannel("mu+",1.00)); 00066 G4MuonPlus::MuonPlusDefinition() -> SetDecayTable(MuonPlusDecayTable); 00067 // nu_e 00068 G4NeutrinoE::NeutrinoEDefinition(); 00069 G4AntiNeutrinoE::AntiNeutrinoEDefinition(); 00070 // nu_mu 00071 G4NeutrinoMu::NeutrinoMuDefinition(); 00072 G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); 00073 }
|
|
|
Definition at line 77 of file musrPhysicsList.cc. Referenced by ConstructParticle(). 00078 { 00079 // mesons 00080 // light mesons 00081 G4PionPlus::PionPlusDefinition(); 00082 G4PionMinus::PionMinusDefinition(); 00083 G4PionZero::PionZeroDefinition(); 00084 G4Eta::EtaDefinition(); 00085 G4EtaPrime::EtaPrimeDefinition(); 00086 G4KaonPlus::KaonPlusDefinition(); 00087 G4KaonMinus::KaonMinusDefinition(); 00088 G4KaonZero::KaonZeroDefinition(); 00089 G4AntiKaonZero::AntiKaonZeroDefinition(); 00090 G4KaonZeroLong::KaonZeroLongDefinition(); 00091 G4KaonZeroShort::KaonZeroShortDefinition(); 00092 }
|
|
|
Definition at line 32 of file musrPhysicsList.cc. References ConstructBaryons(), ConstructBosons(), ConstructLeptons(), and ConstructMesons(). 00033 { 00034 00035 ConstructBosons(); 00036 ConstructLeptons(); 00037 ConstructMesons(); 00038 ConstructBaryons(); 00039 }
|
|
|
Definition at line 108 of file musrPhysicsList.cc. References ConstructEM(), and ConstructGeneral(). 00109 { 00110 AddTransportation(); 00111 ConstructEM(); 00112 ConstructGeneral(); 00113 }
|
|
|
Definition at line 205 of file musrPhysicsList.cc. 00206 { 00207 //G4VUserPhysicsList::SetCutsWithDefault method sets 00208 //the default cut value for all particle types 00209 // 00210 SetCutsWithDefault(); 00211 00212 if (verboseLevel>0) DumpCutValuesTable(); 00213 }
|
1.4.6