3 ! define MYEFIELD
if Electric field
is to be supplied
4 ! by the
user using cmyEfield.f of which
template is 5 ! in UserHook/. The
user may copy it
to the users
6 ! application area, modify it and may add cmyEfield.o in
8 !
objs = chook.o cmyEfield.o
9 ! Also the
user must give
a value of
10 ! >1
to the
'HowEfield' parameter in the namelist ($HPARAM).
11 !
Note simple Electric field can be specified
12 ! without
using this but by giving
HowEfield=1 in the
13 ! namelist
parameter. Then simple electric
14 ! field can be specified (together with other
parameters)
17 !
dpmjet cannot be used on NEXTSTEP, so
18 ! you have
to make the next 0.
27 #if defined (Solaris) || (jaxa) || (jaxaflat) 31 ! make
DEBUG > 0 depending on the debug purpose.
35 ! choose: Old atmosphere or
new segmented atmosphere
36 ! define, or NRL
time-dependent one
37 ! old atmosphere --> 0
38 ! or
new with
c-spline
39 !
new atmosphere --> 1
40 ! or
new with linear interp.
41 !
new atmosphere --> 2 (
default)
42 ! or NRL atmosphere --> 3
45 !
if you want
to put
a lable on each particle
to identify that
46 ! the one and the same particle crosses
a given observation
47 ! plane more than once, make
this 1 or 2. Then the same particle
48 ! will have the same label number in
track record.
49 ! ( aTrack.label ).
If this is 0, aTrack.lable record dose not
52 ! loss by dE/
dx and deflection by B or scattering), label is
54 !
If 2: For knockon and Bremstrahlung, the survival particle
55 ! will have the same label. In the
case of Moller scattring
56 ! higher enregy electrons are regarded
as the survival one.
59 !
if you want
to have
a detailed info.
for particle
tracking 60 ! make the below >=1. The
user observation routine is called
61 ! with the following
id on the following conditions:
63 ! 1)
if it is >=1,
a particle is going
to interact at
a point given in
64 ! the
track information,
id=4
65 ! 2)
if it is >=1,
a particle is going
to die,
id=5
66 ! 3)
if it is >=2,
a particle is being discarded due
to the large
68 ! 4)
if it is >=3,
a particle makes
a step.
id=7
70 #define DETAILED_TRACKING 0 integer npitbl real *nx parameter(n=101, npitbl=46, nx=n-1) real *8 uconst
! for length to thickness conversion or v v ! integer maxnodes real Hinf ! This is used when making table for dim simulation ! The slant length for vertical height to km is ! divided by LenStep m steps ! It can cover the slant length of about km for cos
integer npitbl real *nx dx real dx
! 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 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
! This namelist data may be given only some ! special purpose such as to see the scattering effect ! by putting HowEfield
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
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
! constants thru Cosmos real * pi
chook.o cmyEfield.o ! Also the user must give a value of ! >1 to the 'HowEfield' parameter in the namelist( $HPARAM). ! Note simple Electric field can be specified ! without using this but by giving HowEfield=1 in the ! namelist parameter. Then simple electric ! field can be specified(together with other parameters) !!! define MYEFIELD ! dpmjet cannot be used on NEXTSTEP, so ! you have to make the next 0. #define USEDPMJET ! if parameter statement does not permit to use math such as ! parameter::pi=asin(1.d0) *2 define MATHLOUSY ! make DEBUG > 0 depending on the debug purpose. #define DEBUG ! ! choose:Old atmosphere or new segmented atmosphere ! define, or NRL time-dependent one ! old atmosphere --> 0 ! or new with c-spline ! new atmosphere --> 1 ! or new with linear interp. ! new atmosphere --> 2(default) ! or NRL atmosphere --> 3 ! #define ATMOSPHERE 3 #define ATMOSPHERE ! if you want to put a lable on each particle to identify that ! the one and the same particle crosses a given observation ! plane more than once, make this 1 or 2. Then the same particle ! will have the same label number in track record. !(aTrack.label). If this is 0, aTrack.lable record dose not ! exists. ! If 1 objs
subroutine chookobs(aTrack, id)
! 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
after any interaction(except for continuous energy ! loss by dE/dx and deflection by B or scattering)
block data cblkIncident data *Za1ry is
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 Note
dE dx *! Nuc Int sampling table c