COSMOS v7.655  COSMOSv7655
(AirShowerMC)
Zptcl.h
Go to the documentation of this file.
1 /*
2 #include "Zunionmap.h"
3 c structure defining a particle at production
4 c Basic idea of what is to be contained in
5 c the particle structue is that
6 c 1) dynamical ones should be included
7 c 2) those derivable from the particle code
8 c is not included
9 c ******************************************************
10  structure /fmom/ ! 4 momentum
11 #ifdef UNIONMAP
12  union
13  map
14 #endif
15  real*8 p(4)
16 #ifdef UNIONMAP
17  endmap
18  map
19  real*8 px, py, pz, e
20  endmap
21  map
22  real*8 x, y, z, t
23  endmap
24  map
25 c pt before pz is set
26  real*8 dummy1, dummy2, pt, rap
27  endmap
28 c tm: transverse mass
29  map
30  real*8 dummy3, dummy4, tm
31  endmap
32  endunion
33 #endif
34  end structure
35 c \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
36 c Important note: Bug in sun fortran
37 c If we define, say,
38 c record /fmom/ p1
39 c and set
40 c p1.e = some value (or p1.p(4)= ...)
41 c where some value is a constant or arithmetic
42 c expression which results in a value > 1.d37
43 c then overflow message comes out on SUN fortran
44 c although the result is correct.
45 c Setting the same into, say, p1.px does not
46 c cause such. (as of 1993/08/14)
47 c \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
48 c ******************************************************
49  structure /ptcl/ ! particle at production
50 c 4 momentum.
51  record /fmom/ fm
52 c
53  real*8 mass
54  integer*2 code, subcode
55  integer*2 charge
56 c code: ptcl code
57 c subcode:used mainly to identify paticle/antiparticle
58 c if the difference is important.
59 c To set particle, "ptcl" is used.
60 c anti-partilce, 'antip" is used for particles
61 c For particles of which partilce/antiparticle nature
62 c can be judded by its code and charge, the user
63 c need not specify it when using cmkptc subroutine.
64 c give 0.
65 c subcode for gamma ray may be used to identify
66 c brems gamma and direct gamma by kdiretg, kcasg
67  end structure
68 c ******************************************************
69 
70 */
71 
72 struct fmom {
73  double p[4];
74 };
75 struct ptcl {
76  struct fmom fm;
77  double mass;
78  short int code;
79  short int subcode;
80  short int charge;
81 };
82 
83 
84 
85 
double p[4]
Definition: Zptcl.h:73
short int charge
Definition: Zptcl.h:80
Definition: Zptcl.h:72
short int code
Definition: Zptcl.h:78
double mass
Definition: Zptcl.h:77
Definition: Zptcl.h:75
short int subcode
Definition: Zptcl.h:79