4 ! (-> ------------------------------------
7 character*128
PrimaryFile !1 Primary Spectrum
data file (full or relative path)
9 character*128
ContFile !1
Job continuation information file (full or relative path).
10 !
default is "ContInfo". This will be created when job
11 !
is finished normally.
12 character*128
GeomagFile !2 IGRF or WMM file path which contains geomagnetic field expansion
13 ! coefficients. Their format
is the same one
as given in their web
14 ! page.
If ' ' (
default), Cosmos/Data/Geomag/igrf
is used.
15 character*128
SkeletonFile !1 Skeleton information file (full or relative path). created
if Job =
16 !
'skeleton'. Default
is 'skeletonParam'. This
is the Namelist
data 17 ! referred by Cosmos automatically
if Job=
'flesh' is specified. For
18 ! Job=
'flesh', you have
to modify some part of
this file.
19 character*128
DpmFile !2 control card
to specify the
dpmjet execution conditions.
If ' ',
20 ! Cosmos/Data/DPM/atmos.inp
is assumed.
21 character*10 Job !1 What kind of job you are going
to do.\newline
22 ! =
' ' (
default). nothing
special.\newline
23 ! =
'skeleton'. Makes skeleton. \
newline 24 ! =
'flesh'. Flesh skeleton events. See manual.\newline
26 ! =
'newflesh' see manual. \
newline 27 character*128
SeedFile !1 File
to contain the initial random numbers
for those events
to 28 ! which you want
to flesh. You can create the file by calling
29 ! cwriteSeed in
a user hook routine (
say, in chookEnEvent) at
30 ! skeleton making
time. Default
is 'Seed'. For
a normal
run with
32 ! and the
event number are automatically output on the speicfied disk file.
36 !
is assumed
to have pairs of IR in each row, and they are
read to 37 ! initialize each
event. This feature
is ignored when Job =
'flesh' or
38 !
'newflesh'. The \# 14 file should be opened by the
user routine
39 ! (chookBgRun). This
is almost debug purpose.\newline
40 !
If InitRn(2)$<$0, timer, hostname and
process number are used
for the
42 integer EventNo !2 cumulative
event number counter.(excluding discarded ones due
to cutoff).
44 ! (excluding discarded ones due
to cutoff).
46 ! in the current
run.
If negative, their absolute
is used and counting
47 ! includes discarded ones due
to rigidity cutoff.
50 ! flux calculation, negative ones are better.
54 ! (excluding discarded ones due
to cutoff).
55 character*8
DeadLine !1 The
dead line before which the job should terminate.
56 ! Should be given like '10.11.15' which means the nearest 10th, 11 O'clock,
57 ! 15 min. Not used
if Within has non zero value.
61 ! gamma rays) with energy
BaseErg. The cpu
time estimation
is based on
63 ! (for nucleus; otherwise 1).
66 character*100
UserHookc !2 array size
is MAX\_USERHOOKC(=5). Usage
is left for the
user. To get the
i-th
67 !
component, the use may 'call cqUHookc(
i, cv)' in the userHook routine,
70 ! component, the use may 'call cqUHookr(i, rv)' in the userHook routine,
73 ! component, the use may 'call ccqUHooki(i, iv)' in the userHook rouitne,
75 character*128
AtmosFile !2 path
to the atmospheric
data as in 'Cosmos/Data/Atmos/stdatmos2.
d'
76 ! Normally
this may be blank. Then, standard atmosphere
77 !
is employed.
If another
data with the same format
78 ! atmosphere model
is available, it can be specified.
81 ! Cosmos/Import/NRL/Util/ or manual for NRL atmosphere).
82 ! latitude and longitude information
is also used.
84 ! atmosphere
data and it
is used.
85 ! For such NRL
data, see also Cosmos/Import/NRL/Util/
87 character*32
AtEnv !2
If this is non blank, an environmental variable with that name
is 88 ! assumed
to exist and Cosmos tries
to get the value of that env variable.
89 !
If the value
is obtained, the \verb/@/ in \verb/@_/ or \verb/@./
90 ! expressing
a part of
a file name
is replaced by that value.
91 ! (default
is blank and in that case the \verb/@/
is replaced by
92 ! the host name
where the job runs.)
94 character*32
SharpEnv !2
If this is non blank, an environmental variable with that name
is 95 ! assumed
to exist and Cosmos tries
to get the value of that env variable.
96 !
If the value
is obtained, the \verb/
#/ in \verb/#_/ or \verb/#./ 97 ! expressing
a part of
a file name
is replaced by that value.
98 ! (
default is blank and in that
case the \verb/#/
is replaced by
101 character*32
PercentEnv !2
If this is non blank, an environmental variable with that name
is 102 ! assumed
to exist and Cosmos tries
to get the value of that env variable.
103 !
If the value
is obtained, the \verb/%/ in \verb/%_/ or \verb/%./
104 ! expressing
a part of
a file name
is replaced by that value.
105 ! (
default is blank and in that
case the \verb/%/
is replaced by
109 ! <-) -------------------------------------
! Parameters needed for the TempDev
do nsites input read(input, *) histdep call cqUhookc(2
! Parameters needed for the EventNo common Zmanagerpc2 Job
integer maxFiles ! actual logical file ! it will be used during mpi skeleton making time ! so when the program starts to normal run
! Parameters needed for the EventNo common Zmanagerpc2 AtmosFile
! Parameters needed for the Within
! Parameters needed for the Cont
! parameters for Elemag process(-> ---------------------------------------------- real *8 RecoilKineMinE !2 Recoil Kinetic Min Energy above which the recoil(=knock-on process) ! is treated. Below this energy, the effect is included as continuous ! energy loss. Used only if KnockOnRatio $>$ 1. ! If this is 0 or if KnockOnRatio=1, KEminObs(gamma)=KEminObs(elec) is used. ! See also KnockOnRatio. real *8 KnockOnRatio !2 KnockOnRatio *KEminoObs is used instead of RecoilKineMinE if KnockOnRatio $< $1. real *8 X0 !2 Radiation length in kg/m$^2$ for air. Normally the user should not touch this. real *8 Ecrit !2 Critical energy in GeV. \newline ! Employed only when calculating air shower size in the hybrid ! air shower generation. The value would be dependent on the ! experimental purpose. The default value, 81 MeV, is bit too ! small in many applications(The air shower size is overestimated). ! Comparisons of sizes by the hybrid method and by the full Monte ! Carlo tell that \newline ! $N_e$(full 3-D M.C) $< N_e$(hybrid AS with $E_c=81$ MeV) $< N_e$(full 1-D M.C) ! $ {\ \lower-1.2pt\vbox{\hbox{\rlap{$<$}\lower5pt\vbox{\hbox{$\sim$}}}}\ } ! N_e$(hybrid AS with $E_c={76}$ MeV) at around shower maximum. ! Hybrid AS is always essentially 1-D. logical Knockon !2 Obsolete. Don 't use this. See RecoilKineMinE ! and KnockonRatio. real *8 AnihiE !2 If E(positron) $<$ AnihiE, annihilation is considered. real *8 Es !2 Modified scattering constant. 19.3d-3 GeV real *8 MaxComptonE !2 Above this energy, Compton scattering is neglected. real *8 MaxPhotoE !2 Above this energy, photoelectric effect is neglected. real *8 MinPhotoProdE !1 Below this energy, no photo-prod of hadron. See also PhotoProd. logical PhotoProd !1 Switch. if .false., no photo prod. of hadron is considered at all. ! See also MinPhotoProdE, HowPhotoP real *8 Excom1 !2(GeV). If photon energy is<=Excom1, use XCOM data for ! compton/p.e/coherent scattering(must be< 100 GeV). real *8 Excom2 !2(GeV). If photon energy is<=Excom2, use XCOM data for ! pair creation cross-section.(must be< 100 GeV). integer Moliere !2 2$\rightarrow$ use Moliere scat.\newline ! 0$\rightarrow$ use Gaussian scattrign. \newline ! 1$\rightarrow$ use Moli\`ere scattering for non-electrons \newline ! 2$\rightarrow$ use Moli\`ere scattering for all charged ! particles. But treatment is not so rigorous as case of 3. ! \newline ! 3$\rightarrow$ use rigorus Moliere scattering. Diff. from 2 is verysmall. May be some effect in the ! core region. integer ALateCor !2 1$\rightarrow$ angular and lateral correlation is taken into account when Moliere=0 .\newline ! t$\rightarrow$ Use angular-lateral correlation by Gaussian ! approximation. No effect is seen if path length is short. !<-) ---------------------------------------------- common/Zelemagc/RecoilKineMinE
! hadronic collision parameters(-> --------------------------------------------- character *64 IntModel !1 Interaction model description. Usage was changed from v6.0. ! One may list code name and upper energy bound for the code.\newline ! E.g. IntModel='"dpmjet3"' ;to specify the dpmjet3 in the entire energy region ! IntModel='"dpmjet3" 100 "qgsjet2" to specify dpmjet3 at $<$ 100 GeV and qgsjetII ! at E$> $100 GeV \newline ! IntModel='"nucrin" 5 "fritiof1.6" 500 "adhoc" to specify Nucrin, ! fritiof1.6, and ad-hoc model in the respective energy region. This ! corresponds to the old IntModel='int1'. \newline ! IntModel='"nucrin" 5 "fritiof1.6" 10 "fritiof7.02" and \newline ! IntModel='"dpmjet3"' \newline ! are most promissing models that fit the observed ! data(muons and gamma rays) for which the primary is well known by ! BESS and AMS observations($<$ 100 GeV). character *64 XsecModel !1 Xsection model description. Noarmally should not be given. ! Defaul is to use the hadronic xsection given by each active model ! fixed by IntModel. However, for some experimental purposes, ! one may employ x-section by other interaction model. ! e.g. ! IntModel='"phits" 2 "dpmjet" ' ! XsecModel='"Phits" 2 "dpmjet" 80 "qgsjet2"' ! is one example. Default is blank and is replaced by IntModel character *100 InclusiveFile !2 The path to the inclusive data file, xdist.d. Default is ! "../Contrib/Inclusive/xdist.d" real *8 SucPw !2 In the 2nd, 3rd,.. collision of a nucleon inside a nucleus, the collision is ! made to be more elastic than normal one. The leading particle spectrum is ! sampled from x **SucPw dx. SucPw should be in 1 to 2. real *8 Eta2Pi0 !2 eta/pi0 ratio. this is used to see the effect due to non-decay of pi0 ! at very high energies. Only source of h.e gamma can be eta and LPM may work ! for them. default is 0.2 integer MulLow !2 if 1, QCD predicted multiplicity law is used in the adhoc model else UA5 ! parametalization is used. Default is 1.(from v5), ! 0.6135exp(23/18sqrt(2log(roots/0.3))) is QCD jet prediction. ! 7.2roots **0.254 -7 is UA5 data. The branch point is set at roots=900 GeV. !(I have adjusted 0.6135 so that 900 GeV is the b.p) integer LundPara !2 To control Lund program. LundPara(1) is set to kfr(7);kfr(7)=1 is for Frititof ! hard scattering. 2 is for Pythia H.S. 2 gives higher multiplicity but shape is ! strange. Default is 1. LundPara(2) is set to kfr(12):1 by for OPAL hard scattering ! parameterization. 2 by DELPHI. Default is 2.(2 gives bit higher PT). LundPara(3) ! $>$ 0 $\Rightarrow$ Pythia message will appear. LundPara(4) $>$ 0 Fritiof ! message;both on ErrorOut. LundPara(5)=0 $\Rightarrow$ All kaons collisions ! are treated as pi- in Fritiof, else they are treated by adhoc model as they are. ! below:Obsolete integer TotXSopt !2 option for total x-section. 1. PDG 3. TOTEM(COMPETE fitting) ! 2. between 1 and 3.(1 is lowest 3 is highest X-sec.) ! Diff. becomes gradually seen at roots > few x 10^2 GeV ! This for p-p case. Default is 2. ! For other collision types, 1 is used. ! If the current interaction model supplies the inelastic ! cross-section, it is used without referring to this. ! However, see XsecModel. integer SxAbySxpOpt !2 For nucleus target with mass # A, cross section is converted ! from the one for proton target. This option fixes which ! SxA/sxp table is used. This is used when the current interaction ! model dose not supply the cross-section.(See XsecModel too). ! 1. use table derived from QGSJET-II-04(default) ! 2. use table derived from dpjmet3 ! 3. use table dervied from EPOS(but can be used for A<=64). !(as of 2013/Jun). ! However, for small cross-sections(such as gamma-A, nu-A, old ! cxp2xA routine is used). real *8 Cepic0 !2 Obsolete real *8 Cekaon !2 Obsolete integer SucInt !2 The number of successive interactions inside A is affected by this parameter.\newline ! If $0\rightarrow$ old formula(before uv3.500) is used, which give rather ! smaller number($< Nsuc >$ in Air=1.7 for 30 mb pp), \newline ! if $1\rightarrow$ new one $< Nsuc >=2.2$ for 30 mb pp). \newline ! Default is 0(from V5.00 again). real *8 Ceneuc !2 \verb|p -> n
! Parameters needed for the EventNo common Zmanagerpc2 * UserHookc(MAX_USERHOOKC)
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting AtEnv
! Parameters needed for the BaseErg
block data cblkMuInt integer i ! Pair total X sec data(MuPrTX(i), i=1, 38)/1 0.431132E-02
! Parameters needed for the Launcher(-> ------------------------------------ integer ErrorOut !2 Error output logical dev number. character *128 PrimaryFile !1 Primary Spectrum data file(full or relative path) character *128 CutOffFile !1 Geomagnetic cut-off file character *128 ContFile !1 Job continuation information file(full or relative path). ! default is "ContInfo". This will be created when job ! is finished normally. character *128 GeomagFile !2 IGRF or WMM file path which contains geomagnetic field expansion ! coefficients. Their format is the same one as given in their web ! page. If ' '(default), Cosmos/Data/Geomag/igrf is used. character *128 SkeletonFile !1 Skeleton information file(full or relative path). created if Job=! 'skeleton'. Default is 'skeletonParam'. This is the Namelist data ! referred by Cosmos automatically if Job='flesh' is specified. For ! Job='flesh', you have to modify some part of this file. character *128 DpmFile !2 control card to specify the dpmjet execution conditions. If ' ', ! Cosmos/Data/DPM/atmos.inp is assumed. character *10 Job !1 What kind of job you are going to do.\newline !=' '(default). nothing special.\newline !='skeleton'. Makes skeleton. \newline !='flesh'. Flesh skeleton events. See manual.\newline !='newskel' \newline !='newflesh' see manual. \newline character *128 SeedFile !1 File to contain the initial random numbers for those events to ! which you want to flesh. You can create the file by calling ! cwriteSeed in a user hook routine(say, in chookEnEvent) at ! skeleton making time. Default is 'Seed'. For a normal run with ! Job=' ', if SeedFile is not ' ', two integer initial random numbers ! and the event number are automatically output on the speicfied disk file. integer SeedFileDev !2 logical device number of SeedFile. logical Cont !1 If T, continuation from a previous job is assumed. Contfile content is used. integer InitRN !1 Initial random number seed. 2 integers. If InitRN(1) $<$ 0, file dev \# 14 ! is assumed to have pairs of IR in each row, and they are read to ! initialize each event. This feature is ignored when Job='flesh' or ! 'newflesh'. The \# 14 file should be opened by the user routine !(chookBgRun). This is almost debug purpose.\newline ! If InitRn(2)$< $0, timer, hostname and process number are used for the ! initialization. integer EventNo !2 cumulative event number counter.(excluding discarded ones due to cutoff). integer EventsInTheRun !2 Counter for event number in the run. Internal use. !(excluding discarded ones due to cutoff). integer DestEventNo !1 2 integers:Final event no. to be generated and events to be generated ! in the current run. If negative, their absolute is used and counting ! includes discarded ones due to rigidity cutoff. ! If DestEventNo(2)=0, DestEventNo(1) is used. If it is negative, only ! DestEventNo(2) is checked to see events in the current run. For the ! flux calculation, negative ones are better. logical Hidden !1 Make T, if hidden parameters are to be written. integer TempDev !2 Logical Dev. number for temporary disk use. integer PrevEventNo !2 The event number already finished. System use for Cont job. !(excluding discarded ones due to cutoff). character *8 DeadLine !1 The dead line before which the job should terminate. ! Should be given like '10.11.15' which means the nearest 10th, 11 O 'clock, ! 15 min. Not used if Within has non zero value. integer Within !1 The job should end within this minutes from now. Default is 99999. ! If 0 is given, DeadLine is used. real *8 BaseTime !1 Rough cpu time needed for completing one event(say, for protons, or ! gamma rays) with energy BaseErg. The cpu time estimation is based on ! A *(E1ry par nucleon) **BasePower/BaseErg *BaseTime, where A is mass number !(for nucleus;otherwise 1). real *8 BaseErg !2 See BaseTime. The default is 1000(GeV). real *8 BasePower !2 See BaseTime. Default is 1.0 character *100 UserHookc !2 array size is MAX\_USERHOOKC(=5). Usage is left for the user. To get the i-th ! component, the use may 'call cqUHookc(i, cv)' in the userHook routine, ! where cv is a character variable to receive the data. real *8 UserHookr !2 array size is MAX\_USERHOOKR(=10). Usage is left for the user. To get the i-th ! component, the use may 'call cqUHookr(i, rv)' in the userHook routine, ! where rv is a real *8 variable to receive the data. integer UserHooki !2 array size is MAX\_USERHOOKI(=10). Usage is left for the user. To get the i-th ! component, the use may 'call ccqUHooki(i, iv)' in the userHook rouitne, ! where iv is an integer varialbe to receive the data. character *128 AtmosFile !2 path to the atmospheric data as in 'Cosmos/Data/Atmos/stdatmos2.d' ! Normally this may be blank. Then, standard atmosphere ! is employed. If another data with the same format ! atmosphere model is available, it can be specified. ! If ATMOSPHERE is set to 3 in Zcondc.h, and AtmosFile ! is blank, you have to set NRL_period(see, for period, ! Cosmos/Import/NRL/Util/or manual for NRL atmosphere). ! latitude and longitude information is also used. ! If AtmosFile is given, it is assumed NRL format ! atmosphere data and it is used. ! For such NRL data, see also Cosmos/Import/NRL/Util/integer::NRL_period !2 see Cosmos/Import/NRL/Util or manual for NRL atmsophere character *32 AtEnv !2 If this is non blank, an environmental variable with that name is ! assumed to exist and Cosmos tries to get the value of that env variable. ! If the value is obtained, the \verb/@/in \verb/@_/or \verb/@./! expressing a part of a file name is replaced by that value. !(default is blank and in that case the \verb/@/is replaced by ! the host name where the job runs.) character *32 SharpEnv !2 If this is non blank, an environmental variable with that name is ! assumed to exist and Cosmos tries to get the value of that env variable. ! If the value is obtained, the \verb/#/in \verb/#_/or \verb/#./! expressing a part of a file name is replaced by that value. !(default is blank and in that case the \verb/#/is replaced by ! the process number of the run). character *32 PercentEnv !2 If this is non blank, an environmental variable with that name is ! assumed to exist and Cosmos tries to get the value of that env variable. ! If the value is obtained, the \verb/%/in \verb/%_/or \verb/%./! expressing a part of a file name is replaced by that value. !(default is blank and in that case the \verb/%/is replaced by ! the USER name). !<-) ------------------------------------- common/Zmanagerpc/*BaseTime
! Parameters needed for the NRL_period(4)
! Parameters needed for the * ErrorOut
real(4), dimension(:), allocatable, save h
! Parameters needed for the EventNo common Zmanagerpc2 GeomagFile
! Parameters needed for the EventNo common Zmanagerpc2 SeedFile
! Parameters used for hadronic cascade shower is generated newline ! For you may give as as or em as(order/case/separator insensitive) is to generate EM-cascade and AS. \newline ! Generate
! Parameters needed for the UserHookr(MAX_USERHOOKR)
! Parameters needed for the EventNo common Zmanagerpc2 PrimaryFile
! Parameters needed for the EventNo common Zmanagerpc2 SharpEnv
! Parameters needed for the * Hidden
integer Charge2heavyG charge of heavy rightarrow heavy group index conversion array integer HeavyG2massN heavy group index rightarrow mass number conversion array integer HeavyG2charge heavy group index rightarrow charge of heavy conversion array integer HeavyG2code heavy group index rightarrow particle code conversion array integer Code2massN particle code rightarrow mass number conversion array integer Code2heavyG particle code rightarrow heavy group index conversion array real *FragmentTbl the number of interacting nucleons among a projectile heavy nucleus is ! determined as the number of first collision of each interacting nucleon inside ! the nucleus If
integer maxbin nregion c minsave drx2 ! drawing region real maxdep integer maxpos integer to
! Parameters needed for the InitRN(2)
real cut integer ncpi0 common Zuserc cut
! Parameters needed for the EventNo common Zmanagerpc2 DpmFile
! Parameters needed for the EventNo common Zmanagerpc2 * CutOffFile
! Parameters needed for the SeedFileDev
dE dx *! Nuc Int sampling table d
! type magfield sequence ! Note that position vector where the magnetic field is given ! is not included here ! unit of field strength is in T(1 gauss=10 **-4 T) union map real *8 x
integer lengid integer lengdir character *dir integer kgetenv2 character *numb character *execid character *msg logical takehist save do nsites tkarspec nsites if(histdep(i) .gt. 0) then takehist
! Parameters needed for the * EventsInTheRun
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos *Zfirst pos *Zfirst Zfirst vec w *Zfirst vec w Zfirst vec *Zfirst Zfirst where
! Parameters used for hadronic cascade shower is generated newline ! For you may give as as or em quick generation of AS for heavy primaries is tried See chookASbyH f character *Generate2 don t touch this for skeleton flesh use integer MagBrem no magnetic bremsstrahlung is considered newline ! if and Ee energy loss due to magnetic brems is considered newline ! if and Ee real sampling of gamma is performed newline(note, actually upsilon is referred further). ! if generate
! Parameters needed for the BasePower
*Zfirst p fm *Zfirst p mass
! constants used for pair brem in Air real *mbtoPX0 ! mbtoPgrm x X0g If multiplied to sigma in ! we obtain probability radation length real *X0g ! radiation length in g cm real *cScrC1 ! const which appears in the complete screening ! crossection real *cScrC2 ! the other such one real too **media Zeff **Z **real *BrScrE ! below this
integer maxbin nregion c minsave drx2 ! drawing region real maxdep integer maxpos integer from
! Parameters needed for the EventNo common Zmanagerpc2 ContFile
! Parameters needed for the * PrevEventNo
! structure defining a particle at production ! Basic idea of what is to be contained in ! the particle structue is that dynamical ones should be included those derivable from the particle code ! is not included ******************************************************type fmom momentum sequence union map real e endmap map real t endmap map ! pt before pz is set real rap endmap tm endmap endunion end type fmom ! Important say
! Parameters needed for the DestEventNo(2)
! Parameters needed for the EventNo common Zmanagerpc2 * SkeletonFile
block data cblkIncident data *Za1ry is
! Parameters needed for the UserHooki(MAX_USERHOOKI)
! Parameters needed for the EventNo common Zmanagerpc2 * PercentEnv
! Parameters needed for the EventNo common Zmanagerpc2 DeadLine