diff options
| author | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-08-16 14:01:19 +0100 |
|---|---|---|
| committer | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-08-16 14:01:19 +0100 |
| commit | 3a83ec3bce239359f1cd71d1c0bfbf23b61d0db8 (patch) | |
| tree | 7b75a539576992ec9a82ec0add0d0e9b565347dd /src/G4BeamTestEMPhysics.cxx | |
| download | G4BeamTest-3a83ec3bce239359f1cd71d1c0bfbf23b61d0db8.tar.gz G4BeamTest-3a83ec3bce239359f1cd71d1c0bfbf23b61d0db8.zip | |
initial commit
Diffstat (limited to 'src/G4BeamTestEMPhysics.cxx')
| -rw-r--r-- | src/G4BeamTestEMPhysics.cxx | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/G4BeamTestEMPhysics.cxx b/src/G4BeamTestEMPhysics.cxx new file mode 100644 index 0000000..d36207a --- /dev/null +++ b/src/G4BeamTestEMPhysics.cxx @@ -0,0 +1,71 @@ +/* + * copyright (C) 2010 + * The Icecube Collaboration + * + * $Id: G4BeamTestEMPhysics.cxx 86420 2012-03-20 16:00:37Z kislat $ + * + * @version $Revision: 86420 $ + * @date $LastChangedDate: 2012-03-20 16:00:37 +0000 (Tue, 20 Mar 2012) $ + * @author Fabian Kislat <fabian.kislat@desy.de>, Peter Nießen (tanktop) + * Last changed by: $LastChangedBy: kislat $ + */ + + +#include <globals.hh> +#include <G4ParticleDefinition.hh> +#include <G4ParticleTable.hh> +#include <G4Gamma.hh> +#include <G4Electron.hh> +#include <G4Positron.hh> +#include <G4NeutrinoE.hh> +#include <G4AntiNeutrinoE.hh> +#include <G4ProcessManager.hh> + +#include "G4BeamTestEMPhysics.h" + + +G4BeamTestEMPhysics::G4BeamTestEMPhysics() + : G4VPhysicsConstructor("standard") +{} + + +G4BeamTestEMPhysics::~G4BeamTestEMPhysics() +{} + + +void G4BeamTestEMPhysics::ConstructParticle() +{ + // gamma + G4Gamma::GammaDefinition(); + + // electron + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); +} + + +void G4BeamTestEMPhysics::ConstructProcess() +{ + G4ProcessManager *pManager = 0; + + // Gamma Physics + pManager = G4Gamma::Gamma()->GetProcessManager(); + pManager->AddDiscreteProcess(&photoEffect); + pManager->AddDiscreteProcess(&comptonEffect); + pManager->AddDiscreteProcess(&pairProduction); + + // Electron Physics + pManager = G4Electron::Electron()->GetProcessManager(); + pManager->AddProcess(&electronMultipleScattering, -1, 1, 1); + pManager->AddProcess(&electronIonisation, -1, 2, 2); + pManager->AddProcess(&electronBremsStrahlung, -1, 3, 3); + + //Positron Physics + pManager = G4Positron::Positron()->GetProcessManager(); + pManager->AddProcess(&positronMultipleScattering, -1, 1, 1); + pManager->AddProcess(&positronIonisation, -1, 2, 2); + pManager->AddProcess(&positronBremsStrahlung, -1, 3, 3); + pManager->AddProcess(&annihilation, 0,-1, 4); +} |
