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