58 if(dot_product(
myef(i)%Ef(:),
myef(i)%Ef(:)) > 0 )
then 80 write(0,*) i,
'-th Efiled height error' 82 *
'H1=',
myef(i)%H1,
' >',
myef(i)%H2,
'=H2' 86 write(0,*) i,
'-th Efiled Radius error' 88 *
'R1=',
myef(i)%R1,
' >',
myef(i)%R2,
'=R2' 92 write(0,*) i,
'-th Efiled Time error' 94 *
'T1=',
myef(i)%T1,
' >',
myef(i)%T2,
'=T2' 100 * i,
'-th Ef height region<=',
myef(i)%H2
102 *
' but is not < next region=',
myef(i+1)%H1
108 write(0,*)
' # of Efield(s)=',
nefield 135 #include "Zglobalc.h" 137 #include "Zincidentv.h" 140 real(8),
intent(out):: Efout(3)
142 integer:: i, hindex, tindex, out
143 logical,
save:: first=.
true.
147 real(8)::Zero(3)=(/0.,0.,0./)
162 if( atrack%pos%height >=
myef(i)%H1 .and.
163 * atrack%pos%height <=
myef(i)%H2 )
then 169 if( hindex == 0)
then 176 efout(:) =
efxyz(:,hindex)
185 time = atrack%t/
c*tonsec
186 if( time >=
myef(i)%T1 .and.
187 * time <=
myef(i)%T2 )
then 193 if( tindex == 0 )
then 200 efout(:) =
efxyz(:,tindex)
211 efout(:) =
efxyz(:,i)
217 efout(:) =
efxyz(:,i)
226 integer,
intent(in):: i
227 integer,
intent(out)::out
235 elseif(
defofr ==
'h')
then 238 write(0,*)
' DefofR =',
defofr,
' invalid' 241 if( r >=
myef(i)%R1 .and.
242 * r <=
myef(i)%R2 )
then 258 #include "Zincidentv.h" 262 real(8),
intent(out):: r
266 call cxyz2det(obssites(atrack%where)%pos%xyz,
267 * atrack%pos%xyz%r(:), rdet(:))
268 r = abs(dot_product(rdet(:), angleatobscopy%r(:)))
274 #include "Zincidentv.h" 278 real(8),
intent(out):: r
285 call cxyz2det(obssites(atrack%where)%pos%xyz,
286 * atrack%pos%xyz%r(:), rdet(:))
288 * (atrack%pos%height - obssites(atrack%where)%pos%height) /
289 * angleatobscopy%r(3)
290 * * angleatobscopy%r(:)
292 r = sqrt(sum( ( rdet(:)-raxis(:))**2 ))
real(8), dimension(3, nmaxefield), save efxyz
type(efield), dimension(nmaxefield), save myef
integer, parameter nmaxefield
logical, dimension(nmaxefield), save checkt
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 cefielddet2xyz
logical, dimension(nmaxefield), save checkr
subroutine cdet2xyzd(a, b)
subroutine cefieldcheckr(aTrack, i, out)
subroutine cgethcoredist(aTrack, r)
character(len=1), save defofr
logical, dimension(nmaxefield), save checkh
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 cgetpcoredist(aTrack, r)
subroutine cefield0(aTrack, Efout)
subroutine cxyz2det(det, a, b)
dE dx *! Nuc Int sampling table c