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

Annotation of /PamG4/src/MuonPhysics.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide 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 cafagna 1.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