COSMOS v7.655  COSMOSv7655
(AirShowerMC)
Ztrackv.h
Go to the documentation of this file.
1 #include "Zmaxdef.h"
2 ! common variables used in tracking ptcls.
4  * BorderL, BorderH, AngleLimit
6  * BorderL = 4, BorderH =5, Dead = 6, AngleLimit = 7)
7  integer BitPhotoElec, BitPhoton,
9  * BitNeutron, BitAntiNuc, BitDecay, BitOther, BitEconsv
10  parameter( BitPhotoElec=1, BitPhoton=2, BitElectron=3,
11  * BitPositron=3, BitProton=4, BitNeutron=5, BitAntiNuc=6,
12  * BitDecay=7, BitOther=8, BitEconsv=9 )
13 
14  integer MaxInte
15  parameter(MaxInte = 6) ! Max number of kinds of interactions a particle can
16  ! take. (such as brems, knockon, anihilation)
17  type intinf ! Interaction information
18  sequence
19  real*8 thickness ! in kg/m2 set if decay is F
20  real*8 length ! in m, set if decay is T. or eventually by cfixProc
21  character*8 process ! process id string such as brems, pair
22  logical decay ! if decay, T, else F
23  end type intinf
24 ! define array of intinf
25  type(intinf) IntInfArray(MaxInte)
26 !
27  type(track):: TrackBefMove ! track before moved
28  type(track):: MovedTrack ! to contain track moved
29  type(coord):: Offset ! the primary is directed to
30 ! deepest detector origin + Offset
31 ! (in 'xyz')
32  type(track):: Zfirst ! to keep first interaction info. V7.0
33 ! real*8 Zfirst ! to keep first interaction slant depth
34  integer MoveStat ! status code for moving a particle
35  integer NumberOfInte ! Number of different kind of interactions
36  ! considered for the current particle.
37  integer ProcessNo ! The process really happend is the
39  logical ObserveAS ! made to be T, if AS is to be generated
40  logical Upgoing ! if primary is going upward, made to be t
41  logical UseTbl ! becomes T,
42  ! if length <--> thickness conv. is by table
43  real*8 EminAS ! minimum energy of e for AS generation.
44  real*8 EasWait ! for AS generation, must wait until e
45  ! energy becomes < EasWait
46  real*8 EnergyLoss ! energy loss
47  real*8 Upsilon ! Upsilon value
48  real*8 Xai ! Xai value B x Eg/m /2
49  real*8 maxstep(0:MAX_NO_OF_SITES+1) ! used to cut the path
50  ! 1/5 of the depth step. this is necessary cond.
51  real*8 KEmin ! min kinetic energy to be tracked
52  real*8 KEminCas ! // (for em-cascade)
53  real*8 KEmin2 ! min kinetic energy to be tracked. for skeleton/flesh use.
54  real*8 KEminCas2 ! for skeleton/flesh use.
55  real*8 Ethin(4) ! Thin sampling threshold and max weight. for e/g and hadrons/muons
56  real*8 Beta ! v/c for MovedTrack; given if TimeStrucrue=T.
57  type(magfield):: Mag
58  integer MaxPtcl
59  logical FromEpics ! to control muon iteraction (pair,brem,nuci)
60  ! must be made t, when Epics treats muon.
61  ! if Cosmos uses Epics, this must be made to
62  ! be t/f depending on Epics mode, or Cosmos mode
63 #if LABELING > 0
64  integer Labelcounter ! label counter to put a lalel on each patcl.
65 #endif
66 
67  parameter (
68 #ifdef MAX_PTCL
69  * MaxPtcl = MAX_PTCL
70 #else
71  * MaxPtcl = 8000
72 #endif
73  * ) ! max # of ptcls producable in coll.
74  type(ptcl):: Pwork(MaxPtcl) ! working array to store ptcls.
75  integer Nproduced ! no. of ptcls produced and stored in Pwork.
76  integer Nstacked ! no. of ptcls stacked. If ThinSampling=F,
77  ! same as Nproduced. Nstacked <= Nproduced
78  real*8 MuonPolarization ! muon polarization value.
79  integer FirstColA, FirstColZ
80  real(8)::FirstColXs
81 !
82  common /Ztrackv/Pwork, IntInfArray, TrackBefMove,
83  * MovedTrack, Zfirst, Offset,
87  * maxstep,
88  * ObserveAS, Nproduced, Nstacked,
90  * Upgoing, UseTbl, FirstColXs,
91  * FromEpics, FirstColA, FirstColZ
92 #if LABELING > 0
93  * , Labelcounter
94 #endif
95 
96 #include "Zair.h"
97 
98 
99 
100 
101 
102 
#define MuonPolarization
Definition: Ztrackv.h:157
#define Xai
Definition: Ztrackv.h:171
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos depth
Definition: ZavoidUnionMap.h:1
! This namelist data is frequently used ! Some of them should be given mandatory namelist Param ThinSampling
Definition: Znamelist1.h:5
#define KEminCas
Definition: Ztrackv.h:165
real(8), parameter, public m
Definition: cpdgXs.f:13
float real
Definition: Zdef.h:2
int integer
Definition: Zdef.h:3
dE dx *! Nuc Int sampling table e
Definition: cblkMuInt.h:130
! common variables used in tracking ptcls integer * BorderL
Definition: Ztrackv.h:3
logical, save first
Definition: cNRLAtmos.f:8
! 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
#define ObserveAS
Definition: Ztrackv.h:172
! common variables used in tracking ptcls integer AngleLimit BitPositron
Definition: Ztrackv.h:7
#define MAX_NO_OF_SITES
Definition: Zmaxdef.h:1
#define KEmin2
Definition: Ztrackv.h:166
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
Definition: Zcoord.h:25
Definition: Ztrack.h:44
#define IntInfArray
Definition: Ztrackv.h:150
#define Nproduced
Definition: Ztrackv.h:173
! common variables used in tracking ptcls integer AngleLimit BitPhoton
Definition: Ztrackv.h:7
! common variables used in tracking ptcls integer Truncated
Definition: Ztrackv.h:3
#define Ethin
Definition: Ztrackv.h:169
integer, save mode
Definition: csoftenPiK.f:34
! common variables used in tracking ptcls integer AngleLimit BitProton
Definition: Ztrackv.h:7
! common variables used in tracking ptcls integer ToInteract
Definition: Ztrackv.h:3
#define LABELING
Definition: Zcondc.h:58
! common variables used in tracking ptcls integer AngleLimit * BitNeutron
Definition: Ztrackv.h:7
! 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
#define EnergyLoss
Definition: Ztrackv.h:163
! common variables used in tracking ptcls integer ToBeObserved
Definition: Ztrackv.h:3
#define EasWait
Definition: Ztrackv.h:159
! common variables used in tracking ptcls integer AngleLimit parameter(ToInteract=1, ToBeObserved=2, Truncated=3, *BorderL=4, BorderH=5, Dead=6, AngleLimit=7) integer BitPhotoElec
#define MAX_PTCL
Definition: Zmaxdef.h:8
#define KEminCas2
Definition: Ztrackv.h:164
#define Upgoing
Definition: Ztrackv.h:179
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
Definition: Zheavyp.h:17
*Zfirst p fm *Zfirst p Zfirst p code
Definition: ZavoidUnionMap.h:1
integer maxbin nregion c minsave drx2 ! drawing region real maxdep integer maxpos integer to
Definition: Zfit.h:15
#define Beta
Definition: Ztrackv.h:168
#define EminAS
Definition: Ztrackv.h:158
! 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
#define UseTbl
Definition: Ztrackv.h:180
#define FromEpics
Definition: Ztrackv.h:181
! common variables used in tracking ptcls integer AngleLimit * BitElectron
Definition: Ztrackv.h:7
real cut integer ncpi0 common Zuserc cut
Definition: Zprivate.h:1
int logical
Definition: Zdef.h:1
#define ProcessNo
Definition: Ztrackv.h:176
#define TrackBefMove
Definition: Ztrackv.h:151
! 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
#define Pwork
Definition: Ztrackv.h:149
#define Labelcounter
Definition: Ztrackv.h:182
! common variables used in tracking ptcls integer BorderH
Definition: Ztrackv.h:3
real(4), save a
Definition: cNRLAtmos.f:20
! 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
! common variables used in tracking ptcls integer AngleLimit BitAntiNuc
Definition: Ztrackv.h:7
dE dx *! Nuc Int sampling table g
Definition: cblkMuInt.h:130
#define Zfirst
Definition: Ztrackv.h:153
#define MovedTrack
Definition: Ztrackv.h:152
nodes t
#define NumberOfInte
Definition: Ztrackv.h:175
Definition: Zptcl.h:75
Definition: Zcoord.h:43
#define Offset
Definition: Ztrackv.h:154
#define KEmin
Definition: Ztrackv.h:167
! 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
Definition: ZbpCnst.h:20
#define Upsilon
Definition: Ztrackv.h:170
after any interaction(except for continuous energy ! loss by dE/dx and deflection by B or scattering)
! common variables used in tracking ptcls integer Dead
Definition: Ztrackv.h:3
block data cblkIncident data *Za1ry is
Definition: cblkIncident.h:5
#define MoveStat
Definition: Ztrackv.h:174
! 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 * x
Definition: Zptcl.h:21
dE dx *! Nuc Int sampling table f
Definition: cblkMuInt.h:130
! common variables used in tracking ptcls integer AngleLimit BitOther
Definition: Ztrackv.h:7
dE dx *! Nuc Int sampling table c
Definition: cblkMuInt.h:130
! common variables used in tracking ptcls integer AngleLimit BitDecay
Definition: Ztrackv.h:7