CGEM BOSS
6.6.5.i
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 2013/11/22 02:11:08 juxd Exp $
25
// GEANT4 tag $Name: G4Svc-00-04-01 $
26
//
27
//
28
29
#include "
Physics/ExN04EMPhysics.hh
"
30
31
#include "globals.hh"
32
#include "G4ios.hh"
33
34
35
ExN04EMPhysics::ExN04EMPhysics
(
const
G4String& name)
36
: G4VPhysicsConstructor(name)
37
{
38
}
39
40
ExN04EMPhysics::~ExN04EMPhysics
()
41
{
42
}
43
44
#include "G4ParticleDefinition.hh"
45
#include "G4ParticleTable.hh"
46
47
#include "G4Gamma.hh"
48
49
#include "G4Electron.hh"
50
#include "G4Positron.hh"
51
52
#include "G4NeutrinoE.hh"
53
#include "G4AntiNeutrinoE.hh"
54
55
void
ExN04EMPhysics::ConstructParticle
()
56
{
57
// gamma
58
G4Gamma::GammaDefinition();
59
60
// electron
61
G4Electron::ElectronDefinition();
62
G4Positron::PositronDefinition();
63
G4NeutrinoE::NeutrinoEDefinition();
64
G4AntiNeutrinoE::AntiNeutrinoEDefinition();
65
}
66
67
68
#include "G4ProcessManager.hh"
69
70
71
void
ExN04EMPhysics::ConstructProcess
()
72
{
73
G4ProcessManager * pManager = 0;
74
75
// Gamma Physics
76
pManager = G4Gamma::Gamma()->GetProcessManager();
77
pManager->AddDiscreteProcess(&
thePhotoEffect
);
78
pManager->AddDiscreteProcess(&
theComptonEffect
);
79
pManager->AddDiscreteProcess(&
thePairProduction
);
80
81
// Electron Physics
82
pManager = G4Electron::Electron()->GetProcessManager();
83
// add processes
84
pManager->AddDiscreteProcess(&
theElectronBremsStrahlung
);
85
86
pManager->AddProcess(&
theElectronIonisation
, ordInActive,2, 2);
87
88
pManager->AddProcess(&
theElectronMultipleScattering
);
89
pManager->SetProcessOrdering(&
theElectronMultipleScattering
, idxAlongStep, 1);
90
pManager->SetProcessOrdering(&
theElectronMultipleScattering
, idxPostStep, 1);
91
92
//Positron Physics
93
pManager = G4Positron::Positron()->GetProcessManager();
94
// add processes
95
pManager->AddDiscreteProcess(&
thePositronBremsStrahlung
);
96
97
pManager->AddDiscreteProcess(&
theAnnihilation
);
98
99
pManager->AddRestProcess(&
theAnnihilation
);
100
101
pManager->AddProcess(&
thePositronIonisation
, ordInActive,2, 2);
102
103
pManager->AddProcess(&
thePositronMultipleScattering
);
104
pManager->SetProcessOrdering(&
thePositronMultipleScattering
, idxAlongStep, 1);
105
pManager->SetProcessOrdering(&
thePositronMultipleScattering
, idxPostStep, 1);
106
107
}
108
109
110
ExN04EMPhysics.hh
ExN04EMPhysics::thePositronMultipleScattering
G4MultipleScattering thePositronMultipleScattering
Definition
ExN04EMPhysics.hh:81
ExN04EMPhysics::theElectronIonisation
G4eIonisation theElectronIonisation
Definition
ExN04EMPhysics.hh:77
ExN04EMPhysics::theComptonEffect
G4ComptonScattering theComptonEffect
Definition
ExN04EMPhysics.hh:72
ExN04EMPhysics::theElectronBremsStrahlung
G4eBremsstrahlung theElectronBremsStrahlung
Definition
ExN04EMPhysics.hh:78
ExN04EMPhysics::ExN04EMPhysics
ExN04EMPhysics(const G4String &name="EM")
Definition
ExN04EMPhysics.cxx:35
ExN04EMPhysics::~ExN04EMPhysics
virtual ~ExN04EMPhysics()
Definition
ExN04EMPhysics.cxx:40
ExN04EMPhysics::theElectronMultipleScattering
G4MultipleScattering theElectronMultipleScattering
Definition
ExN04EMPhysics.hh:76
ExN04EMPhysics::ConstructProcess
virtual void ConstructProcess()
Definition
ExN04EMPhysics.cxx:71
ExN04EMPhysics::thePhotoEffect
G4PhotoElectricEffect thePhotoEffect
Definition
ExN04EMPhysics.hh:71
ExN04EMPhysics::theAnnihilation
G4eplusAnnihilation theAnnihilation
Definition
ExN04EMPhysics.hh:84
ExN04EMPhysics::ConstructParticle
virtual void ConstructParticle()
Definition
ExN04EMPhysics.cxx:55
ExN04EMPhysics::thePairProduction
G4GammaConversion thePairProduction
Definition
ExN04EMPhysics.hh:73
ExN04EMPhysics::thePositronIonisation
G4eIonisation thePositronIonisation
Definition
ExN04EMPhysics.hh:82
ExN04EMPhysics::thePositronBremsStrahlung
G4eBremsstrahlung thePositronBremsStrahlung
Definition
ExN04EMPhysics.hh:83
6.6.5.i
Simulation
G4Svc
G4Svc-00-04-01
Physics_src
ExN04EMPhysics.cxx
Generated by
1.12.0