#include <SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics.h>
Public Member Functions | |
CMSEmStandardPhysics (const G4String &name, G4int ver) | |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
virtual | ~CMSEmStandardPhysics () |
Private Attributes | |
G4int | verbose |
Definition at line 7 of file CMSEmStandardPhysics.h.
CMSEmStandardPhysics::CMSEmStandardPhysics | ( | const G4String & | name, | |
G4int | ver | |||
) |
Definition at line 63 of file CMSEmStandardPhysics.cc.
00063 : 00064 G4VPhysicsConstructor(name), verbose(ver) { 00065 G4LossTableManager::Instance(); 00066 }
CMSEmStandardPhysics::~CMSEmStandardPhysics | ( | ) | [virtual] |
void CMSEmStandardPhysics::ConstructParticle | ( | ) | [virtual] |
Definition at line 70 of file CMSEmStandardPhysics.cc.
References configurableAnalysis::Electron.
00070 { 00071 // gamma 00072 G4Gamma::Gamma(); 00073 00074 // leptons 00075 G4Electron::Electron(); 00076 G4Positron::Positron(); 00077 G4MuonPlus::MuonPlus(); 00078 G4MuonMinus::MuonMinus(); 00079 G4TauMinus::TauMinusDefinition(); 00080 G4TauPlus::TauPlusDefinition(); 00081 00082 // mesons 00083 G4PionPlus::PionPlusDefinition(); 00084 G4PionMinus::PionMinusDefinition(); 00085 G4KaonPlus::KaonPlusDefinition(); 00086 G4KaonMinus::KaonMinusDefinition(); 00087 G4DMesonMinus::DMesonMinusDefinition(); 00088 G4DMesonPlus::DMesonPlusDefinition(); 00089 G4BMesonMinus::BMesonMinusDefinition(); 00090 G4BMesonPlus::BMesonPlusDefinition(); 00091 00092 // barions 00093 G4Proton::Proton(); 00094 G4AntiProton::AntiProton(); 00095 G4SigmaMinus::SigmaMinusDefinition(); 00096 G4AntiSigmaMinus::AntiSigmaMinusDefinition(); 00097 G4SigmaPlus::SigmaPlusDefinition(); 00098 G4AntiSigmaPlus::AntiSigmaPlusDefinition(); 00099 G4XiMinus::XiMinusDefinition(); 00100 G4AntiXiMinus::AntiXiMinusDefinition(); 00101 G4OmegaMinus::OmegaMinusDefinition(); 00102 G4AntiOmegaMinus::AntiOmegaMinusDefinition(); 00103 G4LambdacPlus::LambdacPlusDefinition(); 00104 G4AntiLambdacPlus::AntiLambdacPlusDefinition(); 00105 G4XicPlus::XicPlusDefinition(); 00106 G4AntiXicPlus::AntiXicPlusDefinition(); 00107 00108 // ions 00109 G4Deuteron::Deuteron(); 00110 G4Triton::Triton(); 00111 G4He3::He3(); 00112 G4Alpha::Alpha(); 00113 G4GenericIon::GenericIonDefinition(); 00114 }
void CMSEmStandardPhysics::ConstructProcess | ( | ) | [virtual] |
Definition at line 116 of file CMSEmStandardPhysics.cc.
00116 { 00117 // Add standard EM Processes 00118 00119 theParticleIterator->reset(); 00120 while( (*theParticleIterator)() ){ 00121 G4ParticleDefinition* particle = theParticleIterator->value(); 00122 G4ProcessManager* pmanager = particle->GetProcessManager(); 00123 G4String particleName = particle->GetParticleName(); 00124 if(verbose > 1) 00125 G4cout << "### " << GetPhysicsName() << " instantiates for " 00126 << particleName << G4endl; 00127 00128 if (particleName == "gamma") { 00129 00130 pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); 00131 pmanager->AddDiscreteProcess(new G4ComptonScattering); 00132 pmanager->AddDiscreteProcess(new G4GammaConversion); 00133 00134 } else if (particleName == "e-") { 00135 00136 pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); 00137 pmanager->AddProcess(new G4eIonisation, -1, 2, 2); 00138 pmanager->AddProcess(new G4eBremsstrahlung(), -1, 3, 3); 00139 00140 } else if (particleName == "e+") { 00141 00142 pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); 00143 pmanager->AddProcess(new G4eIonisation, -1, 2, 2); 00144 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); 00145 pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); 00146 00147 } else if (particleName == "mu+" || 00148 particleName == "mu-" ) { 00149 00150 pmanager->AddProcess(new G4hMultipleScattering,-1, 1, 1); 00151 pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); 00152 pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); 00153 pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4); 00154 00155 } else if (particleName == "alpha" || 00156 particleName == "He3" || 00157 particleName == "GenericIon") { 00158 00159 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 00160 pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); 00161 00162 } else if (particleName == "anti_omega-" || 00163 particleName == "anti_proton" || 00164 particleName == "anti_sigma+" || 00165 particleName == "anti_sigma-" || 00166 particleName == "anti_xi-" || 00167 particleName == "deuteron" || 00168 particleName == "kaon+" || 00169 particleName == "kaon-" || 00170 particleName == "omega-" || 00171 particleName == "pi+" || 00172 particleName == "pi-" || 00173 particleName == "proton" || 00174 particleName == "sigma+" || 00175 particleName == "sigma-" || 00176 particleName == "tau+" || 00177 particleName == "tau-" || 00178 particleName == "triton" || 00179 particleName == "xi-" || 00180 particleName == "B-" || 00181 particleName == "B+" || 00182 particleName == "D-" || 00183 particleName == "D+" || 00184 particleName == "anti_lambda_c+" || 00185 particleName == "anti_xi_c+" || 00186 particleName == "lambda_c+" || 00187 particleName == "xi_c+" ) { 00188 00189 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 00190 pmanager->AddProcess(new G4hIonisation, -1, 2, 2); 00191 /* 00192 if (particleName == "pi+" || 00193 particleName == "kaon+" || 00194 particleName == "kaon-" || 00195 particleName == "proton" || 00196 particleName == "pi-" ) { 00197 pmanager->AddProcess(new G4hBremsstrahlung(), -1, 3, 3); 00198 pmanager->AddProcess(new G4hPairProduction(), -1, 4, 4); 00199 } 00200 */ 00201 } 00202 } 00203 G4EmProcessOptions opt; 00204 opt.SetVerbose(verbose); 00205 }
G4int CMSEmStandardPhysics::verbose [private] |
Definition at line 17 of file CMSEmStandardPhysics.h.