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/G4BeamTestMuonPhysics.cxx | |
| download | G4BeamTest-3a83ec3bce239359f1cd71d1c0bfbf23b61d0db8.tar.gz G4BeamTest-3a83ec3bce239359f1cd71d1c0bfbf23b61d0db8.zip | |
initial commit
Diffstat (limited to 'src/G4BeamTestMuonPhysics.cxx')
| -rw-r--r-- | src/G4BeamTestMuonPhysics.cxx | 94 |
1 files changed, 94 insertions, 0 deletions
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 <fabian.kislat@desy.de>, Peter Nießen (tanktop) + * Last changed by: $LastChangedBy: kislat $ + */ + + +#include <globals.hh> +#include <G4ParticleDefinition.hh> +#include <G4ParticleTable.hh> +#include <G4MuonPlus.hh> +#include <G4MuonMinus.hh> +#include <G4TauMinus.hh> +#include <G4TauPlus.hh> +#include <G4NeutrinoTau.hh> +#include <G4AntiNeutrinoTau.hh> +#include <G4NeutrinoMu.hh> +#include <G4AntiNeutrinoMu.hh> +#include <G4ProcessManager.hh> + +#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); +} |
