/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Simulation/G4Svc/G4Svc-00-01-52/Physics_src/ExN04EMPhysics.cxx

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * DISCLAIMER                                                       *
00004 // *                                                                  *
00005 // * The following disclaimer summarizes all the specific disclaimers *
00006 // * of contributors to this software. The specific disclaimers,which *
00007 // * govern, are listed with their locations in:                      *
00008 // *   http://cern.ch/geant4/license                                  *
00009 // *                                                                  *
00010 // * Neither the authors of this software system, nor their employing *
00011 // * institutes,nor the agencies providing financial support for this *
00012 // * work  make  any representation or  warranty, express or implied, *
00013 // * regarding  this  software system or assume any liability for its *
00014 // * use.                                                             *
00015 // *                                                                  *
00016 // * This  code  implementation is the  intellectual property  of the *
00017 // * GEANT4 collaboration.                                            *
00018 // * By copying,  distributing  or modifying the Program (or any work *
00019 // * based  on  the Program)  you indicate  your  acceptance of  this *
00020 // * statement, and all its terms.                                    *
00021 // ********************************************************************
00022 //
00023 //
00024 // $Id: ExN04EMPhysics.cxx,v 1.1.1.1 2004/09/28 05:16:53 liwd Exp $
00025 // GEANT4 tag $Name: G4Svc-00-01-52 $
00026 //
00027 // 
00028 
00029 #include "Physics/ExN04EMPhysics.hh"
00030 
00031 #include "globals.hh"
00032 #include "G4ios.hh"
00033 
00034 
00035 ExN04EMPhysics::ExN04EMPhysics(const G4String& name)
00036                :  G4VPhysicsConstructor(name)
00037 {
00038 }
00039 
00040 ExN04EMPhysics::~ExN04EMPhysics()
00041 {
00042 }
00043 
00044 #include "G4ParticleDefinition.hh"
00045 #include "G4ParticleTable.hh"
00046 
00047 #include "G4Gamma.hh"
00048 
00049 #include "G4Electron.hh"
00050 #include "G4Positron.hh"
00051 
00052 #include "G4NeutrinoE.hh"
00053 #include "G4AntiNeutrinoE.hh"
00054 
00055 void ExN04EMPhysics::ConstructParticle()
00056 {
00057   // gamma
00058   G4Gamma::GammaDefinition();
00059  
00060   // electron
00061   G4Electron::ElectronDefinition();
00062   G4Positron::PositronDefinition();
00063   G4NeutrinoE::NeutrinoEDefinition();
00064   G4AntiNeutrinoE::AntiNeutrinoEDefinition();
00065 }
00066 
00067 
00068 #include "G4ProcessManager.hh"
00069 
00070 
00071 void ExN04EMPhysics::ConstructProcess()
00072 {
00073   G4ProcessManager * pManager = 0;
00074   
00075   // Gamma Physics
00076   pManager = G4Gamma::Gamma()->GetProcessManager();
00077   pManager->AddDiscreteProcess(&thePhotoEffect);
00078   pManager->AddDiscreteProcess(&theComptonEffect);
00079   pManager->AddDiscreteProcess(&thePairProduction);
00080 
00081   // Electron Physics
00082   pManager = G4Electron::Electron()->GetProcessManager();
00083    // add processes
00084   pManager->AddDiscreteProcess(&theElectronBremsStrahlung);  
00085 
00086   pManager->AddProcess(&theElectronIonisation, ordInActive,2, 2);
00087 
00088   pManager->AddProcess(&theElectronMultipleScattering);
00089   pManager->SetProcessOrdering(&theElectronMultipleScattering, idxAlongStep,  1);
00090   pManager->SetProcessOrdering(&theElectronMultipleScattering, idxPostStep,  1);
00091 
00092   //Positron Physics
00093   pManager = G4Positron::Positron()->GetProcessManager();
00094   // add processes
00095   pManager->AddDiscreteProcess(&thePositronBremsStrahlung);
00096 
00097   pManager->AddDiscreteProcess(&theAnnihilation);
00098 
00099   pManager->AddRestProcess(&theAnnihilation);
00100 
00101   pManager->AddProcess(&thePositronIonisation, ordInActive,2, 2);
00102 
00103   pManager->AddProcess(&thePositronMultipleScattering);
00104   pManager->SetProcessOrdering(&thePositronMultipleScattering, idxAlongStep,  1);
00105   pManager->SetProcessOrdering(&thePositronMultipleScattering, idxPostStep,  1);
00106 
00107 }
00108 
00109 
00110 

Generated on Tue Nov 29 23:14:33 2016 for BOSS_7.0.2 by  doxygen 1.4.7