From 3a83ec3bce239359f1cd71d1c0bfbf23b61d0db8 Mon Sep 17 00:00:00 2001 From: shivesh Date: Thu, 16 Aug 2018 14:01:19 +0100 Subject: initial commit --- src/G4BeamTestMuonPhysics.cxx | 94 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/G4BeamTestMuonPhysics.cxx (limited to 'src/G4BeamTestMuonPhysics.cxx') diff --git a/src/G4BeamTestMuonPhysics.cxx b/src/G4BeamTestMuonPhysics.cxx new file mode 100644 index 0000000..92264a2 --- /dev/null +++ b/src/G4BeamTestMuonPhysics.cxx @@ -0,0 +1,94 @@ +/* + * copyright (C) 2010 + * The Icecube Collaboration + * + * $Id: G4BeamTestMuonPhysics.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 +#include +#include + +#include "G4BeamTestMuonPhysics.h" + + + +G4BeamTestMuonPhysics::G4BeamTestMuonPhysics() + : G4VPhysicsConstructor("muon") +{} + +/********************************************************************/ + +G4BeamTestMuonPhysics::~G4BeamTestMuonPhysics() +{} + +/********************************************************************/ + +void G4BeamTestMuonPhysics::ConstructParticle() +{ + // Mu + G4MuonPlus::MuonPlusDefinition(); + G4MuonMinus::MuonMinusDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); + + // Tau + G4TauMinus::TauMinusDefinition(); + G4TauPlus::TauPlusDefinition(); + G4NeutrinoTau::NeutrinoTauDefinition(); + G4AntiNeutrinoTau::AntiNeutrinoTauDefinition(); +} + +/********************************************************************/ + + +void G4BeamTestMuonPhysics::ConstructProcess() +{ + + G4ProcessManager *pManager = 0; + + // Muon Plus Physics + pManager = G4MuonPlus::MuonPlus()->GetProcessManager(); + + pManager->AddProcess(&muPlusMultipleScattering_, -1, 1, 1); + pManager->AddProcess(&muPlusIonisation_, -1, 2, 2); + pManager->AddProcess(&muPlusBremsstrahlung_, -1, 3, 3); + pManager->AddProcess(&muPlusPairProduction_, -1, 4, 4); + + // Muon Minus Physics + pManager = G4MuonMinus::MuonMinus()->GetProcessManager(); + + pManager->AddProcess(&muMinusMultipleScattering_, -1, 1, 1); + pManager->AddProcess(&muMinusIonisation_, -1, 2, 2); + pManager->AddProcess(&muMinusBremsstrahlung_, -1, 3, 3); + pManager->AddProcess(&muMinusPairProduction_, -1, 4, 4); + + pManager->AddRestProcess(&muMinusCaptureAtRest_); + + // Tau Plus Physics + pManager = G4TauPlus::TauPlus()->GetProcessManager(); + + pManager->AddProcess(&tauPlusMultipleScattering_, -1, 1, 1); + pManager->AddProcess(&tauPlusIonisation_, -1, 2, 2); + + // Tau Minus Physics + pManager = G4TauMinus::TauMinus()->GetProcessManager(); + + pManager->AddProcess(&tauMinusMultipleScattering_, -1, 1, 1); + pManager->AddProcess(&tauMinusIonisation_, -1, 2, 2); +} -- cgit v1.2.3