/* * 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); }