COSMOS v7.655  COSMOSv7655
(AirShowerMC)
chookASbyH.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine chookbgrun
 
integer function csighandler (sig, code, context)
 
subroutine chookbgevent
 
subroutine chookobs (aTrack, id)
 
subroutine chookenevent
 
subroutine chookenrun
 
subroutine chooktrace
 
subroutine chookeint (never)
 
subroutine chookgint (never)
 
subroutine chooknepint (never)
 

Function/Subroutine Documentation

◆ chookbgevent()

subroutine chookbgevent ( )

Definition at line 124 of file chookASbyH.f.

References cqinirn().

124  implicit none
125 !
126  integer seed(2)
127 ! write(*, *) ' bigin event generation'
128  call cqinirn(seed)
129 ! write(*,*) ' seed=', seed
130 
131 
subroutine cqinirn(ir)
Definition: cwriteSeed.f:4
Here is the call graph for this function:

◆ chookbgrun()

subroutine chookbgrun ( )

Definition at line 79 of file chookASbyH.f.

References cprintobs(), cprintprim(), csighandler(), and cwriteparam().

79  implicit none
80 #include "Zmanagerp.h"
81 
82 !
83 ! If you feel writing the parameters on stderr is
84 ! a bother, comment out the next or
85 ! use other device than ErrorOut.
86 ! Also you may comment out all output routines below.
87 #ifdef sun4
88  external csighandler
89  integer ieeer, ieee_handler
90 
91  ieeer = ieee_handler('set', 'invalid', csighandler)
92 #endif
93 !
94 ! namelist output
95  call cwriteparam(errorout, 0)
96 ! primary information
97  call cprintprim(errorout)
98 ! observation level information
99  call cprintobs(errorout)
100 ! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
101 ! open component disk file, and get some over all
102 ! informaiton such as number of component showers
103 
104  call chookbgrunas
105 
subroutine cprintobs(io)
Definition: cprintObs.f:2
subroutine cprintprim(out)
Definition: cprintPrim.f:3
subroutine cwriteparam(io, force)
Definition: cwriteParam.f:4
integer function csighandler(sig, code, context)
Definition: chook.f:63
Here is the call graph for this function:

◆ chookeint()

subroutine chookeint ( integer  never)

Definition at line 287 of file chookASbyH.f.

287  implicit none
288 
289 #include "Ztrack.h"
290 #include "Ztrackv.h"
291 ! #include "Ztrackp.h"
292 
293  integer never ! input & output
294 
295 ! don't make never = 1, if you want to get
296 ! information after an electron made interaction
297 ! if this is made non zero, this routine will never be called.
298 !
299 ! MovedTrack is the electron that made interaction
300 ! Pwork contains produced particles.
301 ! Nproduced has the number of particles in Pwork
302 ! IntInfArray(ProcessNo) contains the type of interaction
303 !
304 ! default setting
305  never = 1
306 !
307 ! IntInfArray(ProcessNo).process will have one of
308 ! 'brems', 'mscat', 'bscat', 'anihi' or 'mbrem'
309 !

◆ chookenevent()

subroutine chookenevent ( )

Definition at line 195 of file chookASbyH.f.

References cqfirstid(), and depth.

195 
196  implicit none
197 #include "Ztrack.h"
198 #include "Ztrackv.h"
199 #include "Zobs.h"
200 #include "Zobsp.h"
201 #include "Zobsv.h"
202  include "ZASbyH.h"
203 
204 
205 
206 ! type(track):: inci
207 ! type(coord):: angle
208  integer i
209  real*8 fdepth
210 
211 !
212 
213  if(observeas) then
214  call cqfirstid(fdepth)
215 ! call cqIncident(inci, angle)
216 ! bsin = cgetBsin(inci.p, Mag)*1.e4
217 ! electron size in B approx.
218 ! write(*, *) (ASObsSites(i).esize, i=1, NoOfASSites)
219 ! size weighted age
220 ! write(*, *) (ASObsSites(i).age, i=1, NoOfASSites)
221  do i = 1, noofassites
222  write(*, *) sngl(asobssites(i).pos.depth),
223  * sngl(asobssites(i).esize),
224  * sngl(asobssites(i).age)
225 ! * ,sngl(fdepth)
226 ! * ,sngl(bsin)
227  enddo
228  write(*, *)
229  endif
230 
231 
*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
nodes i
subroutine cqfirstid(depth)
Definition: ciniTracking.f:188
Here is the call graph for this function:

◆ chookenrun()

subroutine chookenrun ( )

Definition at line 239 of file chookASbyH.f.

239 
240  implicit none

◆ chookgint()

subroutine chookgint ( integer  never)

Definition at line 316 of file chookASbyH.f.

316  implicit none
317 
318 #include "Ztrack.h"
319 #include "Ztrackv.h"
320 ! #include "Ztrackp.h"
321 
322  integer never ! input & output
323 
324 ! don't make never = 1, if you want to get
325 ! information after a gamma ray made interaction
326 ! if this is made non zero, this routine will never be called.
327 !
328 ! MovedTrack is the gamma that made interaction
329 ! Pwork contains produced particles.
330 ! Nproduced has the number of particles in Pwork
331 ! IntInfArray(ProcessNo) contains the type of interaction
332 !
333 ! default setting
334  never = 1
335 ! IntInfArray(ProcessNo).process will have one of
336 ! 'pair', 'comp', 'photoe' 'photop' 'mpair'
337 !

◆ chooknepint()

subroutine chooknepint ( integer  never)

