2 #if defined (KEKB) || defined (KEKA) 15 #include "Zincidentp.h" 17 #include "Zprimaryv.h" 42 elseif(job .eq.
'flesh' .or. job .eq.
'newflesh')
then 46 elseif(job .eq.
'skeleton' .or. job .eq.
'newskel' )
then 53 call copennlfw(tempdev, skeletonfile, icon)
56 call cerrormsg(
'File shown above cannot be opened',0)
59 if(job .eq.
'newskel')
then 77 if(borderheighth .eq. 0.0)
then 78 borderheighth = heightofinj + 1.0
d0 83 if(desteventno(2) .eq. 0)
then 84 desteventno(2) = desteventno(1)
85 elseif(desteventno(1) .lt. 0)
then 86 desteventno(2) = -abs(desteventno(2))
115 call mpi_send(
mpirank, 1, mpi_integer, 1, 1,
116 * mpi_comm_world, mpierr)
119 call mpi_recv(intdata, 1, mpi_integer,
mpirank-1, 1,
120 * mpi_comm_world, mpistat, mpierr)
124 * mpi_comm_world, mpierr)
136 s1 = (targetatomicn**(1./3.
d0)/183.
d0)**2
143 if(cutofffile .ne.
' ')
then 148 call csetmu(targetatomicn, targetmassn)
157 if(knockonratio .lt. 1.
d0)
then 159 if(job .eq.
'newskel')
then 160 call cdedxeleci(keminobs(1)*knockonratio, knockon)
161 elseif(keminobs2(1)*knockonratio .gt. 0.)
then 167 call cdedxeleci(keminobs2(1)*knockonratio, knockon)
169 call cerrormsg(
'KnockOnRatio<1 and others mismatch', 0)
174 if( knockonratio == 1.0
d0 .or. recoilkinemine == 0.)
then 175 recoilkinemine= keminobs(1)
186 #include "Zmanager.h" 187 #include "Zmanagerp.h" 192 #include "Zprimary.h" 193 #include "Zprimaryv.h" 196 #include "Zincidentp.h" 206 observeas = index(generate,
'as') .gt. 0 .or.
207 * index(generate,
'lat') .gt. 0
208 if(index(generate,
'qas') .gt. 0)
then 228 dstep = obssites(1)%pos%depth
230 dstep = obssites(i)%pos%depth - obssites(i-1)%pos%depth
232 if(dstep .lt. 15. )
then 235 stepcontrol = dstep/25.0
237 maxstep(i) = dstep/stepcontrol
240 maxstep(0) = maxstep(1)
241 maxstep(noofsites+1) = maxstep(noofsites)
249 offset%r(3) = offsetheight
251 call cdet2xyz(obssites(noofsites)%pos%xyz, offset, offset)
254 offset%r(i) = offset%r(i) -
255 * obssites(noofsites)%pos%xyz%r(i)
258 if(eabsorb(1) .ne. 0)
then 259 if(eabsorb(2) .le. 0)
then 260 eabsorb(2) = noofsites
261 elseif( eabsorb(2) .gt. noofsites)
then 262 call cerrormsg(
"Eabsorb(2) > NoOfSites", 0)
273 #include "Zmanager.h" 274 #include "Zmanagerp.h" 282 refreshir = initrn(1) .lt. 0 .and.
283 * ( job .ne.
'flesh' .and. job .ne.
'newflesh')
285 if(initrn(1) .gt. 0 .and. initrn(2) .gt. 0 )
then 288 elseif(.not. refreshir .and. initrn(2) .lt. 0)
then 303 #include "Zmanager.h" 304 #include "Zmanagerp.h" 319 if(keminobs(2) .ne. keminobs(1))
then 320 write(0,*)
' KEminObs(2) is forced to be the same as' 321 write(0,*)
' KEminObs(1)=',keminobs(1)
322 keminobs(2)= keminobs(1)
325 if(job .eq.
' ' .or. job .eq.
'skeleton' .or.
326 * job .eq.
'newskel' )
then 327 if(job .ne.
'newskel')
then 330 keminobs2(i) = keminobs(i)
334 elseif(job .eq.
'newskel')
then 335 if( keminobs2(1) .ge. keminobs(1) .and.
336 * endlevel2 .le. endlevel .and.
337 * index(generate2,
'as') .eq. 0 .and.
338 * index(generate2,
'lat') .eq. 0 )
then 340 *
'Doing newskel job seems nonsense', 1)
342 *
'Check Generate2, KEminObs2(1), EndLevel2',0)
345 noofsites2 = noofsites
346 if(job .eq.
' ')
then 347 if(seedfile .ne.
' ')
then 349 write(msg, *)
'opening SeedFile=',
350 * seedfile(1:
klena(seedfile))
352 call copenfw(seedfiledev, seedfile, icon)
355 call cerrormsg(
'File shown above cannot be opened',0)
361 elseif(job .eq.
'skeleton' .or. job .eq.
'newskel' )
then 363 *
cerrormsg(
' ********** skeleton making **********', 1)
364 write(msg, *)
' Generate=', generate
372 if(job .eq.
'newskel')
then 377 call copennlfw(tempdev, skeletonfile, icon)
381 *
'File shown above cannot be opened',0)
389 if(seedfile .eq.
' ')
then 395 write(msg, *)
'opening SeedFile=',
396 * seedfile(1:
klena(seedfile))
398 call copenfw(seedfiledev, seedfile, icon)
401 call cerrormsg(
'File shown above cannot be opened',0)
408 elseif(job .eq.
'flesh' .or. job .eq.
'newflesh')
then 411 call cerrormsg(
' ********** fleshing job *********', 1)
412 if(job .eq.
'flesh')
then 413 if(endlevel .gt. endlevel2)
then 416 *
' fleshing will be done to deeper depth than'//
417 *
' skeleton making time' 419 write(msg, *)
' No of old levels=', endlevel2,
420 *
' No of new levels=', endlevel
422 elseif(endlevel .lt. endlevel2)
then 423 call cerrormsg(
'EndLevel must be >= skelton time', 0)
425 write(msg, *)
' Old Generate=', generate2
427 write(msg, *)
' New Generate=', generate
430 if(endlevel .lt. endlevel2)
then 433 *
' fleshing will be done to deeper depth than'//
434 *
' skeleton making time' 441 keminobs(
i) = keminobs2(
i)
447 if(seedfile .eq.
' ')
then 452 write(msg, *)
'opening SeedFFile=',
453 * seedfile(1:
klena(seedfile))
455 call copenf(seedfiledev, seedfile, icon)
458 call cerrormsg(
'File shown above seems missing',0)
462 write(msg,*)
' Job=',job,
' undefined' 465 if((trace .gt. 0 .and. trace .lt. 60) .or. trace .gt. 100)
then 467 if(tracedir .eq.
' ')
then 469 tracedir =
'/tmp/'//uid(1:
klena(uid))
476 #include "Zmanagerp.h" 479 call copennlf(tempdev, contfile,icon)
482 call cerrormsg(
'File shown above seems missing',0)
489 #include "Zmanagerp.h" 491 call copennlf(tempdev, skeletonfile, icon)
492 if(icon .ne. 0 )
then 494 call cerrormsg(
'File shown above seems missing',0)
subroutine cmkseed(dummy, seed)
subroutine cerrormsg(msg, needrtn)
subroutine csetlpmcnst(s1in, logs1in, vmin, X0in)
subroutine c2lowercase(cu, cl)
subroutine cintmodels(from)
subroutine crdgeomag(filepath, yearin)
subroutine crigcut0(file)
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
subroutine cwriteparam(io, force)
subroutine creadparam(io)
block data cblkEvhnp ! currently usable models data RegMdls ad *special data *Cekaon d0
subroutine csetmu(Zeffin, Aeffin)
subroutine copenf(io, fnin, icon)
dE dx *! Nuc Int sampling table d
subroutine copenfw(io, fnin, icon)
subroutine cdet2xyz(det, a, b)
subroutine cdedxeleci(w0in, knck)
integer function klena(cha)
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 ! knockon is considered Obsolete *PhotoProd false
subroutine cskiptoeof(iodev)
subroutine crestorestatus
subroutine cgetloginn(userid)