COSMOS v7.655  COSMOSv7655
(AirShowerMC)
Zprimary.h
Go to the documentation of this file.
1 #include "Zmaxdef.h"
2 /*
3  c this is Primary class data type definition
4  c Note that primary angle information is not here.
5  c
6  maxSegments; // ! max # of segments in each primary
7  maxNoOfComps; // ! max # of components usable
8  at a time
9  maxErgUnit; // ! max # of energy unit symbols
10  parameter (NoOfSymbols = 53,
11 */
12 
13 
14 const int NoOfSymbols = 53; // ! max # of primary type symbols
15 #ifdef MAX_SEGMENTS
17 #else
18 const int maxsegments = 40;
19 #endif
20 #ifdef MAX_NO_OF_COMPS
22 #else
23 const int maxnoofcomps = 8;
24 #endif
25 const int maxergunit=7 ;
26 
27 struct component { // ! 1 component of 1ry
28  int label;// ! composition label number
29  char symb[12]; // ! 'p', 'gamma' etc
30  char eunit[3]; // ! 'gev' etc
31  char etype[4]; // ! 'ke/n' etc
32  char diff_or_inte[1];// ! 'd' or 'i'
33  double flatterer; // ! di/de*e**flatterer
34  double cut; // ! lower cut off.
35  double cut2; // ! upper cut off.
36  double energy[maxsegments+1]; // ! segment left energy
37  double flux[maxsegments+1] ; // ! input flux
38  /*
39  c dI/dE * E**flatterer
40  c above: from input table directly
41  c below: made by subroutines
42  */
43  int code;
44  int subcode;
45  int charge; // ! particle code
46  double togev;
47  /*
48  c!!!! real*8 diff(maxSegments+1) ! diff. flux
49  */
50  double norm_inte[maxsegments+1]; // ! normalized
51  //c integral flux > E at segment left value
52  double beta[maxsegments+1]; // ! dI/dE=(true flux)=
53  //c const*E**(-beta)
54  int no_of_seg; // ! no of segments given
55  double inte_value; // ! integral flux from min. E
56  double emin, emax; // ! min and max energy defined
57  /*
58  c integer histnbin
59  c parameter (histnbin = 30)
60  c record /histgl/ comphist
61  */
62 };
63 //c *******************************************
64 struct primaries { // ! 1 set of primaries.
65  struct component each[maxnoofcomps];
66  double cumminteflux[maxnoofcomps];
67  int no_of_comps; // ! how many diff. compositions
68  int noofsamplings; // ! total number of samplings including ones discarded by cutoff
69  int noofsampcomp[2][maxnoofcomps];// ! 1 is for number of sampling including
70  // ! discarded ones due to cutoff. 2 is only for
71  // ! employed ones.
72  //c after a sampling of a 1ry, the following
73  //c is fixed.
74  int label; // ! sampled primary label
75  double sampled_e; // ! sampled energy(or momentum) as
76  /*
77  c defined in etype. if this is
78  c in total energy in gev, it is the
79  c same as particle.fm.e
80  */
81  struct ptcl particle;
82 };
83 
84 
85 
86 
const int NoOfSymbols
Definition: Zprimary.h:14
#define MAX_SEGMENTS
Definition: Zmaxdef.h:3
double emin
Definition: Zprimary.h:56
char diff_or_inte[1]
Definition: Zprimary.h:32
double togev
Definition: Zprimary.h:46
double beta[maxsegments+1]
Definition: Zprimary.h:52
const int maxnoofcomps
Definition: Zprimary.h:21
double cut
Definition: Zprimary.h:34
int label
Definition: Zprimary.h:28
const int maxsegments
Definition: Zprimary.h:16
double emax
Definition: Zprimary.h:56
char eunit[3]
Definition: Zprimary.h:30
int no_of_comps
Definition: Zprimary.h:67
int charge
Definition: Zprimary.h:45
double flux[maxsegments+1]
Definition: Zprimary.h:37
double energy[maxsegments+1]
Definition: Zprimary.h:36
char symb[12]
Definition: Zprimary.h:29
int no_of_seg
Definition: Zprimary.h:54
#define MAX_NO_OF_COMPS
Definition: Zmaxdef.h:4
double flatterer
Definition: Zprimary.h:33
int label
Definition: Zprimary.h:74
int subcode
Definition: Zprimary.h:44
double sampled_e
Definition: Zprimary.h:75
double cut2
Definition: Zprimary.h:35
Definition: Zptcl.h:75
char etype[4]
Definition: Zprimary.h:31
const int maxergunit
Definition: Zprimary.h:25
double inte_value
Definition: Zprimary.h:55
int code
Definition: Zprimary.h:43
double norm_inte[maxsegments+1]
Definition: Zprimary.h:50
int noofsamplings
Definition: Zprimary.h:68