aboutsummaryrefslogtreecommitdiffstats
path: root/src/G4BeamTestIonPhysics.cxx.backup
diff options
context:
space:
mode:
Diffstat (limited to 'src/G4BeamTestIonPhysics.cxx.backup')
-rw-r--r--src/G4BeamTestIonPhysics.cxx.backup100
1 files changed, 100 insertions, 0 deletions
diff --git a/src/G4BeamTestIonPhysics.cxx.backup b/src/G4BeamTestIonPhysics.cxx.backup
new file mode 100644
index 0000000..a8cc573
--- /dev/null
+++ b/src/G4BeamTestIonPhysics.cxx.backup
@@ -0,0 +1,100 @@
+#include <iomanip>
+
+#include <globals.hh>
+#include <G4ios.hh>
+#include <G4ParticleDefinition.hh>
+#include <G4ParticleTable.hh>
+#include <G4IonConstructor.hh>
+#include <G4ProcessManager.hh>
+
+#include "G4BeamTestIonPhysics.h"
+
+G4BeamTestIonPhysics::G4BeamTestIonPhysics()
+ : G4VPhysicsConstructor ("ion")
+{}
+
+/********************************************************************/
+
+G4BeamTestIonPhysics::~G4BeamTestIonPhysics()
+{}
+
+
+/********************************************************************/
+
+void G4BeamTestIonPhysics::ConstructParticle()
+{
+ // Construct light ions
+ G4IonConstructor pConstructor;
+ pConstructor.ConstructParticle();
+}
+
+/********************************************************************/
+
+
+
+
+void G4BeamTestIonPhysics::ConstructProcess()
+{
+ G4ProcessManager *pManager = 0;
+
+ // Elastic Process
+ elasticModel_ = new G4LElastic;
+ elasticProcess_.RegisterMe(elasticModel_);
+
+ // Generic Ion
+ pManager = G4GenericIon::GenericIon()->GetProcessManager();
+ // add process
+ pManager->AddDiscreteProcess(&elasticProcess_);
+
+ pManager->AddProcess(&ionMultipleScattering_, -1, 1, 1);
+ pManager->AddProcess(&ionIonisation_, -1, 2, 2);
+
+ // Deuteron
+ pManager = G4Deuteron::Deuteron()->GetProcessManager();
+ // add process
+ pManager->AddDiscreteProcess(&elasticProcess_);
+
+ deuteronModel_ = new G4LEDeuteronInelastic;
+ deuteronProcess_.RegisterMe(deuteronModel_);
+ pManager->AddDiscreteProcess(&deuteronProcess_);
+
+ pManager->AddProcess(&deuteronMultipleScattering_, -1, 1, 1);
+ pManager->AddProcess(&deuteronIonisation_, -1, 2, 2);
+
+ // Triton
+ pManager = G4Triton::Triton()->GetProcessManager();
+ // add process
+ pManager->AddDiscreteProcess(&elasticProcess_);
+
+ tritonModel_ = new G4LETritonInelastic;
+ tritonProcess_.RegisterMe(tritonModel_);
+ pManager->AddDiscreteProcess(&tritonProcess_);
+
+ pManager->AddProcess(&tritonMultipleScattering_, -1, 1, 1);
+ pManager->AddProcess(&tritonIonisation_, -1, 2, 2);
+
+ // Alpha
+ pManager = G4Alpha::Alpha()->GetProcessManager();
+ // add process
+ pManager->AddDiscreteProcess(&elasticProcess_);
+
+ alphaModel_ = new G4LEAlphaInelastic;
+ alphaProcess_.RegisterMe(alphaModel_);
+ pManager->AddDiscreteProcess(&alphaProcess_);
+
+ pManager->AddProcess(&alphaMultipleScattering_, -1, 1, 1);
+ pManager->AddProcess(&alphaIonisation_, -1, 2, 2);
+
+ // He3
+ pManager = G4He3::He3()->GetProcessManager();
+ // add process
+ pManager->AddDiscreteProcess(&elasticProcess_);
+
+ pManager->AddProcess(&he3MultipleScattering_, -1, 1, 1);
+ pManager->AddProcess(&he3Ionisation_, -1, 2, 2);
+
+
+}
+
+
+