GEMC  1.8
Geant4 Monte-Carlo Framework
IonPhysics.cc
Go to the documentation of this file.
1 #include "IonPhysics.h"
2 
3 //#include "G4ParticleTable.hh"
4 #include "G4ProcessManager.hh"
5 #include "G4IonConstructor.hh"
6 
7 // processes
8 #include "G4hMultipleScattering.hh"
9 #include "G4hIonisation.hh"
10 #include "G4ionIonisation.hh"
11 #include "G4HadronElasticProcess.hh"
12 #include "G4DeuteronInelasticProcess.hh"
13 #include "G4TritonInelasticProcess.hh"
14 #include "G4AlphaInelasticProcess.hh"
15 
16 // models
17 #include "G4LEDeuteronInelastic.hh"
18 #include "G4LETritonInelastic.hh"
19 #include "G4LEAlphaInelastic.hh"
20 
22 {
23  gemcOpt = Opt;
24 }
25 
26 
28 
29 
31 {
32  // Construct light ions (d, t, 3He, alpha, and generic ion)
33  G4IonConstructor ionConstruct;
34  ionConstruct.ConstructParticle();
35 }
36 
37 
39 {
40  string hd_msg = gemcOpt.args["LOG_MSG"].args + " Ion Physics List: <<< ";
41 // double VERB = gemcOpt.args["PHY_VERBOSITY"].arg ;
42  cout << hd_msg << " Building Ion Processes " << endl;
43 
44  G4ProcessManager * pManager = 0;
45 
47  // Deuteron //
49  pManager = G4Deuteron::Deuteron()->GetProcessManager();
50 
51  G4DeuteronInelasticProcess* dinelProc = new G4DeuteronInelasticProcess();
52  G4LEDeuteronInelastic* LEPdModel = new G4LEDeuteronInelastic();
53  dinelProc->RegisterMe(LEPdModel);
54  pManager->AddDiscreteProcess(dinelProc);
55 
57  // Triton //
59  pManager = G4Triton::Triton()->GetProcessManager();
60 
61  G4TritonInelasticProcess* tinelProc = new G4TritonInelasticProcess();
62  G4LETritonInelastic* LEPtModel = new G4LETritonInelastic();
63  tinelProc->RegisterMe(LEPtModel);
64  pManager->AddDiscreteProcess(tinelProc);
65 
67  // Alpha //
69  pManager = G4Alpha::Alpha()->GetProcessManager();
70 
71  G4AlphaInelasticProcess* ainelProc = new G4AlphaInelasticProcess();
72  G4LEAlphaInelastic* LEPaModel = new G4LEAlphaInelastic();
73  ainelProc->RegisterMe(LEPaModel);
74  pManager->AddDiscreteProcess(ainelProc);
75 
76 
77 }
IonPhysics(gemc_opts)
Definition: IonPhysics.cc:21
map< string, opts > args
Options map.
Definition: usage.h:68
virtual void ConstructParticle()
Definition: IonPhysics.cc:30
virtual ~IonPhysics()
Definition: IonPhysics.cc:27
gemc_opts gemcOpt
Definition: IonPhysics.h:19
virtual void ConstructProcess()
Definition: IonPhysics.cc:38