/[PAMELA software]/PamG4/src/MuonPhysics.cc
ViewVC logotype

Contents of /PamG4/src/MuonPhysics.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Tue Dec 13 16:20:39 2005 UTC (18 years, 11 months ago) by cafagna
Branch point for: start, MAIN
Initial revision

1
2 #include "MuonPhysics.hh"
3
4 #include "globals.hh"
5 #include "G4ios.hh"
6
7
8
9 MuonPhysics::MuonPhysics(const G4String& name)
10 : G4VPhysicsConstructor(name)
11 {
12 }
13
14 MuonPhysics::~MuonPhysics()
15 {
16 }
17
18 #include "G4ParticleDefinition.hh"
19 #include "G4ParticleTable.hh"
20
21 #include "G4MuonPlus.hh"
22 #include "G4MuonMinus.hh"
23 #include "G4TauMinus.hh"
24 #include "G4TauPlus.hh"
25 #include "G4NeutrinoTau.hh"
26 #include "G4AntiNeutrinoTau.hh"
27 #include "G4NeutrinoMu.hh"
28 #include "G4AntiNeutrinoMu.hh"
29
30 void MuonPhysics::ConstructParticle()
31 {
32 // Mu
33 G4MuonPlus::MuonPlusDefinition();
34 G4MuonMinus::MuonMinusDefinition();
35 G4NeutrinoMu::NeutrinoMuDefinition();
36 G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
37
38 // Tau
39 G4TauMinus::TauMinusDefinition();
40 G4TauPlus::TauPlusDefinition();
41 G4NeutrinoTau::NeutrinoTauDefinition();
42 G4AntiNeutrinoTau::AntiNeutrinoTauDefinition();
43
44 }
45
46
47 #include "G4ProcessManager.hh"
48
49 void MuonPhysics::ConstructProcess()
50 {
51 G4ProcessManager * pManager = 0;
52
53 // Muon Plus Physics
54 pManager = G4MuonPlus::MuonPlus()->GetProcessManager();
55 // add processes
56 pManager->AddProcess(&fMuPlusIonisation, ordInActive,2, 2);
57
58 pManager->AddDiscreteProcess(&fMuPlusBremsstrahlung);
59
60 pManager->AddDiscreteProcess(&fMuPlusPairProduction);
61
62 pManager->AddProcess(&fMuPlusMultipleScattering);
63 pManager->SetProcessOrdering(&fMuPlusMultipleScattering, idxAlongStep, 1);
64 pManager->SetProcessOrdering(&fMuPlusMultipleScattering, idxPostStep, 1);
65
66 // Muon Minus Physics
67 pManager = G4MuonMinus::MuonMinus()->GetProcessManager();
68 // add processes
69 pManager->AddProcess(&fMuMinusIonisation, ordInActive,2, 2);
70
71 pManager->AddDiscreteProcess(&fMuMinusBremsstrahlung);
72
73 pManager->AddDiscreteProcess(&fMuMinusPairProduction);
74
75 pManager->AddProcess(&fMuMinusMultipleScattering);
76 pManager->SetProcessOrdering(&fMuMinusMultipleScattering, idxAlongStep, 1);
77 pManager->SetProcessOrdering(&fMuMinusMultipleScattering, idxPostStep, 1);
78 pManager->AddRestProcess(&fMuMinusCaptureAtRest);
79
80 // Tau Plus Physics
81 pManager = G4TauPlus::TauPlus()->GetProcessManager();
82 // add processes
83 pManager->AddProcess(&fTauPlusIonisation, ordInActive,2, 2);
84
85 pManager->AddProcess(&fTauPlusMultipleScattering);
86 pManager->SetProcessOrdering(&fTauPlusMultipleScattering, idxAlongStep, 1);
87 pManager->SetProcessOrdering(&fTauPlusMultipleScattering, idxPostStep, 1);
88
89 // Tau Minus Physics
90 pManager = G4TauMinus::TauMinus()->GetProcessManager();
91 // add processes
92 pManager->AddProcess(&fTauMinusIonisation, ordInActive,2, 2);
93
94 pManager->AddProcess(&fTauMinusMultipleScattering);
95 pManager->SetProcessOrdering(&fTauMinusMultipleScattering, idxAlongStep, 1);
96 pManager->SetProcessOrdering(&fTauMinusMultipleScattering, idxPostStep, 1);
97
98 }
99
100
101

  ViewVC Help
Powered by ViewVC 1.1.23