xseccc.c
Go to the documentation of this file.
1 // cross section weight function
2 
3 double xseccc(int type,double energy)
4 {
5 
6  int nenergy;
7  int ntype;
8  double xsec;
9  double xnm[100] = {
10  55.7, 53.3, 49.9, 47.1, 45.0, 44.0, 43.2, 42.5, 42.0, 41.8,
11  41.7, 41.5, 41.3, 41.1, 41.0, 40.8, 40.6, 40.5, 40.3, 40.1,
12  40.0, 39.9, 39.8, 39.7, 39.6, 39.5, 39.4, 39.4, 39.3, 39.2,
13  39.2, 39.1, 39.1, 39.0, 39.0, 38.9, 38.9, 38.8, 38.8, 38.7,
14  38.7, 38.7, 38.6, 38.6, 38.6, 38.5, 38.5, 38.5, 38.4, 38.4,
15  38.4, 38.3, 38.3, 38.3, 38.3, 38.2, 38.2, 38.2, 38.1, 38.1,
16  38.1, 38.1, 38.1, 38.0, 38.0, 38.0, 38.0, 38.0, 37.9, 37.9,
17  37.9, 37.9, 37.9, 37.9, 37.8, 37.8, 37.8, 37.8, 37.8, 37.8,
18  37.8, 37.7, 37.7, 37.7, 37.7, 37.7, 37.7, 37.7, 37.7, 37.7,
19  37.6, 37.6, 37.6, 37.6, 37.6, 37.6, 37.6, 37.6, 37.6, 37.6};
20  double xnmbar[100] = {
21  13.2, 17.2, 19.0, 19.6, 19.6, 19.6, 19.5, 19.4, 19.3, 19.4,
22  19.5, 19.6, 19.6, 19.6, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
23  19.6, 19.6, 19.6, 19.6, 19.6, 19.6, 19.6, 19.6, 19.6, 19.6,
24  19.6, 19.6, 19.6, 19.6, 19.6, 19.6, 19.6, 19.6, 19.6, 19.6,
25  19.6, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
26  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
27  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
28  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
29  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
30  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7};
31  double xne[100] = {
32  61.4, 55.6, 51.3, 48.4, 46.2, 44.7, 43.8, 43.1, 42.5, 42.2,
33  41.9, 41.7, 41.5, 41.3, 41.1, 40.9, 40.7, 40.6, 40.4, 40.3,
34  40.1, 40.0, 39.9, 39.8, 39.7, 39.6, 39.5, 39.4, 39.4, 39.3,
35  39.2, 39.2, 39.1, 39.1, 39.0, 39.0, 38.9, 38.9, 38.8, 38.8,
36  38.8, 38.7, 38.7, 38.6, 38.6, 38.6, 38.5, 38.5, 38.5, 38.4,
37  38.4, 38.4, 38.3, 38.3, 38.3, 38.3, 38.2, 38.2, 38.2, 38.2,
38  38.1, 38.1, 38.1, 38.1, 38.1, 38.0, 38.0, 38.0, 38.0, 38.0,
39  37.9, 37.9, 37.9, 37.9, 37.9, 37.9, 37.8, 37.8, 37.8, 37.8,
40  37.8, 37.8, 37.8, 37.7, 37.7, 37.7, 37.7, 37.7, 37.7, 37.7,
41  37.7, 37.7, 37.6, 37.6, 37.6, 37.6, 37.6, 37.6, 37.6, 37.6};
42  double xnebar[100] = {
43  15.3, 18.4, 19.8, 20.2, 20.2, 20.1, 19.9, 19.8, 19.6, 19.6,
44  19.7, 19.7, 19.7, 19.8, 19.8, 19.8, 19.8, 19.8, 19.8, 19.8,
45  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
46  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
47  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
48  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
49  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
50  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
51  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7,
52  19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7, 19.7};
53 
54  nenergy = energy;
55  ntype = type;
56 
57  if (nenergy>99) nenergy=99;
58 
59  if (ntype==56) xsec = xnm[nenergy+1]*energy;
60  if (ntype==55) xsec = xnmbar[nenergy+1]*energy;
61  if (ntype==53) xsec = xne[nenergy+1]*energy;
62  if (ntype==52) xsec = xnebar[nenergy+1]*energy;
63 
64  return xsec * 4.09e9;
65 
66  // 10**-38 cm2 * 10**6 kg/kton * 3.8e20 POT/year *1iron/56/1.66e-27kg
67  // * 10**-4 m2/cm2 = 4.09e9 conversion factor
68  // since table was 26*sigma(nu-proton) + 30*sigma(nu-neutron)
69 }
double xseccc(int type, double energy)
Definition: xseccc.c:3
static QCString type
Definition: declinfo.cpp:672