Definition at line 344 of file chookASbyH.f.

344  implicit none
345 #include "Zcode.h"
346 #include "Ztrack.h"
347 #include "Ztrackv.h"
348 ! #include "Ztrackp.h"
349 
350  integer never ! input & output
351 
352 ! don't make never = 1, if you want to get
353 ! information after a non-e-g particle made interaction.
354 ! if this is made non zero, this routine will never be called.
355 !
356 ! MovedTrack is the particle that made interaction
357 ! Pwork contains produced particles.
358 ! Nproduced has the number of particles in Pwork
359 ! IntInfArray(ProcessNo) contains the type of interaction
360 !
361 ! IntInfArray(ProcessNo).process will have
362 ! 'col' or 'decay'
363 ! %%%%%%%%%%%%%%%%%%%%%%%%%%
364 ! replace interacting nucleons by c.s. give never = 2
365 ! so that no further development by the interacting nucleons.
366 !
367  call chooknepinta
368  never = 2

◆ chookobs()

subroutine chookobs ( type(track aTrack,
integer  id 
)

Definition at line 140 of file chookASbyH.f.

140 !
141 ! Note that every real variable is in double precision so
142 ! that you may output it in sigle precision to save the memory.
143 ! In some cases it is essential to put it in sigle (say,
144 ! for gnuplot).
145 !
146  implicit none
147 #include "Zcode.h"
148 #include "Ztrack.h"
149  integer id ! input. 1 ==> aTrack is going out from
150 ! outer boundery.
151 ! 2 ==> reached at an observation level
152 ! 3 ==> reached at inner boundery.
153  type(track):: atrack
154 
155 !
156 ! For id =2, you need not output the z value, because it is always
157 ! 0 (within the computational accuracy).
158 !
159  if(id .eq. 2) then
160 ! output typical quantities.
161 ! write(*, *)
162 ! * aTrack.where, ! observation level. integer*2. 1 is highest.
163 ! * aTrack.p.code, ! ptcl code. integer*2.
164 ! * aTrack.p.charge, ! charge, integer*2
165 ! * sngl(aTrack.t), ! relateive arrival time in nsec (NOT sec).
166 ! ! if TimeStructure is F, nonsense.
167 ! * sngl(aTrack.p.fm.e) ! total energy in GeV.
168 ! * sngl(aTrack.pos.xyz.x), sngl(aTrack.pos.xyz.y), ! x, y in m
169 ! * sngl(aTrack.vec.w.x), ! direc. cos.x in the current detector system.
170 ! * sngl(aTrack.vec.w.y), ! direc. cos.y
171 ! * sngl(aTrack.vec.w.z), ! direc. cos.z
172 ! * sngl(aTrack.vec.coszenith) ! cos of zenith angle
173 ! if(aTrack.p.code .eq. kelec) then
174 ! write(*, *) aTrack.where
175 ! endif
176 ! endif
177 ! you may need in some case other information such as
178 ! aTrack.p.subcode ! sub code of the particle integer*2
179 ! aTrack.p.mass ! mass
180 ! aTrack.wgt ! weight of the particle (may not be 1. if
181 ! ! ThinSampling =T)
182 ! aTrack.p.fm.x ! momentum x component. Note. Momentum is
183 ! given in the Earth xyz system.
184 
185 ! aTrack.p.fm.y ! y
186 ! aTrack.p.fm.z ! z
187 
188  endif
Definition: Ztrack.h:44

◆ chooktrace()

subroutine chooktrace ( )

Definition at line 251 of file chookASbyH.f.

References height.

251  implicit none
252 
253 #include "Ztrack.h"
254 #include "Ztrackv.h"
255 #include "Ztrackp.h"
256 #include "Zobs.h"
257 #include "Zobsv.h"
258 
259  real*4 h1, h2
260 !
261 ! Every time a particle is moved in the atmosphere, this routine is called,
262 ! if trace > 60.
263 ! For a one track segment,
264 ! TrackBefMove has track information at the beginning of the segment.
265 ! MoveTrack has track information at the end of the segment.
266 !
267 ! You can know the information a track contains in the
268 ! chookObs routine. (Note however, no conversion of coordinate
269 ! has been done. The values are in the Earth xyz system.)
270 ! Besides quantities explained there, you can use, for a given 'track'
271 !
272 ! atrack.pos.xyz.x, atrack.pos.xyz.y, atrack.pos.xyz.z (x,y.z)
273 ! atrack.pos.radiallen (distance from the center of the earth)
274 ! atrack.pos.depth (vertical depth)
275 ! atrack.pos.height (vertical heigth from sea level)
276 !
277 
278  h1 = trackbefmove.pos.height- obssites(noofsites).pos.height
279  h2 = movedtrack.pos.height - obssites(noofsites).pos.height
280 
*Zfirst p fm *Zfirst p Zfirst p Zfirst p *Zfirst p *Zfirst pos xyz Zfirst pos xyz *Zfirst pos *Zfirst pos Zfirst pos height
Definition: ZavoidUnionMap.h:1

◆ csighandler()

integer function csighandler ( integer  sig,
integer  code,
integer, dimension(5)  context 
)

Definition at line 110 of file chookASbyH.f.

110  implicit none
111 #include "Zmanagerp.h"
112  integer sig, code, context(5)
113  write(errorout, *) ' f.p exception content=' , context(4)
114 ! call abort()
*Zfirst p fm *Zfirst p Zfirst p code
Definition: ZavoidUnionMap.h:1