aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xscripts/ciao_check_offset.sh269
1 files changed, 0 insertions, 269 deletions
diff --git a/scripts/ciao_check_offset.sh b/scripts/ciao_check_offset.sh
deleted file mode 100755
index c57bbaf..0000000
--- a/scripts/ciao_check_offset.sh
+++ /dev/null
@@ -1,269 +0,0 @@
-#!/bin/sh
-#
-unalias -a
-export LC_COLLATE=C
-###########################################################
-## based on `ciao_update_xcentroid.sh' ##
-## get `xcentroid' from region `sbprofile.reg' ##
-## convert from physical coords to WCS corrds ##
-## calculate offset with chandra pointing coords ##
-## ##
-## Weitian LI <liweitianux@gmail.com> ##
-## 2014/06/25 ##
-###########################################################
-##
-VERSION="v2.0"
-UPDATED="2015/06/03"
-##
-## Changelogs:
-## v2.0, 2015/06/03, Aaron LI
-## * Copy needed pfiles to current working directory, and
-## set environment variable $PFILES to use these first.
-## * Replace 'grep' with '\grep', 'ls' with '\ls'
-##
-
-## error code {{{
-ERR_USG=1
-ERR_DIR=11
-ERR_EVT=12
-ERR_BKG=13
-ERR_REG=14
-ERR_INFO=15
-ERR_ASOL=21
-ERR_BPIX=22
-ERR_PBK=23
-ERR_MSK=24
-ERR_BKGTY=31
-ERR_SPEC=32
-ERR_DET=41
-ERR_ENG=42
-ERR_CIAO=100
-## error code }}}
-
-## usage, help {{{
-case "$1" in
- -[hH]*|--[hH]*)
- printf "usage:\n"
- printf " `basename $0` evt=<evt_file> reg=<sbp_reg> basedir=<base_dir>\n"
- printf "\nversion:\n"
- printf " ${VERSION}, ${UPDATED}\n"
- exit ${ERR_USG}
- ;;
-esac
-## usage, help }}}
-
-## default parameters {{{
-# critical offset values (unit: dd:mm:ss)
-OFF_CRIT_S="0:3:0" # 0deg 3min 0sec
-OFF_CRIT_I="0:7:0" # 0deg 7min 0sec
-
-# default `event file' which used to match `blanksky' files
-#DFT_EVT="_NOT_EXIST_"
-DFT_EVT="`\ls evt2*_clean.fits 2> /dev/null`"
-# default dir which contains `asols, asol.lis, ...' files
-# DFT_BASEDIR="_NOT_EXIST_"
-DFT_BASEDIR=".."
-# default `radial region file' to extract surface brightness
-#DFT_SBP_REG="_NOT_EXIST_"
-DFT_SBP_REG="sbprofile.reg"
-
-## howto find files in `basedir'
-# default `asol.lis pattern'
-DFT_ASOLIS_PAT="acis*asol?.lis"
-## default parameters }}}
-
-## functions {{{
-# process commandline arguments
-# cmdline arg format: `KEY=VALUE'
-getopt_keyval() {
- until [ -z "$1" ]
- do
- key=${1%%=*} # extract key
- val=${1#*=} # extract value
- keyval="${key}=\"${val}\""
- echo "## getopt: eval '${keyval}'"
- eval ${keyval}
- shift # shift, process next one
- done
-}
-
-## unit/format conversion
-ddmmss2deg() {
- # convert 'dd:mm:ss' to 'deg'
- echo "$1" | awk -F':' '
- function abs(x) { return ((x<0.0) ? (-x) : x) }
- function sign(x) { return ((x<0.0) ? (-1.0) : 1.0) }
- {
- value = abs($1) + ($2)/60.0 + ($3)/3600.0;
- printf("%.8f", sign($1)*value);
- }'
-}
-
-deg2ddmmss() {
- # convert 'deg' to 'dd:mm:ss'
- echo "$1" | awk '
- function abs(x) { return ((x<0.0) ? (-x) : x) }
- {
- deg = $1;
- dd = int(deg);
- mm = int(abs(deg-dd)*60.0);
- ss = (abs(deg-dd)*60.0 - mm)*60.0;
- printf("%d:%d:%.2f", dd, mm, ss);
- }'
-}
-## functions }}}
-
-## check CIAO init {{{
-if [ -z "${ASCDS_INSTALL}" ]; then
- printf "ERROR: CIAO NOT initialized\n"
- exit ${ERR_CIAO}
-fi
-
-## XXX: heasoft's `pget' etc. tools conflict with some CIAO tools
-printf "set \$PATH to avoid conflicts between HEAsoft and CIAO\n"
-export PATH="${ASCDS_BIN}:${ASCDS_CONTRIB}:${PATH}"
-## check CIAO }}}
-
-## parameters {{{
-# process cmdline args using `getopt_keyval'
-getopt_keyval "$@"
-
-# check given parameters
-# check evt file
-if [ -r "${evt}" ]; then
- EVT=${evt}
-elif [ -r "${DFT_EVT}" ]; then
- EVT=${DFT_EVT}
-else
- read -p "clean evt2 file: " EVT
- if [ ! -r "${EVT}" ]; then
- printf "ERROR: cannot access given \`${EVT}' evt file\n"
- exit ${ERR_EVT}
- fi
-fi
-printf "## use evt file: \`${EVT}'\n" | ${TOLOG}
-# check given region file(s)
-if [ -r "${reg}" ]; then
- SBP_REG="${reg}"
-elif [ -r "${DFT_SBP_REG}" ]; then
- SBP_REG=${DFT_SBP_REG}
-else
- read -p "> surface brighness radial region file: " SBP_REG
- if [ ! -r "${SBP_REG}" ]; then
- printf "ERROR: cannot access given \`${SBP_REG}' region file\n"
- exit ${ERR_REG}
- fi
-fi
-printf "## use reg file(s): \`${SBP_REG}'\n" | ${TOLOG}
-# check given dir
-if [ -d "${basedir}" ]; then
- BASEDIR=${basedir}
-elif [ -d "${DFT_BASEDIR}" ]; then
- BASEDIR=${DFT_BASEDIR}
-else
- read -p "> basedir (contains asol files): " BASEDIR
- if [ ! -d "${BASEDIR}" ]; then
- printf "ERROR: given \`${BASEDIR}' NOT a directory\n"
- exit ${ERR_DIR}
- fi
-fi
-# remove the trailing '/'
-BASEDIR=`echo ${BASEDIR} | sed 's/\/*$//'`
-printf "## use basedir: \`${BASEDIR}'\n" | ${TOLOG}
-## parameters }}}
-
-## prepare parameter files (pfiles) {{{
-CIAO_TOOLS="dmkeypar dmcoords"
-
-# Copy necessary pfiles for localized usage
-for tool in ${CIAO_TOOLS}; do
- pfile=`paccess ${tool}`
- [ -n "${pfile}" ] && punlearn ${tool} && cp -Lvf ${pfile} .
-done
-
-# Modify environment variable 'PFILES' to use local pfiles first
-export PFILES="./:${PFILES}"
-## pfiles }}}
-
-## main process {{{
-# asolis
-ASOLIS=`( cd ${BASEDIR} && \ls ${DFT_ASOLIS_PAT} 2> /dev/null )`
-
-# get (x,y) from sbp region
-printf "get (x,y) from ${SBP_REG}\n"
-X=`\grep -iE '(pie|annulus)' ${SBP_REG} | head -n 1 | awk -F',' '{ print $1 }' | tr -d 'a-zA-Z() '`
-Y=`\grep -iE '(pie|annulus)' ${SBP_REG} | head -n 1 | awk -F',' '{ print $2 }' | tr -d 'a-zA-Z() '`
-
-# dmcoords to convert (x,y) to (ra,dec)
-printf "\`dmcoords' to convert (x,y) to (ra,dec) ...\n"
-punlearn dmcoords
-dmcoords infile="${EVT}" asolfile="@${BASEDIR}/${ASOLIS}" option=sky celfmt=deg x=${X} y=${Y}
-RA=`pget dmcoords ra`
-DEC=`pget dmcoords dec`
-
-# get observation pointing coordinates
-punlearn dmkeypar
-RA_PNT=`dmkeypar infile="${EVT}" keyword="RA_PNT" echo=yes`
-DEC_PNT=`dmkeypar infile="${EVT}" keyword="DEC_PNT" echo=yes`
-
-## determine ACIS type {{{
-punlearn dmkeypar
-DETNAM=`dmkeypar ${EVT} DETNAM echo=yes`
-if echo ${DETNAM} | \grep -q 'ACIS-0123'; then
- #printf "## \`DETNAM' (${DETNAM}) has chips 0123\n"
- #printf "## ACIS-I\n"
- ACIS_TYPE="ACIS-I"
-elif echo ${DETNAM} | \grep -q 'ACIS-[0-6]*7'; then
- #printf "## \`DETNAM' (${DETNAM}) has chip 7\n"
- #printf "## ACIS-S\n"
- ACIS_TYPE="ACIS-S"
-else
- printf "ERROR: unknown detector type: ${DETNAM}\n"
- exit ${ERR_DET}
-fi
-## ACIS type }}}
-
-# calculate offset
-OFF_DEG=`echo "${RA} ${RA_PNT} ${DEC} ${DEC_PNT}" | awk '{ printf("%.8f", sqrt(($1-$2)^2 + ($3-$4)^2)) }'`
-OFF_DDMMSS=`deg2ddmmss ${OFF_DEG}`
-
-# compare offset with the given critical values
-if [ "${ACIS_TYPE}" = "ACIS-S" ]; then
- DEG_OFF_CRIT=`ddmmss2deg ${OFF_CRIT_S}`
-else
- DEG_OFF_CRIT=`ddmmss2deg ${OFF_CRIT_I}`
-fi
-if [ `echo "${OFF_DEG} > ${DEG_OFF_CRIT}" | bc -l` -eq 1 ]; then
- LARGE_OFFSET="YES"
-else
- LARGE_OFFSET="NO"
-fi
-
-# output results
-printf "###################################################\n"
-printf "## Detector type: ${ACIS_TYPE}\n"
-printf "## Critical offset values: (format: dd:mm:ss)\n"
-printf "## OFF_CRIT_S: ${OFF_CRIT_S}\n"
-printf "## OFF_CRIT_I: ${OFF_CRIT_I}\n"
-printf "##\n"
-printf "## Our Results:\n"
-printf "## Chandra sky coordinates:\n"
-printf "## (x,y): ($X,$Y)\n"
-printf "## WCS coordinates in 'deg' unit:\n"
-printf "## (ra,dec): (${RA},${DEC})\n"
-printf "##\n"
-printf "## Observation pointing coordinates:\n"
-printf "## (ra,dec): (${RA_PNT},${DEC_PNT})\n"
-printf "##\n"
-printf "## Offset (format: dd:mm:ss):\n"
-printf "## offset: ${OFF_DDMMSS}\n"
-printf "## offset_deg: ${OFF_DEG}\n"
-if [ "${LARGE_OFFSET}" = "YES" ]; then
-printf "## *** WARNING: LARGE OFFSET ***\n"
-fi
-printf "###################################################\n"
-
-## main }}}
-
-exit 0
-