! PIXCOORD1 <-> CHIPCOORD
subroutine CAL_pixCoord1ToChipCoord(rawX, rawY, chipX, chipY, &
nodes)
use types
integer(kind=int16), dimension(:), intent(in) :: rawX, rawY
integer(kind=int16), dimension(:), pointer :: chipX, chipY
integer(kind=int8), dimension(:), intent(in), optional :: nodes
end subroutine
subroutine CAL_chipCoordToPixCoord1(chipX, chipY, rawX, rawY, nodes)
use types
integer(kind=int16), dimension(:), intent(in) :: chipX, chipY
integer(kind=int16), dimension(:), pointer :: rawX, rawY
integer(kind=int8), dimension(:), pointer, optional :: nodes
end subroutine
! CHIPCOORD <-> CAMCOORD1
subroutine CAL_chipCoordToCamCoord1(chipX, chipY, &
xmm1, ymm1, zmm1)
use types
integer(kind=int16), dimension(:), intent(in) :: chipX, chipY
real(kind=double), dimension(:), pointer :: xmm1, ymm1, zmm1
end subroutine
subroutine CAL_camCoord1ToChipCoord(xmm1, ymm1, zmm1, &
chipX, chipY)
use types
real(kind=double), dimension(:), intent(in) :: xmm1, ymm1, zmm1
integer(kind=int16), dimension(:), pointer :: chipX, chipY
end subroutine
! CAMCOORD1 <-> CAMCOORD2
subroutine CAL_camCoord1ToCamCoord2(xmm1, ymm1, zmm1, &
xmm2, ymm2, zmm2)
use types
real(kind=double), dimension(:), intent(in) :: xmm1, ymm1, zmm1
real(kind=double), dimension(:), pointer :: xmm2, ymm2, zmm2
end subroutine
subroutine CAL_camCoord2ToCamCoord1(xmm2, ymm2, zmm2, &
xmm1, ymm1, zmm1)
use types
real(kind=double), dimension(:), intent(in) :: xmm2, ymm2, zmm2
real(kind=double), dimension(:), pointer :: xmm1, ymm1, zmm1
end subroutine
! CAMCOORD2 <-> SACCOORD
subroutine CAL_camCoord2ToSacCoord(xmm2, ymm2, zmm2, &
xmmSc, ymmSc, zmmSc)
use types
real(kind=double), dimension(:), intent(in) :: xmm2, ymm2, zmm2
real(kind=double), dimension(:), pointer :: xmmSc, ymmSc, zmmSc
end subroutine
subroutine CAL_sacCoordToCamCoord2(xmmSc, ymmSc, zmmSc, &
xmm2, ymm2, zmm2)
use types
real(kind=double), dimension(:), intent(in) :: xmmSc, ymmSc, zmmSc
real(kind=double), dimension(:), pointer :: xmm2, ymm2, zmm2
end subroutine
! SACCOORD <-> ROWCOORD
subroutine CAL_sacCoordToRowCoord(xmmSc, ymmSc, zmmSc, &
beta, chi)
use types
real(kind=double), dimension(:), intent(in) :: xmmSc, ymmSc, zmmSc
real(kind=double), dimension(:), pointer :: beta, chi
end subroutine
subroutine CAL_rowCoordToSacCoord(beta, chi, &
xmmSc, ymmSc, zmmSc)
use types
real(kind=double), dimension(:), intent(in) :: beta, chi
real(kind=double), dimension(:), pointer :: xmmSc, ymmSc, zmmSc
end subroutine
! CAMCOORD <-> TELCOORD
subroutine CAL_camCoord2ToTelCoord(xmm2, ymm2, zmm2, theta, phi)
use types
real(kind=double), dimension(:), intent(in) :: xmm2, ymm2, zmm2
real(kind=double), dimension(:), pointer :: theta, phi
end subroutine
subroutine CAL_telCoordToCamCoord2(theta, phi, xmm2, ymm2, zmm2)
use types
real(kind=double), dimension(:), intent(in) :: theta, phi
real(kind=double), dimension(:), pointer :: xmm2, ymm2, zmm2
end subroutine