COSMOS v7.655  COSMOSv7655
(AirShowerMC)
ciniSPrim.f
Go to the documentation of this file.
1 ! *******************************************************
2 ! * ciniSPrim: initialize csampPrimary
3 ! *******************************************************
4 ! Initializes a table for sampling the primary energy
5 ! and species. For data to be prepared for the table, see
6 ! sample.d in Data/Primary directory.
7 ! NOTE: Init for angle sampling is not done here. It is
8 ! managed in the Tracking directory.
9 !
10  subroutine cinisprim(fn)
11 ! fn: character string. input. file name where primary spectrum
12 ! data is given.
13 ! See sample.d in Data/Primary
14 !
15  implicit none
16 #include "Zptcl.h"
17 #include "Zprimary.h"
18 #include "Zprimaryc.h"
19 #include "Zprimaryv.h"
20  character*(*) fn
21 !
22 !
23  call csetprimtbl ! make PrimaryIdTbl
24  call cseteunittbl ! make ErgUnitTbl
25  call cinisprim0(prim, fn)
26  end
27 ! *******************************************************
28 ! * ciniSPrim0: initialize csampPrimary for a given rec
29 ! *******************************************************
30 ! Initializes a table for sampling the primary energy
31 ! and species. For data to be prepared for the table, see
32 ! sample.d in Data/Primary directory.
33 !
34  subroutine cinisprim0(prm, fn)
35 ! fn: character string. input. file name where primary spectrum
36 ! data is given.
37 ! See sample.d in Data/Primary
38 !
39  implicit none
40 #include "Zmanagerp.h"
41 #include "Zptcl.h"
42 #include "Zprimary.h"
43 #include "Zprimaryc.h"
44 
45  character*(*) fn
46  type(primaries):: prm
47  integer icon
48 !
49 !
50  call copenf(tempdev, fn, icon)
51  call cskipcomment(tempdev, icon)
52  call crdprimdata(prm )
53  close(tempdev)
54  call cprocprimdt(prm )
55  end
56 !
57 ! ******************************************
58  subroutine csetprimtbl
59  implicit none
60 
61 #include "Zcode.h"
62 #include "Zptcl.h"
63 #include "Zprimary.h"
64 #include "Zprimaryc.h"
65 !
66  primaryidtbl(1)%symb = 'gamma'
67  primaryidtbl(1)%code = kphoton
68  primaryidtbl(1)%subcode = 0
69  primaryidtbl(1)%charge = 0
70 
71  primaryidtbl(2)%symb = 'photon'
72  primaryidtbl(2)%code = kphoton
73  primaryidtbl(2)%subcode = 0
74  primaryidtbl(2)%charge = 0
75 
76  primaryidtbl(3)%symb = 'e'
77  primaryidtbl(3)%code = kelec
78  primaryidtbl(3)%subcode = regptcl
79  primaryidtbl(3)%charge = -1
80 
81  primaryidtbl(4)%symb = 'e-'
82  primaryidtbl(4)%code = kelec
83  primaryidtbl(4)%subcode = regptcl
84  primaryidtbl(4)%charge = -1
85 
86  primaryidtbl(5)%symb = 'electron'
87  primaryidtbl(5)%code = kelec
88  primaryidtbl(5)%subcode = regptcl
89  primaryidtbl(5)%charge = -1
90 
91  primaryidtbl(6)%symb = 'e+'
92  primaryidtbl(6)%code = kelec
93  primaryidtbl(6)%subcode = antip
94  primaryidtbl(6)%charge = 1
95 
96  primaryidtbl(7)%symb = 'positron'
97  primaryidtbl(7)%code = kelec
98  primaryidtbl(7)%subcode = antip
99  primaryidtbl(7)%charge = 1
100 
101  primaryidtbl(8)%symb = 'mu-'
102  primaryidtbl(8)%code = kmuon
103  primaryidtbl(8)%subcode = regptcl
104  primaryidtbl(8)%charge = -1
105 
106  primaryidtbl(9)%symb = 'mu+'
107  primaryidtbl(9)%code = kmuon
108  primaryidtbl(9)%subcode = antip
109  primaryidtbl(9)%charge = 1
110 
111  primaryidtbl(10)%symb = 'pi+'
112  primaryidtbl(10)%code = kpion
113  primaryidtbl(10)%subcode = regptcl
114  primaryidtbl(10)%charge = 1
115 
116  primaryidtbl(11)%symb = 'pi-'
117  primaryidtbl(11)%code = kpion
118  primaryidtbl(11)%subcode = antip
119  primaryidtbl(11)%charge = -1
120 
121  primaryidtbl(12)%symb = 'pi0'
122  primaryidtbl(12)%code = kpion
123  primaryidtbl(12)%subcode = 0
124  primaryidtbl(12)%charge = 0
125 
126  primaryidtbl(13)%symb = 'k+'
127  primaryidtbl(13)%code = kkaon
128  primaryidtbl(13)%subcode = regptcl
129  primaryidtbl(13)%charge = 1
130 
131  primaryidtbl(14)%symb = 'k-'
132  primaryidtbl(14)%code = kkaon
133  primaryidtbl(14)%subcode = antip
134  primaryidtbl(14)%charge = -1
135 
136  primaryidtbl(15)%symb = 'k0l'
137  primaryidtbl(15)%code = kkaon
138  primaryidtbl(15)%subcode = k0l
139  primaryidtbl(15)%charge = 0
140 
141  primaryidtbl(16)%symb = 'k0s'
142  primaryidtbl(16)%code = kkaon
143  primaryidtbl(16)%subcode = k0s
144  primaryidtbl(16)%charge = 0
145 
146  primaryidtbl(17)%symb = 'proton'
147  primaryidtbl(17)%code = knuc
148  primaryidtbl(17)%subcode = regptcl
149  primaryidtbl(17)%charge = 1
150 
151  primaryidtbl(18)%symb = 'p'
152  primaryidtbl(18)%code = knuc
153  primaryidtbl(18)%subcode = regptcl
154  primaryidtbl(18)%charge = 1
155 
156  primaryidtbl(19)%symb = 'n'
157  primaryidtbl(19)%code = knuc
158  primaryidtbl(19)%subcode = kneutron
159  primaryidtbl(19)%charge = 0
160 
161  primaryidtbl(20)%symb = 'neutron'
162  primaryidtbl(20)%code = knuc
163  primaryidtbl(20)%subcode = kneutron
164  primaryidtbl(20)%charge = 0
165 
166  primaryidtbl(21)%symb = 'rho'
167  primaryidtbl(21)%code = krho
168  primaryidtbl(21)%subcode = 0
169  primaryidtbl(21)%charge = 0
170 
171  primaryidtbl(22)%symb = 'omega'
172  primaryidtbl(22)%code = komega
173  primaryidtbl(22)%subcode = 0
174  primaryidtbl(22)%charge = 0
175 
176  primaryidtbl(23)%symb = 'phi'
177  primaryidtbl(23)%code = kphi
178  primaryidtbl(23)%subcode = 0
179  primaryidtbl(23)%charge = 0
180 
181  primaryidtbl(24)%symb = 'd+'
182  primaryidtbl(24)%code = kdmes
183  primaryidtbl(24)%subcode = regptcl
184  primaryidtbl(24)%charge = 1
185 
186  primaryidtbl(25)%symb = 'd-'
187  primaryidtbl(25)%code = kdmes
188  primaryidtbl(25)%subcode = antip
189  primaryidtbl(25)%charge = -1
190 
191  primaryidtbl(26)%symb = 'd0'
192  primaryidtbl(26)%code = kdmes
193  primaryidtbl(26)%subcode = regptcl
194  primaryidtbl(26)%charge = 0
195 
196  primaryidtbl(27)%symb = 'dd~'
197  primaryidtbl(27)%code = kddb
198  primaryidtbl(27)%subcode = 0
199  primaryidtbl(27)%charge = 0
200 
201  primaryidtbl(28)%symb = 'nn~'
202  primaryidtbl(28)%code = knnb
203  primaryidtbl(28)%subcode = 0
204  primaryidtbl(28)%charge = 0
205 
206  primaryidtbl(29)%symb = 'neu_e'
207  primaryidtbl(29)%code = kneue
208  primaryidtbl(29)%subcode = regptcl
209  primaryidtbl(29)%charge = 0
210 
211  primaryidtbl(30)%symb = 'neu_mu'
212  primaryidtbl(30)%code = kneumu
213  primaryidtbl(30)%subcode = regptcl
214  primaryidtbl(30)%charge = 0
215 
216  primaryidtbl(31)%symb = 'deuteron'
217  primaryidtbl(31)%code = kgnuc
218  primaryidtbl(31)%subcode =2
219  primaryidtbl(31)%charge = 1
220 
221  primaryidtbl(32)%symb = 'alfa'
222  primaryidtbl(32)%code = kalfa
223  primaryidtbl(32)%subcode = regptcl
224  primaryidtbl(32)%charge = 1
225 
226  primaryidtbl(33)%symb = 'he'
227  primaryidtbl(33)%code = kalfa
228  primaryidtbl(33)%subcode = regptcl
229  primaryidtbl(33)%charge = 1
230 
231  primaryidtbl(34)%symb = 'alpha'
232  primaryidtbl(34)%code = kalfa
233  primaryidtbl(34)%subcode = regptcl
234  primaryidtbl(34)%charge = 1 ! charge is internally set
235 
236  primaryidtbl(35)%symb = 'l'
237  primaryidtbl(35)%code = klibe
238  primaryidtbl(35)%subcode = regptcl
239  primaryidtbl(35)%charge = 1
240 
241  primaryidtbl(36)%symb = 'libeb'
242  primaryidtbl(36)%code = klibe
243  primaryidtbl(36)%subcode = regptcl
244  primaryidtbl(36)%charge = 1
245 
246  primaryidtbl(37)%symb = 'm'
247  primaryidtbl(37)%code = kcno
248  primaryidtbl(37)%subcode = regptcl
249  primaryidtbl(37)%charge = 1
250 
251  primaryidtbl(38)%symb = 'cno'
252  primaryidtbl(38)%code = kcno
253  primaryidtbl(38)%subcode = regptcl
254  primaryidtbl(38)%charge = 1
255 
256  primaryidtbl(39)%symb = 'h'
257  primaryidtbl(39)%code = khvy
258  primaryidtbl(39)%subcode = regptcl
259  primaryidtbl(39)%charge = 1
260 
261  primaryidtbl(40)%symb = 'namgsi'
262  primaryidtbl(40)%code = khvy
263  primaryidtbl(40)%subcode = regptcl
264  primaryidtbl(40)%charge = 1
265 
266  primaryidtbl(41)%symb = 'vh'
267  primaryidtbl(41)%code = kvhvy
268  primaryidtbl(41)%subcode = regptcl
269  primaryidtbl(41)%charge = 1
270 
271  primaryidtbl(42)%symb = 'sclar'
272  primaryidtbl(42)%code = kvhvy
273  primaryidtbl(42)%subcode = regptcl
274  primaryidtbl(42)%charge = 1
275 
276  primaryidtbl(43)%symb = 'fe'
277  primaryidtbl(43)%code = kiron
278  primaryidtbl(43)%subcode = regptcl
279  primaryidtbl(43)%charge = 1
280 
281  primaryidtbl(44)%symb = 'iron'
282  primaryidtbl(44)%code = kiron
283  primaryidtbl(44)%subcode = regptcl
284  primaryidtbl(44)%charge = 1
285 
286  primaryidtbl(45)%symb = 'iso'
287  primaryidtbl(45)%code = kgnuc
288  primaryidtbl(45)%subcode = 3 ! to be determined later
289  primaryidtbl(45)%charge = 2 ! tbd
290 
291  primaryidtbl(46)%symb = 'sigma0'
292  primaryidtbl(46)%code = ksigma
293  primaryidtbl(46)%subcode = -1
294  primaryidtbl(46)%charge = 0
295 
296  primaryidtbl(47)%symb = 'sigma+'
297  primaryidtbl(47)%code = ksigma
298  primaryidtbl(47)%subcode = -1
299  primaryidtbl(47)%charge = 1
300 
301  primaryidtbl(48)%symb = 'sigma-'
302  primaryidtbl(48)%code = ksigma
303  primaryidtbl(48)%subcode = -1
304  primaryidtbl(48)%charge = -1
305 
306  primaryidtbl(49)%symb = 'gzai0'
307  primaryidtbl(49)%code = kgzai
308  primaryidtbl(49)%subcode = -1
309  primaryidtbl(49)%charge = 0
310 
311  primaryidtbl(50)%symb = 'gzai+'
312  primaryidtbl(50)%code = kgzai
313  primaryidtbl(50)%subcode = -1
314  primaryidtbl(50)%charge = 1
315 
316  primaryidtbl(51)%symb = 'bomega'
317  primaryidtbl(51)%code = kbomega
318  primaryidtbl(51)%subcode = -1
319  primaryidtbl(51)%charge = -1
320 
321  primaryidtbl(52)%symb = 'lambda'
322  primaryidtbl(52)%code = klambda
323  primaryidtbl(52)%subcode = -1
324  primaryidtbl(52)%charge = 0
325 
326  primaryidtbl(53)%symb = 'lambdac'
327  primaryidtbl(53)%code = klambdac
328  primaryidtbl(53)%subcode = -1
329  primaryidtbl(53)%charge = 1
330 
331  primaryidtbl(54)%symb = 'pbar'
332  primaryidtbl(54)%code = knuc
333  primaryidtbl(54)%subcode = antip
334  primaryidtbl(54)%charge = -1
335 
336 
337  primaryidtbl(55)%symb = 'nbar'
338  primaryidtbl(55)%code = knuc
339  primaryidtbl(55)%subcode = antip
340  primaryidtbl(55)%charge = 0
341 
342  primaryidtbl(56)%symb = 'light'
343  primaryidtbl(56)%code = klight
344  primaryidtbl(56)%subcode = 1
345  primaryidtbl(56)%charge = 0
346 
347  primaryidtbl(57)%symb = 'Edepo'
348  primaryidtbl(57)%code = kedepo
349  primaryidtbl(57)%subcode = 0
350  primaryidtbl(57)%charge = 0
351 
352  primaryidtbl(58)%symb = 'chgPath'
353  primaryidtbl(58)%code = kchgpath
354  primaryidtbl(58)%subcode = 0
355  primaryidtbl(58)%charge = 1
356 
357  primaryidtbl(59)%symb = 'tau+'
358  primaryidtbl(59)%code = ktau
359  primaryidtbl(59)%subcode = antip
360  primaryidtbl(59)%charge = 1
361 
362  primaryidtbl(60)%symb = 'tau-'
363  primaryidtbl(60)%code = ktau
364  primaryidtbl(60)%subcode = regptcl
365  primaryidtbl(60)%charge = -1
366 
367  primaryidtbl(61)%symb = 'neu_tau'
368  primaryidtbl(61)%code = kneutau
369  primaryidtbl(61)%subcode = regptcl
370  primaryidtbl(61)%charge = 0
371 
372  primaryidtbl(62)%symb = 'neu_e~'
373  primaryidtbl(62)%code = kneue
374  primaryidtbl(62)%subcode = antip
375  primaryidtbl(62)%charge = 0
376 
377  primaryidtbl(63)%symb = 'neu_mu~'
378  primaryidtbl(63)%code = kneumu
379  primaryidtbl(63)%subcode = antip
380  primaryidtbl(63)%charge = 0
381 
382  primaryidtbl(64)%symb = 'neu_tau~'
383  primaryidtbl(64)%code = kneutau
384  primaryidtbl(64)%subcode = antip
385  primaryidtbl(64)%charge = 0
386 
387  primaryidtbl(65)%symb = 'pdg'
388  primaryidtbl(65)%code = 0 ! later fixed
389  primaryidtbl(65)%subcode = 0 ! //
390  primaryidtbl(65)%charge = 0 !
391 
392  primaryidtbl(66)%symb = 'p~'
393  primaryidtbl(66)%code = knuc
394  primaryidtbl(66)%subcode = antip
395  primaryidtbl(66)%charge = -1
396 
397  primaryidtbl(67)%symb = 'n~'
398  primaryidtbl(67)%code = knuc
399  primaryidtbl(67)%subcode = antip
400  primaryidtbl(67)%charge = 0
401 
402 
403  end
404 !***************************************************
405  subroutine cseteunittbl
406  implicit none
407 
408 #include "Zptcl.h"
409 #include "Zprimary.h"
410 #include "Zprimaryc.h"
411 
412  ergunittbl(1)%symb = 'ev'
413  ergunittbl(1)%togev = 1.d-9
414 
415  ergunittbl(2)%symb = 'kev'
416  ergunittbl(2)%togev = 1.d-6
417 
418  ergunittbl(3)%symb = 'mev'
419  ergunittbl(3)%togev = 1.d-3
420 
421  ergunittbl(4)%symb = 'gev'
422  ergunittbl(4)%togev = 1.d0
423 
424  ergunittbl(5)%symb = 'tev'
425  ergunittbl(5)%togev = 1.d3
426 
427  ergunittbl(6)%symb = 'pev'
428  ergunittbl(6)%togev = 1.d6
429 
430  ergunittbl(7)%symb = 'eev'
431  ergunittbl(7)%togev = 1.d9
432  end
max ptcl codes in the kgzai
Definition: Zcode.h:2
max ptcl codes in the kseethru ! subcode integer k0l
Definition: Zcode.h:2
max ptcl codes in the kdmes
Definition: Zcode.h:2
max ptcl codes in the kgnuc
Definition: Zcode.h:2
max ptcl codes in the kseethru ! subcode integer k0s
Definition: Zcode.h:2
max ptcl codes in the kphi
Definition: Zcode.h:2
subroutine cinisprim0(prm, fn)
Definition: ciniSPrim.f:35
block data cblkIncident data *Za1ry *HeightOfInj d3
Definition: cblkIncident.h:7
const int kphoton
Definition: Zcode.h:6
max ptcl codes in the klambdac
Definition: Zcode.h:2
max ptcl codes in the kkaon
Definition: Zcode.h:2
max ptcl codes in the kelec
Definition: Zcode.h:2
max ptcl codes in the kneue
Definition: Zcode.h:2
max ptcl codes in the kneutau
Definition: Zcode.h:2
subroutine crdprimdata(prm)
Definition: crdPrimData.f:18
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kalfa
Definition: cblkHeavy.h:7
max ptcl codes in the komega
Definition: Zcode.h:2
max ptcl codes in the kseethru ! subcode integer regptcl
Definition: Zcode.h:2
max ptcl codes in the kseethru ! subcode integer kneutron
Definition: Zcode.h:2
subroutine cseteunittbl
Definition: ciniSPrim.f:406
subroutine cprocprimdt(prm)
Definition: cprocPrimDt.f:3
max ptcl codes in the kiron
Definition: Zcode.h:2
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
Definition: cblkEvhnp.h:5
max ptcl codes in the klambda
Definition: Zcode.h:2
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code knuc
Definition: cblkHeavy.h:7
subroutine copenf(io, fnin, icon)
Definition: copenf.f:8
subroutine csetprimtbl
Definition: ciniSPrim.f:59
max ptcl codes in the krho
Definition: Zcode.h:2
max ptcl codes in the kneumu
Definition: Zcode.h:2
max ptcl codes in the klight
Definition: Zcode.h:2
dE dx *! Nuc Int sampling table d
Definition: cblkMuInt.h:130
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kvhvy
Definition: cblkHeavy.h:7
max ptcl codes in the knnb
Definition: Zcode.h:2
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code kcno
Definition: cblkHeavy.h:7
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code klibe
Definition: cblkHeavy.h:7
max ptcl codes in the ktau
Definition: Zcode.h:2
********************block data cblkHeavy ********************integer j data *HeavyG2symbol *data *HeavyG2code khvy
Definition: cblkHeavy.h:7
max ptcl codes in the kseethru ! subcode integer antip
Definition: Zcode.h:2
subroutine cinisprim(fn)
Definition: ciniSPrim.f:11
max ptcl codes in the kpion
Definition: Zcode.h:2
subroutine cskipcomment(io, icon)
Definition: cskipComment.f:19
max ptcl codes in the ksigma
Definition: Zcode.h:2
max ptcl codes in the kddb
Definition: Zcode.h:2
max ptcl codes in the kmuon
Definition: Zcode.h:2
max ptcl codes in the kbomega
Definition: Zcode.h:2