From 3a83ec3bce239359f1cd71d1c0bfbf23b61d0db8 Mon Sep 17 00:00:00 2001 From: shivesh Date: Thu, 16 Aug 2018 14:01:19 +0100 Subject: initial commit --- src/G4BeamTestEMPhysics.cxx | 71 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/G4BeamTestEMPhysics.cxx (limited to 'src/G4BeamTestEMPhysics.cxx') 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 , Peter Nießen (tanktop) + * Last changed by: $LastChangedBy: kislat $ + */ + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#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); +} -- cgit v1.2.3