BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
ExN04MuonPhysics.cxx
Go to the documentation of this file.
1//
2// ********************************************************************
3// * DISCLAIMER *
4// * *
5// * The following disclaimer summarizes all the specific disclaimers *
6// * of contributors to this software. The specific disclaimers,which *
7// * govern, are listed with their locations in: *
8// * http://cern.ch/geant4/license *
9// * *
10// * Neither the authors of this software system, nor their employing *
11// * institutes,nor the agencies providing financial support for this *
12// * work make any representation or warranty, express or implied, *
13// * regarding this software system or assume any liability for its *
14// * use. *
15// * *
16// * This code implementation is the intellectual property of the *
17// * GEANT4 collaboration. *
18// * By copying, distributing or modifying the Program (or any work *
19// * based on the Program) you indicate your acceptance of this *
20// * statement, and all its terms. *
21// ********************************************************************
22//
23//
24// $Id: ExN04MuonPhysics.cxx,v 1.1.1.1 2004/09/28 05:16:53 liwd Exp $
25// GEANT4 tag $Name: G4Svc-00-01-58 $
26//
27//
28
29#include <cmath>
30
32
33#include "G4ios.hh"
34#include "globals.hh"
35
36ExN04MuonPhysics::ExN04MuonPhysics( const G4String& name ) : G4VPhysicsConstructor( name ) {}
37
39
40#include "G4ParticleDefinition.hh"
41#include "G4ParticleTable.hh"
42
43#include "G4AntiNeutrinoMu.hh"
44#include "G4AntiNeutrinoTau.hh"
45#include "G4MuonMinus.hh"
46#include "G4MuonPlus.hh"
47#include "G4NeutrinoMu.hh"
48#include "G4NeutrinoTau.hh"
49#include "G4TauMinus.hh"
50#include "G4TauPlus.hh"
51
53 // Mu
54 G4MuonPlus::MuonPlusDefinition();
55 G4MuonMinus::MuonMinusDefinition();
56 G4NeutrinoMu::NeutrinoMuDefinition();
57 G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
58
59 // Tau
60 G4TauMinus::TauMinusDefinition();
61 G4TauPlus::TauPlusDefinition();
62 G4NeutrinoTau::NeutrinoTauDefinition();
63 G4AntiNeutrinoTau::AntiNeutrinoTauDefinition();
64}
65
66#include "G4ProcessManager.hh"
67
69 G4ProcessManager* pManager = 0;
70
71 // Muon Plus Physics
72 pManager = G4MuonPlus::MuonPlus()->GetProcessManager();
73 // add processes
74 pManager->AddProcess( &fMuPlusIonisation, ordInActive, 2, 2 );
75
76 pManager->AddDiscreteProcess( &fMuPlusBremsstrahlung );
77
78 pManager->AddDiscreteProcess( &fMuPlusPairProduction );
79
80 pManager->AddProcess( &fMuPlusMultipleScattering );
81 pManager->SetProcessOrdering( &fMuPlusMultipleScattering, idxAlongStep, 1 );
82 pManager->SetProcessOrdering( &fMuPlusMultipleScattering, idxPostStep, 1 );
83
84 // Muon Minus Physics
85 pManager = G4MuonMinus::MuonMinus()->GetProcessManager();
86 // add processes
87 pManager->AddProcess( &fMuMinusIonisation, ordInActive, 2, 2 );
88
89 pManager->AddDiscreteProcess( &fMuMinusBremsstrahlung );
90
91 pManager->AddDiscreteProcess( &fMuMinusPairProduction );
92
93 pManager->AddProcess( &fMuMinusMultipleScattering );
94 pManager->SetProcessOrdering( &fMuMinusMultipleScattering, idxAlongStep, 1 );
95 pManager->SetProcessOrdering( &fMuMinusMultipleScattering, idxPostStep, 1 );
96 pManager->AddRestProcess( &fMuMinusCaptureAtRest );
97
98 // Tau Plus Physics
99 pManager = G4TauPlus::TauPlus()->GetProcessManager();
100 // add processes
101 pManager->AddProcess( &fTauPlusIonisation, ordInActive, 2, 2 );
102
103 pManager->AddProcess( &fTauPlusMultipleScattering );
104 pManager->SetProcessOrdering( &fTauPlusMultipleScattering, idxAlongStep, 1 );
105 pManager->SetProcessOrdering( &fTauPlusMultipleScattering, idxPostStep, 1 );
106
107 // Tau Minus Physics
108 pManager = G4TauMinus::TauMinus()->GetProcessManager();
109 // add processes
110 pManager->AddProcess( &fTauMinusIonisation, ordInActive, 2, 2 );
111
112 pManager->AddProcess( &fTauMinusMultipleScattering );
113 pManager->SetProcessOrdering( &fTauMinusMultipleScattering, idxAlongStep, 1 );
114 pManager->SetProcessOrdering( &fTauMinusMultipleScattering, idxPostStep, 1 );
115}
virtual void ConstructProcess()
virtual void ConstructParticle()
G4MuBremsstrahlung fMuMinusBremsstrahlung
G4MultipleScattering fTauPlusMultipleScattering
G4MultipleScattering fMuMinusMultipleScattering
G4MuIonisation fMuMinusIonisation
ExN04MuonPhysics(const G4String &name="muon")
G4MuIonisation fMuPlusIonisation
G4MuPairProduction fMuPlusPairProduction
G4MultipleScattering fMuPlusMultipleScattering
G4MultipleScattering fTauMinusMultipleScattering
G4MuonMinusCaptureAtRest fMuMinusCaptureAtRest
G4MuBremsstrahlung fMuPlusBremsstrahlung
G4hIonisation fTauPlusIonisation
G4MuPairProduction fMuMinusPairProduction
G4hIonisation fTauMinusIonisation