diff options
| author | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-08-21 15:36:34 +0100 |
|---|---|---|
| committer | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-08-21 15:36:34 +0100 |
| commit | 2925dbae7f488c3113b5f574eca1ceaba0ffdaac (patch) | |
| tree | 40d8a7000690af2ba40433fc77c38fd23c841b25 /src/G4BeamTestIonPhysics.cxx.backup | |
| parent | 3e2608bb7c803eea644edf9fc7afa5bf3921a429 (diff) | |
| download | G4BeamTest-2925dbae7f488c3113b5f574eca1ceaba0ffdaac.tar.gz G4BeamTest-2925dbae7f488c3113b5f574eca1ceaba0ffdaac.zip | |
Tue 21 Aug 15:36:34 BST 2018
Diffstat (limited to 'src/G4BeamTestIonPhysics.cxx.backup')
| -rw-r--r-- | src/G4BeamTestIonPhysics.cxx.backup | 100 |
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); + + +} + + + |
