BOSS
7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
BesIonPhysics.cc
Go to the documentation of this file.
1
2
#include "
BesIonPhysics.hh
"
3
4
#include "globals.hh"
5
#include "G4ios.hh"
6
#include <iomanip>
7
8
9
BesIonPhysics::BesIonPhysics
(
const
G4String& name)
10
: G4VPhysicsConstructor(name)
11
{
12
}
13
14
BesIonPhysics::~BesIonPhysics
()
15
{
16
}
17
18
#include "G4ParticleDefinition.hh"
19
#include "G4ParticleTable.hh"
20
21
// Nuclei
22
#include "G4IonConstructor.hh"
23
24
void
BesIonPhysics::ConstructParticle
()
25
{
26
// Construct light ions
27
G4IonConstructor pConstructor;
28
pConstructor.ConstructParticle();
29
}
30
31
32
#include "G4ProcessManager.hh"
33
34
35
void
BesIonPhysics::ConstructProcess
()
36
{
/*
37
G4ProcessManager * pManager = 0;
38
39
// Elastic Process
40
theElasticModel = new G4LElastic();
41
theElasticProcess.RegisterMe(theElasticModel);
42
43
// Generic Ion
44
pManager = G4GenericIon::GenericIon()->GetProcessManager();
45
// add process
46
pManager->AddDiscreteProcess(&theElasticProcess);
47
48
pManager->AddProcess(&fIonMultipleScattering, -1, 1, 1);
49
pManager->AddProcess(&fIonIonisation, -1, 2, 2);
50
51
// Deuteron
52
pManager = G4Deuteron::Deuteron()->GetProcessManager();
53
// add process
54
pManager->AddDiscreteProcess(&theElasticProcess);
55
56
fDeuteronModel = new G4LEDeuteronInelastic();
57
fDeuteronProcess.RegisterMe(fDeuteronModel);
58
pManager->AddDiscreteProcess(&fDeuteronProcess);
59
60
pManager->AddProcess(&fDeuteronMultipleScattering, -1, 1, 1);
61
pManager->AddProcess(&fDeuteronIonisation, -1, 2, 2);
62
63
// Triton
64
pManager = G4Triton::Triton()->GetProcessManager();
65
// add process
66
pManager->AddDiscreteProcess(&theElasticProcess);
67
68
fTritonModel = new G4LETritonInelastic();
69
fTritonProcess.RegisterMe(fTritonModel);
70
pManager->AddDiscreteProcess(&fTritonProcess);
71
72
pManager->AddProcess(&fTritonMultipleScattering, -1, 1, 1);
73
pManager->AddProcess(&fTritonIonisation, -1, 2, 2);
74
75
// Alpha
76
pManager = G4Alpha::Alpha()->GetProcessManager();
77
// add process
78
pManager->AddDiscreteProcess(&theElasticProcess);
79
80
fAlphaModel = new G4LEAlphaInelastic();
81
fAlphaProcess.RegisterMe(fAlphaModel);
82
pManager->AddDiscreteProcess(&fAlphaProcess);
83
84
pManager->AddProcess(&fAlphaMultipleScattering, -1, 1, 1);
85
pManager->AddProcess(&fAlphaIonisation, -1, 2, 2);
86
87
// He3
88
pManager = G4He3::He3()->GetProcessManager();
89
// add process
90
pManager->AddDiscreteProcess(&theElasticProcess);
91
92
pManager->AddProcess(&fHe3MultipleScattering, -1, 1, 1);
93
pManager->AddProcess(&fHe3Ionisation, -1, 2, 2);
94
*/
95
96
}
97
98
99
BesIonPhysics.hh
BesIonPhysics::BesIonPhysics
BesIonPhysics(const G4String &name="ion")
Definition
BesIonPhysics.cc:9
BesIonPhysics::ConstructParticle
virtual void ConstructParticle()
Definition
BesIonPhysics.cc:24
BesIonPhysics::~BesIonPhysics
virtual ~BesIonPhysics()
Definition
BesIonPhysics.cc:14
BesIonPhysics::ConstructProcess
virtual void ConstructProcess()
Definition
BesIonPhysics.cc:35
7.1.2
Simulation
BOOST
PhySim
PhySim-00-01-00
src
BesIonPhysics.cc
Generated by
1.12.0