Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4CascadeMuMinusPChannel.cc
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 // $Id: $
27 // GEANT4 tag: $Name: not supported by cvs2svn $
28 //
29 
31 #include "G4InuclParticleNames.hh"
32 using namespace G4InuclParticleNames;
33 
34 namespace {
35  // mu- p : Outgoing particle types of a given multiplicity
36  static const G4int mump2bfs[1][2] =
37  {{neu,mnu}};
38 
39  static const G4int mump3bfs[1][3] =
40  {{neu,mnu,gam}};
41 
42  static const G4int mump4bfs[1][4] =
43  {{neu,mnu,gam,gam}};
44 
45  static const G4int mump5bfs[1][5] =
46  {{neu,mnu,gam,gam,gam}};
47 
48  static const G4int mump6bfs[1][6] =
49  {{neu,mnu,gam,gam,gam,gam}};
50 
51  static const G4int mump7bfs[1][7] =
52  {{neu,mnu,gam,gam,gam,gam,gam}};
53 
54  static const G4int mump8bfs[1][8] =
55  {{neu,mnu,gam,gam,gam,gam,gam,gam}};
56 
57  static const G4int mump9bfs[1][9] =
58  {{neu,mnu,gam,gam,gam,gam,gam,gam,gam}};
59 }
60 
61 namespace {
62  // Total mu- p cross section as a function of kinetic energy
63  static const G4double mumpTotXSec[30] =
64  { 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,
65  0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,
66  0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01};
67 /*
68  {100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
69  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
70  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0};
71 */
72  static const G4double mumpCrossSections[8][30] = {
73  //
74  // multiplicity 2 (1 channel)
75  //
76  // nu_mu n
77  { 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,
78  0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,
79  0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01},
80 /*
81  {100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
82  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0,
83  100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0},
84 */
85  //
86  // multiplicity 3 (1 channel)
87  //
88  // nu_mu n gam
89  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
90  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
91  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
92  //
93  // multiplicity 4 (1 channel)
94  //
95  // nu_mu n gam gam
96  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
97  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
98  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
99  //
100  // multiplicity 5 (1 channel)
101  //
102  // nu_mu n gam gam gam
103  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
104  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
105  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
106  //
107  // multiplicity 6 (1 channel)
108  //
109  // nu_mu n gam gam gam gam
110  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
111  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
112  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
113  //
114  // multiplicity 7 (1 channel)
115  //
116  // nu_mu n gam gam gam gam gam
117  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
118  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
119  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
120  //
121  // multiplicity 8 (1 channel)
122  //
123  // nu_mu n gam gam gam gam gam gam
124  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
125  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
126  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0},
127  //
128  // multiplicity 9 (1 channel)
129  //
130  // nu_mu n gam gam gam gam gam gam gam
131  { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
132  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
133  0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}};
134 }
135 
136 
138 G4CascadeMuMinusPChannelData::data(mump2bfs, mump3bfs, mump4bfs, mump5bfs,
139  mump6bfs, mump7bfs, mump8bfs, mump9bfs,
140  mumpCrossSections, mumpTotXSec, mum*pro,
141  "MuMinusProton");
142 
int G4int
Definition: G4Types.hh:78
double G4double
Definition: G4Types.hh:76