CMS 3D CMS Logo

CMSEmStandardPhysics Class Reference

#include <SimG4Core/PhysicsLists/interface/CMSEmStandardPhysics.h>

List of all members.

Public Member Functions

 CMSEmStandardPhysics (const G4String &name, G4int ver)
virtual void ConstructParticle ()
virtual void ConstructProcess ()
virtual ~CMSEmStandardPhysics ()

Private Attributes

G4int verbose


Detailed Description

Definition at line 7 of file CMSEmStandardPhysics.h.


Constructor & Destructor Documentation

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]

Definition at line 68 of file CMSEmStandardPhysics.cc.

00068 {}


Member Function Documentation

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 }


Member Data Documentation

G4int CMSEmStandardPhysics::verbose [private]

Definition at line 17 of file CMSEmStandardPhysics.h.


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:16:22 2009 for CMSSW by  doxygen 1.5.4