10 #include "BlockData/cblkGene.h" 23 type(
coord):: aa, bb, cc, det, detyaxis
27 open(10, file=
"param")
34 det = obssites(noofsites)%pos%xyz
36 write(0, *)
' detector base pos in Exyz' 37 write(0,
'(3g17.9)') det%x, det%y, det%z
38 write(0,*)
'incident position in Exyz' 39 write(0,*) inci%pos%xyz%x, inci%pos%xyz%y,
42 write(0,*)
'incident position in Det' 43 write(0,*) cc%x, cc%y, cc%z
45 call cvecprod(detzaxis, detxaxis, detyaxis)
47 write(0,*)
' detector X,Y,Z axis vecgor in Exyz' 48 write(0,
'(3g17.9)') detxaxis%x, detxaxis%y, detxaxis%z
49 write(0,
'(3g17.9)') detyaxis%x, detyaxis%y, detyaxis%z
50 write(0,
'(3g17.9)') detzaxis%x, detzaxis%y, detzaxis%z
61 write(0,*)
' Primary systrem X,Y,Z axis vector in Exyz' 62 write(0,
'(3g17.9)') xprimary%x, xprimary%y, xprimary%z
63 write(0,
'(3g17.9)') yprimary%x, yprimary%y, yprimary%z
64 write(0,
'(3g17.9)') zprimary%x, zprimary%y, zprimary%z
66 write(0,*)
' For a given vector in the Detector system' 67 write(0,*)
' take scaler product of the following vector to get' 68 write(0,*)
' its x value in the primary system. For y, z, use ' 69 write(0,*)
' 2nd, 3rd row' 70 write(*,
'(3g17.9)') aa%x, aa%y, aa%z
71 write(*,
'(3g17.9)') bb%x, bb%y, bb%z
72 write(*,
'(3g17.9)') cc%x, cc%y, cc%z
subroutine cmkincident(incident, fin)
subroutine cvecprod(a, b, c)
subroutine creadparam(io)
subroutine cinitracking(incident)
subroutine chookcerens(no, primary, angle)
subroutine citransvectzx(init, zax, xax, dir1, dir2)
subroutine cxyz2det(det, a, b)