CMS 3D CMS Logo

CMSEmStandardPhysics71 Class Reference

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

List of all members.

Public Member Functions

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

Private Attributes

G4int verbose


Detailed Description

Definition at line 7 of file CMSEmStandardPhysics71.h.


Constructor & Destructor Documentation

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]

Definition at line 68 of file CMSEmStandardPhysics71.cc.

00068 {}


Member Function Documentation

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 }


Member Data Documentation

G4int CMSEmStandardPhysics71::verbose [private]

Definition at line 17 of file CMSEmStandardPhysics71.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