#!/bin/sh
#
# ========================================================================
#
# *
# * This file is part of MARS, the MAGIC Analysis and Reconstruction
# * Software. It is distributed to you in the hope that it can be a useful
# * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
# * It is distributed WITHOUT ANY WARRANTY.
# *
# * Permission to use, copy, modify and distribute this software and its
# * documentation for any purpose is hereby granted without fee,
# * provided that the above copyright notice appear in all copies and
# * that both that copyright notice and this permission notice appear
# * in supporting documentation. It is provided "as is" without express
# * or implied warranty.
# *
#
#
#   Author(s): Daniela Dorner  05/2005 <mailto:dorner@astro.uni-wuerzburg.de>
#
#   Copyright: MAGIC Software Development, 2000-2006
#
#
# ========================================================================
#
# This a resource file for the scripts, in which the standard paths and 
# functions, which are needed more often are stored. 
#

export ROOTSYS=/opt/root_v4.04.02g
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib
export PATH=$PATH:$ROOTSYS/bin

mars=/home/operator/Mars
macrospath=$mars/datacenter/macros
scriptspath=$mars/datacenter/scripts

logpath=/magic/datacenter/autologs
lockpath=/magic/datacenter/locks
listpath=/magic/datacenter/lists
setuppath=/magic/datacenter/setup

datapath=/magic/data
subsystempath=/magic/subsystemdata
sequpath=/magic/sequences
datasetpath=/magic/datasets


function makedir()
{
   if [ ! -d $@ ]
   then
     mkdir -pv $@ 
     if [ ! -d $@ ]
     then 
        echo "could not make dir "$@
        exit
     fi
   fi
}

function resetstatusvalues()
{
   statustime=NULL
   starttime=NULL
   failedcode=NULL
   failedcomment=NULL
   failedtime=NULL
}

function printstatusvalues()
{
   echo "the current values are:"
   echo " statustime=$statustime"
   echo " starttime=$starttime"
   echo " failedcode=$failedcode"
   echo " failedcomment=$failedcomment"
   echo " failedtime=$failedtime"
   echo "-- check: -$check-"
   echo ""
}

function setstatus()
{
   # set status values
   resetstatusvalues
   case $@ in 
      start)   echo "start"
               starttime="Now()"
               ;;
       stop)   echo "stop"
               case $check in
                  0)  echo " ok"
                      statustime="Now()"
                      ;;
                  *)  echo " failed"
                      starttime=noreset
                      failedcode=$check
                      failedcomment=$com
                      failedtime="Now()"
                      ;;
               esac
               ;;
          *)   echo "error -> exit"
               exit
               ;;
   esac
   check=

#   printstatusvalues
   # set status 
   setstatuslogpath=$logpath/setstatus/$program/$var1
   makedir $setstatuslogpath
   setstatuslog=$setstatuslogpath/setstatus-$@-$program-$var2.log
   checkstatus=`root -q -b $macrospath/setstatus.C+\("\"$sequence\""\,"\"$table\""\,"\"$column\""\,"\"$statustime\""\,"\"$failedcode\""\,"\"$failedcomment\""\,"\"$starttime\""\,"\"$failedtime\""\) | tee $setstatuslog | grep int | sed -e 's/(int)//'`
   case $checkstatus in
      1)   echo "checkstatus=$checkstatus -> everything ok, status has been set"
      *)   echo "checkstatus=$checkstatus -> ERROR -> step could not be set"
   esac
}



