2 ! (-> --------------------------------------------
5 ! (2)
is used
to indicate later at which the
user want
to 6 ! energy sum of particles falling on it.
7 !
If (1)
is non zero, when
a charged particle makes energy loss
to Air, chookEabsorb
is 8 ! always called. When
a particle dies (
i.e, it K.E becomes < Emin), chookEabsorb2
9 ! may be called dedpending on the particle and
Eabsorb bit. (LSB
is bit 1).
10 ! calling cond (See Ztrackv.h,
BitPhoton etc).
11 ! bit 2 and photon. bit 3 and
e-/
e+. bit 4 proton. bit 5 neutron
12 ! bit 6 anti-N. bit 7 decayable
ptcl, bit8 others
13 ! bit 1
is for photoelectric effect but
is not used in Air.
16 ! inclined trajectory by
using numerical integration.
20 ! 2--> Exp.
data < 2.5 GeV ; Sofia > 2.5GeV
21 ! 3--> Sofia < 2.5GeV; (rho, omega,
phi) or pi0 or
pi+/- at current model
22 ! 4--> Exp.
data < 2.5GeV
24 ! D=0. Use cosmos xsection
25 ! bit 1-->
for p,
n use
phits xs (last bit
is bit 1) (btest(..,0)-->T
26 ! bit 2-->
for heavy, use
phits xs.
29 integer JamXs !2 0--> use inelastic channel only with Cosmos cross-section
30 ! 1--> use total cross-section with Cosmos cross-section
32 ! E/n > 5 GeV and used; E/n< 5 GeV, Shen's
xs is used
33 ! =0 AA Shen
's xsection is normalzied to cosmos Xsection at 34 ! 5GeV if E/n < 5 GeV and used; E/n>5 cosmos xs is used 35 integer JamFragment !2 0--> as original Jam, the spectator breaks into nucleons 36 ! 1--> spectator goes into nucleons, some light heavy ions and heavy remnants 37 ! the method is simple but not so bad. 38 logical Freec !1 if F, the first interaction point is forced to be the injection point else 39 ! the interaction poin is randomly sampled. 40 integer OneDim !1 If 0, 3 dimensional simulation. if $\ge$1, one 41 ! dimensional simulation is performed. \newline 42 ! 1: onedim without use of table. \newline 43 ! 2: table is used for thickness $ \leftrightarrow$ length conversion. if cos $<$ .5 \newline 44 ! 3: table is always used for any angle. 45 ! ( for height $>$ 30 km, table is not used in any case). 46 real*8 LamorDiv !2 In the geomagnetic field, a charged particle can travel almost streight 47 ! in (Lamor Radius)/LamorDiv. Default is 5. For AMS like tracking 20 may be needed. 48 real*8 Truncc !2 coeff. for truncating path. 49 real*8 Truncn !2 coeff. for truncating path. 50 real*8 Truncx !2 coeff. for truncating path. 51 real*8 KEminObs(8) !1 The min kinetic energy of particles for observation. 52 ! KEminObs(i): i=1 is for g, 2 e, 3 mu, 4 pi, 5 K, 6 N, 7 Neu, 8 other 53 ! default is 2*500keV,7*10MeV. i=2 is foreced to be the same as i=1. 54 ! Normally the user may define only i=1. 55 real*8 KEminObs2(8) !2 Don't touch this. skeleton/flesh use.
56 real*8
RatioToE0 !2 In the A.S generation, hadronic interactions are followed down
to at
59 ! This many be 1.0
for hadron origin
case. But
for gamma/electron primary,
60 !
this should be
as low as 0.01
to enjoy full fluctuation.
64 ! events and flesh them out
to deeper depths. In such
a skeleton-making job, the
user must give the
65 !
depth list which
is used flesh-out job, too. In the skeleton job, particle
tracking is terminated
66 ! at the level specified by
EndLevel. In such
a flesh-out job, the
user must give
a larger value
69 integer Trace !1 Flag for trace information output.\newline 70 ! 0 $\rightarrow$ no trace information is output.\newline 71 ! $<$10$\rightarrow$ x, y, z in the primary system(say, 1)\newline 72 ! $<$20 $\rightarrow$ x, y, in the primary sys. z in kg/m$^2$.(say,11)\newline 73 ! $<$30 $\rightarrow$ x, y, z in the detector system\newline 74 ! $<$40 $\rightarrow$ x, y, in the detector system. z in kg/m2\newline 75 ! $<$50 $\rightarrow$ x, y, z in 'xyz' system.\newline 76 ! $<$60 $\rightarrow$ x,y, in 'xyz' and z in kg/m2\newline 77 ! 61-100 $\rightarrow$ for Cherenkov observation. For Coord system, subtract 60.\newline 78 ! if the value is even, binary output is made on TraceDev.\newline 79 ! if the last digit is 1 or 2, trace is always taken. if the last digit is 3 or 4, trace is taken 80 ! only if the particle is located below the heighest observation depeth. 81 ! $>$ 101 $\rightarrow$ subtract 100 and apply the above, but chookTrace or chookCeren are used.\newline 82 ! Primary system: Origin is the deepest detector. Z-axis is the primary direction. 83 ! X-axis is Z x Vertical axis. X-Y plane is orthogonal to the primary.\newline 84 ! Detector system: origin is the deepest detector. Z-axis is the vertical one. X-axis is 85 ! directed to the magnetic east. X-Y plane is horizontal.\newline 86 ! z in kg/m$^2$ : Vertical depth in kg/m$^2$ above the deepest detector to the particle. 87 integer TraceDev !2 Logical dev \# for TraceDir/trace1,2,.... 88 character*70 TraceDir !1 Directory. Default Trace information is put TraceDir/trace1, 2,.. 89 ! for event 1, 2, ... The directory should exist. Default is ' ' and in this case 90 ! /tmp/YourLoginName/ is employed. The last "/" should not be given. 91 ! *** NOTE that default Cherenkov output is made only using TraceDev, 92 ! TraceDir is not used. You have to open the disk file at chookbgRun 93 ! It can by binary or ascii file depending on Trace value. 94 logical ThinSampling !1 if F, thinsampling is not tried. if T, alla Hillas thinning. Don't use with
95 ! the skeleton/flesh method
97 ! between (
EthinRatio(2)$\sim$EthinRatio(1))* PrimaryEnergy(/nucleon)
98 ! (=
Ethin(2)$sim$Ethin(1)) ( EtinRatio(1)$>$ 0).
100 ! (1),(2)
is for
e/
g. (3),(4)
is for mu/hadron.
if(3)(4) are not given,
101 ! (3)=(1)/10 and (4)=(2)/10 are used.
105 ! 11, same
as 1 but mag.
f is const. \newline
106 ! 12, same
as 2 but mag.
f is const. \newline
107 ! 21, same
as 1 but mag.
f is const. \newline
108 ! 22, same
as 2 but mag.
f is const. \newline
109 ! 31, same
as 1 but mag.
f is dependent on the
position. \newline
110 ! const value
is the one at deepest observation plane. for 11,12 or should be given by
111 !
MagN,
MagE,
MagD for 21, 22. For normal applications, 11
is good.
112 !
If no magnetic field
is applied, energy loss by dE/
dx is considered.(bef.4.92,
120 ! the particle travels. \newline
121 ! 0$\rightarrow$Don'
t use RungeKutta method. Use the solution assuming the constant B, which
122 !
is exact if B
is const. Since the particle path
is made
short,
this is 123 ! enough for normal cases
where particles are inside the atmosphere.(default) \newline
124 ! In every case below, if the particle
height is $<$ 30km
125 ! (= cheight in ccomPathEnd.
f), the same method
as 0
is used. \newline
126 ! 1$\rightarrow$ Use the Euler method. Time needed
is 20\% more than the 0 case.
127 ! As B, use the value at
L/2 point obtained by using the current direction. \newline
128 ! 2$\rightarrow$ mixture of 1 and Runge-Kutta-Gill method.
If gradient of B
is large, RKG
is 129 ! employed. This needs $\sim$4 times more cpu
time than case of 1 when making
a 130 ! cutoff table. The step size of RKG
is $\sim$1/10 of the Lamore radius. \newline
131 ! 3$\rightarrow$ The same
as 2 but use the Runge-Kutta-Fehlberg method instead of RKG.
132 ! Step size
is automattically adjusted ($\sim$1/20 $\sim$1/30 of Lamor radius) \newline
133 ! 4$\rightarrow$ As
a middle point, use the point obtained by assuming the constant B at
134 ! initial point.
If grad B
is still large, use RKG. \newline
135 ! 5$\rightarrow$ The same
as 4 but us RKF instead of RKG. \newline
136 ! 6$\rightarrow$ Use always RKG \newline
137 ! 7$\rightarrow$ Use always RKF. This takes very
long time.(50 times of 0). \newline
140 !
If 0, it
is adjusted
to be the same
as HeightOfInj. NOTE: For upgoin primary cases, you have
141 !
to set this one explicitly.
143 ! This
is for neutrino observation. See
ObsPlane.
144 real*8
BackAngLimit !2 If the cosine of the angle between
a particle and the primary becomes smaller than
145 ! this value, the particle
is discarded. See also BorderHeighH. If you give
a value
146 ! less than -1.0, such rejection will never happen. Default
is -1.0
147 character*16
Generate !1 specify what should be generated \newline
148 ! 1) Electro-magnetic cascade(
em), \newline
149 ! 2) one dimensional hybrid AS(
as/qas) and/or \newline
150 ! 3) AS Lateral distribution(
lat). \newline
151 ! If
Generate= ' ', hadronic cascade shower
is generated. \newline
153 ! Generate='em,
as' or 'em/
as' (order/case/separator insensitive)
is to generate EM-cascade and AS. \newline
154 ! Generate='
as' will generate AS with some adequate EM cascade (EM cascade
is automatically generated
155 ! so that hybrid A.S can be observed, but the minimum energy in EM cascade
is independent of
KEminObs). \newline
156 ! If 'qas'
is given, quick generation of AS for heavy
primaries is tried. See chookASbyH.f
158 character*16
Generate2 !2 don'
t touch this. for skeleton/flesh use.
161 ! if 1 and Ee $>$
MagBremEmin, energy loss due
to magnetic brems
is considered \newline
162 ! if 2 and Ee $>$ MagBremEmin,
real sampling of gamma
is performed. \newline
165 ! must be made small so that
WaitRatio*E0 $\sim$ MagBremEmin
168 ! (note, actually
upsilon is referred further). To see these magnetic effects,
169 ! HowGeoMag=2 and HightOfInj $\sim$ 5000 km are desirable.
174 real*8 MagBremEmin !2
E $>$ this, magnetic bremsstrahlung by electrons may be considered.
However, if
176 !
MagBrem = 1, total energy loss due
to brems
is considered. \newline
177 ! MagBrem = 2, gamma energy
is sampled actually. \newline
178 ! If
upsilon (Ee/
m * B/
Bcr)
is small, the effective treatment will be
179 ! the same
as MagBrem = 0 case.
180 real*8 MagPairEmin !2
E $>$ this, magnetic pair creation by gamma may be considered. However, if
181 !
MagPair = 0, not considered at all. \newline
182 ! MagPair = 1, pair creation
is sampled. \newline
183 ! However, again, actual occurrence will be dependent on the angle between
184 ! B and photon direction.
187 ! and the electron energy
is higher than this.
189 ! and the gamma energy
is higher than this.
191 ! high energy partciles may go that step without
192 ! suffering
from scattering and this could lead
to 193 ! under estimation of lateral spread (We don't impose
194 ! scattering when
a particle cross the observation
depth 196 !
is used
to make the maximum step size of particles
199 ! 1$\rightarrow$ incident
is tracked
to a direction opposite
to the given one.
200 ! the incident
is charge-conjugated.
201 ! All interactions are ignored. (Use when
to make
cut-off table or
to see
202 !
a given particle (
say, observed anti proton) can go out of Earth. \newline
203 ! 2$\rightarrow$ same
as 1 but energy gain (not loss)
is taken into account
207 ! (
to avoid infinite cyclotron loop). However, for normal applications,
208 ! this will not be effective because of BackAnglLimit. See
Reverse.
212 ! 1$\rightarrow$ energy loss by
n.
i is subsumed in dE/
dx of muons
as a continuous energy loss. Let v=
213 ! Etransfer/Emu, the loss here
is Int(vc:vmax) of (Emu vdsigma/dv). (vc $\sim$0, vmax$\sim$1). \newline
214 ! 2$\rightarrow$ (Default value). similar
to 1 but
as the continuous loss only v $<$ vmin=10$^{-3}$ of
215 ! fractional muon energy
is subsumed (
Int(vc: vmin) of (Emu vdsigma/dv)). The portion
218 ! 3$\rightarrow$ the same
as 2, but the
n.i
is explicitly included
to produce
a number of particles.
224 !
"no" ; don
't try to restore Pt asymmetry ( 225 ! original dpm. some asymmetry for heavy 227 ! "r" ; randomize Pt of mesons for Pz< 2GeV 228 ! in target rest frame and proj. rest frame 229 ! "r1" ; do the same only for target rest frame 230 ! "m" ; x <= -x sign change with prob. of 1/2 232 !However, If proj = p,pi.. and Target A<6, no ASR 233 ! If proj A<6 and target A<6, also no ASR 234 ! <-) ---------------------------------------------- 236 common /cZtracp/ Truncc, Truncn, Truncx, 237 * KEminObs, KEminObs2, RatioToE0, PathLimit, 238 * WaitRatio, EthinRatio, BackAngLimit, LamorDiv, 239 * BorderHeightH, MagN, MagE, MagD, MagChgDist, 240 * BorderHeightL, MuNI, MuBr, MuPr, 241 * MagBremEmin, MagPairEmin, UpsilonMin, LpmBremEmin, 242 * LpmPairEmin, UseRungeKutta, StepControl, 243 * ThinSampling, TimeStructure, HowGeomag, 244 * Trace, TraceDev, ExactThick, OneDim, Reverse, 245 * Freec, IncMuonPolari, MagBrem, MagPair, LpmEffect, 246 * EndLevel, EndLevel2, Eabsorb, HowPhotoP, PhitsXS, 247 * JamXs, AAXsec, JamFragment 250 * Generate, Generate2, TraceDir, ASRforDPM integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos depth
real(8), parameter, public m
! This namelist data is frequently used ! Some of them should be given mandatory namelist Param LpmEffect
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting AAXsec
! This namelist data is frequently used ! Some of them should be given mandatory namelist Param KEminObs
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting EndLevel2
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data h g *is for param c g data up(2, 1)/7.0d0/
dE dx *! Nuc Int sampling table e
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting LpmBremEmin
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting PathLimit
! 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
latitude latitude this system is used *****************************************************************! type coord sequence union map real z z in m endmap xyz map real * lat
integer npitbl real *nx dx real dx
! 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 WaitRatio ! must be made small so that WaitRatio *E0 sim MagBremEmin integer MagPair no magnetic pair creation is considered newline ! if and Eg MagPairEmin
latitude latitude this system is used *****************************************************************! type coord sequence union map real z z in m endmap xyz map real ! latitude in deg is to the north ! longitude in deg is to the east *h ! height in m endmap llh map real ! polar angle ! azimuthal angle *radius ! radial distance endmap sph endunion character *sys ! which system xyz
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting LpmPairEmin
block data cblkMuInt integer i ! Pair total X sec data(MuPrTX(i), i=1, 38)/1 0.431132E-02
! 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 If
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting Eabsorb
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting RatioToE0
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting ASRforDPM
block data cblkElemag data *AnihiE ! Eposi< 1 TeV, anihilation considered *X0/365.667/, ! radiation length of air in kg/m2 *Ecrit/81.e-3/, ! critical energy of air in GeV *MaxComptonE/1./, ! compton is considered below 1 GeV *MaxPhotoE/1.e-3/, ! above this, PhotoElectric effect neg. *MinPhotoProdE/153.e-3/, ! below 153 MeV, no gp --> hadrons ! scattering const not MeV *Knockon true
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting Reverse
! common variables used in tracking ptcls integer AngleLimit BitPhoton
! constants thru Cosmos real ! if multiplied to deg radian Torad ! light velocity m sec ! infinty ! kg m2 *Togpcm2 g cm2 ! g cm2 *Tokgpm2 kg m2 ! cm *Tom m ! m *Tocm cm ! g cm3 *Tokgpm3 kg m3 ! kg m3 *Togpcm3 g cm3 ! sec *Tonsec nsec * Bcr
! 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
! constants thru Cosmos real ! if multiplied to deg radian Torad ! light velocity m sec ! infinty ! kg m2 *Togpcm2 g cm2 ! g cm2 *Tokgpm2 kg m2 ! cm *Tom m ! m *Tocm cm ! g cm3 *Tokgpm3 kg m3 ! kg m3 *Togpcm3 g cm3 ! sec *Tonsec nsec ! Tesla m ! Avogadro *A2deninv ! mfp *n * xs
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting ExactThick
! 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 WaitRatio ! must be made small so that WaitRatio *E0 sim MagBremEmin integer MagPair no magnetic pair creation is considered newline ! if and Eg real sampling is the LPM effect is considered when Ee LpmBremEmin for electrons and ! Eg LpmPairEmin for gamma rays real *MagBremEmin E magnetic bremsstrahlung by electrons may be considered if not considered at all newline total energy loss due to brems is considered newline gamma energy is sampled actually newline ! If upsilon(Ee/m *B/Bcr) is small
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting UpsilonMin
********************block data cblkHeavy ********************integer j data *HeavyG2symbol p
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting MuNI
*************************block data cblkTracking *************************implicit none data *ExactThick *Freec *RatioToE0 *MagChgDist *TimeStructure *Truncn *Truncx data *IncMuonPolari *KEminObs *ThinSampling *EthinRatio *Generate em
integer maxbin nregion c minsave drx2 ! drawing region real maxdep integer maxpos integer to
max ptcl codes in the system(except krare) integer kphoton
block data include Zlatfit h c fitting region data data data data data d0 data data d0 data data h g *is for param c g data low(1, 1)/1.d-5/
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting PhitsXs
! 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 WaitRatio ! must be made small so that WaitRatio *E0 sim MagBremEmin integer MagPair no magnetic pair creation is considered newline ! if and Eg real sampling is the LPM effect is considered when Ee LpmBremEmin for electrons and ! Eg LpmPairEmin for gamma rays real *MagBremEmin E magnetic bremsstrahlung by electrons may be considered However
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting MuPr
! parameters for primary angle sampling(-> --------------------------------------------------- complex *16 CosZenith !1 Range of cos(zenith angle). Say,(0.5, 1.0). Used when Za2ry is 'is' ! If ObsPlane=3(spherical), real(CosZenith) must be $> $0, and means ! the zenith angle range at the incident point(not in Exyz system). ! In that case, azimuth is 0 to 2pi. complex *16 Azimuth !1 Range of azimuthal angle in deg. Say,(0, 45). Default is(0, 360). ! Can be such as(300., 390.). Used when Za1ry is 'is'\newline ! If ObsPlane=3(spherical), this is used to show the half opening angle ! range where the primary injection position is uniformly distributed ! on a sphere. The center of the opening angle is(Latit, Longit, HeightOfInj). ! In this case, for the upper opening angle, min(Imag(Azimuth), 180.) is used. character *4 Za1ry !1 Specify the primary angle sampling method by one of 'is', 'ps' or 'aps'.\newline ! "is" is isotropic. The range is by CosZenith.\newline ! "ps" is for point source(See also SourceDec)\newline ! "aps" is around point source(See also SourceDec and Ddelta) \newline ! If ObsPlane=3(spherical), this must be "is". real *8 SourceDec !1 Source declination of point source.(deg) real *8 Ddelta !1 SourceDec $\pm$ Ddelta is the region for 'aps'(deg). real *8 HeightOfInj !1 The vertical height of primary injection point(m). ! If this is $<$ deepest obs. level and zeinth angle of primary is $< 0$, ! the primary is assumed to be upgoing even if Reverse=0. ! NOTE:BorderHeightH must be given explicitly in this case. real *8 OffsetHeight !2 The vertical offset height from the deepest detector. ! The primary is directed to this height above the detector. ! If ObsPlane is 3(spherical), not used. !<-) ---------------------------------------------------- common/Zincident/Azimuth
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos height
! 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 WaitRatio ! must be made small so that WaitRatio *E0 sim MagBremEmin integer MagPair no magnetic pair creation is considered newline ! if and Eg real sampling is the LPM effect is considered when Ee LpmBremEmin for electrons and ! Eg LpmPairEmin for gamma rays real *MagBremEmin E this
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting EndLevel
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting MagChgDist
real cut integer ncpi0 common Zuserc cut
! constants thru Cosmos real * pi
! Parameters used for Tracking(-> -------------------------------------------- integer Eabsorb(2) !2 If(1)=0, no call to chookEabsorb or chookEabsorb2 is made. !(2) is used to indicate later at which the user want to ! energy sum of particles falling on it. ! If(1) is non zero, when a charged particle makes energy loss to Air, chookEabsorb is ! always called. When a particle dies(i.e, it K.E becomes< Emin), chookEabsorb2 ! may be called dedpending on the particle and Eabsorb bit.(LSB is bit 1). ! calling cond(See Ztrackv.h, BitPhoton etc). ! bit 2 and photon. bit 3 and e-/e+. bit 4 proton. bit 5 neutron ! bit 6 anti-N. bit 7 decayable ptcl, bit8 others ! bit 1 is for photoelectric effect but is not used in Air. logical ExactThick !2 If T, a given length is converted into thickness with best accuracy even for very ! inclined trajectory by using numerical integration. logical IncMuonPolari !1 if T, consider muon polarization integer HowPhotoP !2 if 0--> no photo hadron prod. ! 1--> Sofia at all E ! 2--> Exp. data< 2.5 GeV ;Sofia > 2.5GeV ! 3--> Sofia< 2.5GeV;(rho, omega, phi) or pi0 or pi+/- at current model ! 4--> Exp. data< 2.5GeV integer PhitsXs !2 when phits is used, specify the Xsection to be used. ! D=0. Use cosmos xsection ! bit 1--> for p, n use phits xs(last bit is bit 1)(btest(.., 0) -->T ! bit 2--> for heavy, use phits xs. !(phits xs seems to be too large) integer JamXs !2 0--> use inelastic channel only with Cosmos cross-section ! 1--> use total cross-section with Cosmos cross-section integer AAXsec !2=1 AA cosmos xsection is normalized to Shen 's one at 5GeV/n if ! E/n > 5 GeV and used;E/n< 5 GeV, Shen 's xs is used !=0 AA Shen 's xsection is normalzied to cosmos Xsection at ! 5GeV if E/n< 5 GeV and used;E/n >5 cosmos xs is used integer JamFragment !2 0--> as original Jam, the spectator breaks into nucleons ! 1--> spectator goes into nucleons, some light heavy ions and heavy remnants ! the method is simple but not so bad. logical Freec !1 if F, the first interaction point is forced to be the injection point else ! the interaction poin is randomly sampled. integer OneDim !1 If 0, 3 dimensional simulation. if $\ge $1, one ! dimensional simulation is performed. \newline ! 1:onedim without use of table. \newline ! 2:table is used for thickness $ \leftrightarrow$ length conversion. if cos $<$ .5 \newline ! 3:table is always used for any angle. !(for height $>$ 30 km, table is not used in any case). real *8 LamorDiv !2 In the geomagnetic field, a charged particle can travel almost streight ! in(Lamor Radius)/LamorDiv. Default is 5. For AMS like tracking 20 may be needed. real *8 Truncc !2 coeff. for truncating path. real *8 Truncn !2 coeff. for truncating path. real *8 Truncx !2 coeff. for truncating path. real *8 KEminObs(8) !1 The min kinetic energy of particles for observation. ! KEminObs(i):i=1 is for g, 2 e, 3 mu, 4 pi, 5 K, 6 N, 7 Neu, 8 other ! default is 2 *500keV, 7 *10MeV. i=2 is foreced to be the same as i=1. ! Normally the user may define only i=1. real *8 KEminObs2(8) !2 Don 't touch this. skeleton/flesh use. real *8 RatioToE0 !2 In the A.S generation, hadronic interactions are followed down to at ! least RatioToE0 *E0/nucleon energy. real *8 WaitRatio !1 Wait A.S generation until the electron energy, Ee, becomes $<$ WaitRatio *E0. ! This many be 1.0 for hadron origin case. But for gamma/electron primary, ! this should be as low as 0.01 to enjoy full fluctuation. integer EndLevel !2 Used for skeleton/flesh-out job. In a normal job, system default value 0 is reset by ! the system to be the max number of observation levels.(=NoOfSites). Its real use is in such a ! skeleton/flesh-out job that one first follows the particles up to some high depth and later chooses ! events and flesh them out to deeper depths. In such a skeleton-making job, the user must give the ! depth list which is used flesh-out job, too. In the skeleton job, particle tracking is terminated ! at the level specified by EndLevel. In such a flesh-out job, the user must give a larger value ! or 0 to EndLevel integer EndLevel2 !2 Don 't worry. This is system use. integer Trace !1 Flag for trace information output.\newline ! 0 $\rightarrow$ no trace information is output.\newline ! $< $10$\rightarrow$ x, y, z in the primary system(say, 1)\newline ! $< $20 $\rightarrow$ x, y, in the primary sys. z in kg/m$^2$.(say, 11)\newline ! $< $30 $\rightarrow$ x, y, z in the detector system\newline ! $< $40 $\rightarrow$ x, y, in the detector system. z in kg/m2\newline ! $< $50 $\rightarrow$ x, y, z in 'xyz' system.\newline ! $< $60 $\rightarrow$ x, y, in 'xyz' and z in kg/m2\newline ! 61-100 $\rightarrow$ for Cherenkov observation. For Coord system, subtract 60.\newline ! if the value is even, binary output is made on TraceDev.\newline ! if the last digit is 1 or 2, trace is always taken. if the last digit is 3 or 4, trace is taken ! only if the particle is located below the heighest observation depeth. ! $>$ 101 $\rightarrow$ subtract 100 and apply the above, but chookTrace or chookCeren are used.\newline ! Primary system:Origin is the deepest detector. Z-axis is the primary direction. ! X-axis is Z x Vertical axis. X-Y plane is orthogonal to the primary.\newline ! Detector system:origin is the deepest detector. Z-axis is the vertical one. X-axis is ! directed to the magnetic east. X-Y plane is horizontal.\newline ! z in kg/m$^2$ :Vertical depth in kg/m$^2$ above the deepest detector to the particle. integer TraceDev !2 Logical dev \# for TraceDir/trace1, 2,.... character *70 TraceDir !1 Directory. Default Trace information is put TraceDir/trace1, 2,.. ! for event 1, 2,... The directory should exist. Default is ' ' and in this case !/tmp/YourLoginName/is employed. The last "/" should not be given. ! ***NOTE that default Cherenkov output is made only using TraceDev, ! TraceDir is not used. You have to open the disk file at chookbgRun ! It can by binary or ascii file depending on Trace value. logical ThinSampling !1 if F, thinsampling is not tried. if T, alla Hillas thinning. Don 't use with ! the skeleton/flesh method real *8 EthinRatio(4) !2 if ThinsSamplig==T, thin sampling is performed if the energy of a particle is ! between(EthinRatio(2)$\sim $EthinRatio(1)) *PrimaryEnergy(/nucleon) !(=Ethin(2) $sim $Ethin(1))(EtinRatio(1)$>$ 0). ! If EthinRatio(1) $<$ 0, Ethin will be|EthinRatio|(GeV). !(1),(2) is for e/g.(3),(4) is for mu/hadron. if(3)(4) are not given, !(3)=(1)/10 and(4)=(2)/10 are used. logical TimeStructure !1 If T, time information is computed integer HowGeomag !2 if 1, no magnetic field until first coll. \newline ! 2, mag.f always exists. If Reverse not=0, use this. \newline ! 11, same as 1 but mag.f is const . \newline ! 12, same as 2 but mag.f is const . \newline ! 21, same as 1 but mag.f is const . \newline ! 22, same as 2 but mag.f is const . \newline ! 31, same as 1 but mag.f is dependent on the position. \newline ! const value is the one at deepest observation plane. for 11, 12 or should be given by ! MagN, MagE, MagD for 21, 22. For normal applications, 11 is good. ! If no magnetic field is applied, energy loss by dE/dx is considered.(bef.4.92, ! and aft. 5.14) real *8 MagN !2 See HowGeomag(in Tesla) real *8 MagE !2 See HowGeomag(in Tesla) real *8 MagD !2 See HowGeomag(in Tesla) real *8 MagChgDist !2 Distance where mag. can be seen as const .(m) at sea level integer UseRungeKutta !2 How to calculate deflection by the geomagnetic field. Let L be the distance ! the particle travels. \newline ! 0$\rightarrow $Don 't use RungeKutta method. Use the solution assuming the constant B, which ! is exact if B is const . Since the particle path is made short, this is ! enough for normal cases where particles are inside the atmosphere.(default) \newline ! In every case below, if the particle height is $<$ 30km !(=cheight in ccomPathEnd.f), the same method as 0 is used. \newline ! 1$\rightarrow$ Use the Euler method. Time needed is 20\% more than the 0 case. ! As B, use the value at L/2 point obtained by using the current direction. \newline ! 2$\rightarrow$ mixture of 1 and Runge-Kutta-Gill method. If gradient of B is large, RKG is ! employed. This needs $\sim $4 times more cpu time than case of 1 when making a ! cutoff table. The step size of RKG is $\sim $1/10 of the Lamore radius. \newline ! 3$\rightarrow$ The same as 2 but use the Runge-Kutta-Fehlberg method instead of RKG. ! Step size is automattically adjusted($\sim $1/20 $\sim $1/30 of Lamor radius) \newline ! 4$\rightarrow$ As a middle point, use the point obtained by assuming the constant B at ! initial point. If grad B is still large, use RKG. \newline ! 5$\rightarrow$ The same as 4 but us RKF instead of RKG. \newline ! 6$\rightarrow$ Use always RKG \newline ! 7$\rightarrow$ Use always RKF. This takes very long time.(50 times of 0). \newline real *8 BorderHeightH !2 If a particle goes higher than this, discard it. This should be larger than ! HeightOfInj or 0. ! If 0, it is adjusted to be the same as HeightOfInj. NOTE:For upgoin primary cases, you have ! to set this one explicitly. real *8 BorderHeightL !2 If a particle reaches this hight, call observation routine. No further tracking is done. ! This is for neutrino observation. See ObsPlane. real *8 BackAngLimit !2 If the cosine of the angle between a particle and the primary becomes smaller than ! this value, the particle is discarded. See also BorderHeighH. If you give a value ! less than -1.0, such rejection will never happen. Default is -1.0 character *16 Generate !1 specify what should be generated \newline ! 1) Electro-magnetic cascade(em), \newline ! 2) one dimensional hybrid AS(as/qas) and/or \newline ! 3) AS Lateral distribution(lat). \newline ! If Generate
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting HowPhotoP
! 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
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting JamXs
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 used for hadronic cascade shower is generated newline ! For example
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p charge
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting EthinRatio
! 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 MagBremEmin
! common parameters for tracking(-> ------------------------------------- real *8 Deltpp !2 p-p xsection increases as $E^{Deltpp}$(E$>$ 100GeV) real *8 Deltpip !2 pi-p xsection increases as $E^{Deltpip}$(E$>$ 100GeV) real *8 Deltkp !2 k-p xsection increases as $E^{Deltkp}$(E$>$ 100GeV) real *8 IncreaseXsec !2 how the xsection increases. 1.0$\rightarrow$ power of E ! above ones are obsolete !<-) ----------------------------------- common/Zxsectionp/*Deltpp
! Parameters used for hadronic cascade shower is generated newline ! For you may give as follows
! This namelist data is frequently used ! Some of them should be given mandatory namelist Param IncMuonPolari
dE dx *! Nuc Int sampling table g
! parameters for primary angle * HeightOfInj
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting StepControl
*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 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 WaitRatio ! must be made small so that WaitRatio *E0 sim MagBremEmin integer MagPair no magnetic pair creation is considered newline ! if and Eg real sampling is tried(note, actually upsilon is referred further). To see these magnetic effects
! This namelist data is frequently used ! Some of them should be given mandatory namelist Param TimeStructure
latitude latitude this system is used *****************************************************************! type coord sequence union map real z z in m endmap xyz map real ! latitude in deg is to the north ! longitude in deg is to the east *h ! height in m endmap llh map real ! polar angle * phi
after any interaction(except for continuous energy ! loss by dE/dx and deflection by B or scattering)
integer maxbin nregion c minsave drx2 ! drawing region real maxdep integer maxpos integer from
********************block data cblkHeavy ********************integer j data *HeavyG2symbol L
! 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
block data cblkIncident data *Za1ry is
block data cblkEvhnp ! currently usable models data RegMdls phits
Total X sec *! Nuc Int Total X sec *! Nuc Int dE dx *! Nuc Int
dE dx *! Nuc Int sampling table f
! This namelist data is frequently used ! Some of them should be given mandatory namelist Param Generate
! 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 note
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting MuBr