#include <SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics71.h>
Public Member Functions | |
CMSEmStandardPhysics71 (const G4String &name, G4int ver) | |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
virtual | ~CMSEmStandardPhysics71 () |
Private Attributes | |
G4int | verbose |
Definition at line 7 of file CMSEmStandardPhysics71.h.
CMSEmStandardPhysics71::CMSEmStandardPhysics71 | ( | const G4String & | name, | |
G4int | ver | |||
) |
Definition at line 63 of file CMSEmStandardPhysics71.cc.
00063 : 00064 G4VPhysicsConstructor(name), verbose(ver) { 00065 G4LossTableManager::Instance(); 00066 }
CMSEmStandardPhysics71::~CMSEmStandardPhysics71 | ( | ) | [virtual] |
void CMSEmStandardPhysics71::ConstructParticle | ( | ) | [virtual] |
Definition at line 70 of file CMSEmStandardPhysics71.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 CMSEmStandardPhysics71::ConstructProcess | ( | ) | [virtual] |
Definition at line 116 of file CMSEmStandardPhysics71.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 G4eIonisation* eioni = new G4eIonisation(); 00137 eioni->SetStepFunction(0.8, 1.0*mm); 00138 G4MultipleScattering* msc = new G4MultipleScattering; 00139 msc->SetStepLimitType(fMinimal); 00140 pmanager->AddProcess(msc, -1, 1, 1); 00141 pmanager->AddProcess(eioni, -1, 2, 2); 00142 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); 00143 00144 } else if (particleName == "e+") { 00145 00146 G4eIonisation* eioni = new G4eIonisation(); 00147 eioni->SetStepFunction(0.8, 1.0*mm); 00148 G4MultipleScattering* msc = new G4MultipleScattering; 00149 msc->SetStepLimitType(fMinimal); 00150 pmanager->AddProcess(msc, -1, 1, 1); 00151 pmanager->AddProcess(eioni, -1, 2, 2); 00152 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); 00153 pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); 00154 00155 } else if (particleName == "mu+" || 00156 particleName == "mu-" ) { 00157 00158 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 00159 pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); 00160 pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); 00161 pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4); 00162 00163 } else if (particleName == "alpha" || 00164 particleName == "He3" || 00165 particleName == "GenericIon") { 00166 00167 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 00168 pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); 00169 00170 } else if (particleName == "anti_omega-" || 00171 particleName == "anti_proton" || 00172 particleName == "anti_sigma+" || 00173 particleName == "anti_sigma-" || 00174 particleName == "anti_xi-" || 00175 particleName == "deuteron" || 00176 particleName == "kaon+" || 00177 particleName == "kaon-" || 00178 particleName == "omega-" || 00179 particleName == "pi+" || 00180 particleName == "pi-" || 00181 particleName == "proton" || 00182 particleName == "sigma+" || 00183 particleName == "sigma-" || 00184 particleName == "tau+" || 00185 particleName == "tau-" || 00186 particleName == "triton" || 00187 particleName == "xi-" || 00188 particleName == "B-" || 00189 particleName == "B+" || 00190 particleName == "D-" || 00191 particleName == "D+" || 00192 particleName == "anti_lambda_c+" || 00193 particleName == "anti_xi_c+" || 00194 particleName == "lambda_c+" || 00195 particleName == "xi_c+" ) { 00196 00197 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 00198 pmanager->AddProcess(new G4hIonisation, -1, 2, 2); 00199 /* 00200 if (particleName == "pi+" || 00201 particleName == "kaon+" || 00202 particleName == "kaon-" || 00203 particleName == "proton" || 00204 particleName == "pi-" ) { 00205 pmanager->AddProcess(new G4hBremsstrahlung(), -1, 3, 3); 00206 pmanager->AddProcess(new G4hPairProduction(), -1, 4, 4); 00207 } 00208 */ 00209 } 00210 } 00211 G4EmProcessOptions opt; 00212 opt.SetVerbose(verbose); 00213 }
G4int CMSEmStandardPhysics71::verbose [private] |
Definition at line 17 of file CMSEmStandardPhysics71.h.