BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
ExN04EMPhysics.cxx
Go to the documentation of this file.
1//
2// ********************************************************************
3// * DISCLAIMER *
4// * *
5// * The following disclaimer summarizes all the specific disclaimers *
6// * of contributors to this software. The specific disclaimers,which *
7// * govern, are listed with their locations in: *
8// * http://cern.ch/geant4/license *
9// * *
10// * Neither the authors of this software system, nor their employing *
11// * institutes,nor the agencies providing financial support for this *
12// * work make any representation or warranty, express or implied, *
13// * regarding this software system or assume any liability for its *
14// * use. *
15// * *
16// * This code implementation is the intellectual property of the *
17// * GEANT4 collaboration. *
18// * By copying, distributing or modifying the Program (or any work *
19// * based on the Program) you indicate your acceptance of this *
20// * statement, and all its terms. *
21// ********************************************************************
22//
23//
24// $Id: ExN04EMPhysics.cxx,v 1.1.1.1 2004/09/28 05:16:53 liwd Exp $
25// GEANT4 tag $Name: G4Svc-00-01-58 $
26//
27//
28
30
31#include "G4ios.hh"
32#include "globals.hh"
33
34ExN04EMPhysics::ExN04EMPhysics( const G4String& name ) : G4VPhysicsConstructor( name ) {}
35
37
38#include "G4ParticleDefinition.hh"
39#include "G4ParticleTable.hh"
40
41#include "G4Gamma.hh"
42
43#include "G4Electron.hh"
44#include "G4Positron.hh"
45
46#include "G4AntiNeutrinoE.hh"
47#include "G4NeutrinoE.hh"
48
50 // gamma
51 G4Gamma::GammaDefinition();
52
53 // electron
54 G4Electron::ElectronDefinition();
55 G4Positron::PositronDefinition();
56 G4NeutrinoE::NeutrinoEDefinition();
57 G4AntiNeutrinoE::AntiNeutrinoEDefinition();
58}
59
60#include "G4ProcessManager.hh"
61
63 G4ProcessManager* pManager = 0;
64
65 // Gamma Physics
66 pManager = G4Gamma::Gamma()->GetProcessManager();
67 pManager->AddDiscreteProcess( &thePhotoEffect );
68 pManager->AddDiscreteProcess( &theComptonEffect );
69 pManager->AddDiscreteProcess( &thePairProduction );
70
71 // Electron Physics
72 pManager = G4Electron::Electron()->GetProcessManager();
73 // add processes
74 pManager->AddDiscreteProcess( &theElectronBremsStrahlung );
75
76 pManager->AddProcess( &theElectronIonisation, ordInActive, 2, 2 );
77
78 pManager->AddProcess( &theElectronMultipleScattering );
79 pManager->SetProcessOrdering( &theElectronMultipleScattering, idxAlongStep, 1 );
80 pManager->SetProcessOrdering( &theElectronMultipleScattering, idxPostStep, 1 );
81
82 // Positron Physics
83 pManager = G4Positron::Positron()->GetProcessManager();
84 // add processes
85 pManager->AddDiscreteProcess( &thePositronBremsStrahlung );
86
87 pManager->AddDiscreteProcess( &theAnnihilation );
88
89 pManager->AddRestProcess( &theAnnihilation );
90
91 pManager->AddProcess( &thePositronIonisation, ordInActive, 2, 2 );
92
93 pManager->AddProcess( &thePositronMultipleScattering );
94 pManager->SetProcessOrdering( &thePositronMultipleScattering, idxAlongStep, 1 );
95 pManager->SetProcessOrdering( &thePositronMultipleScattering, idxPostStep, 1 );
96}
G4MultipleScattering thePositronMultipleScattering
G4eIonisation theElectronIonisation
G4ComptonScattering theComptonEffect
G4eBremsstrahlung theElectronBremsStrahlung
ExN04EMPhysics(const G4String &name="EM")
virtual ~ExN04EMPhysics()
G4MultipleScattering theElectronMultipleScattering
virtual void ConstructProcess()
G4PhotoElectricEffect thePhotoEffect
G4eplusAnnihilation theAnnihilation
virtual void ConstructParticle()
G4GammaConversion thePairProduction
G4eIonisation thePositronIonisation
G4eBremsstrahlung thePositronBremsStrahlung