#!/usr/bin/perl


# Setup external programs
@gov = split (/\//,$0); pop @gov; $BINDIR = join ('/',@gov);
@gov = split (/\//,$0); pop @gov; pop @gov; $LIBDIR = join ('/',@gov,"LIB","ReadPar","Perl");

push @INC,$LIBDIR;
require ReadPar;
ReadPar::IniReadPar(@ARGV);

$fcopy  = "$BINDIR/fitsfilter";      # or fcopy from FTOOLS


$bigfile = ReadPar::cl_or_read_par("evtfile","Original events file");
$bigfile || die "Please set input file\n";

$smallfile = ReadPar::cl_or_read_par("o","output clean events file");
$smallfile || die "Please set output file\n";

%filter = ();
%filtername = ();

#$filter{"Column filter"} = "!EXPNO; !TDETX; !TDETY; !PHAS;";
$filter{"GTI filter"}    = "gtifilter( )";
$filtername{"GTI filter"}    = "gti";
$filter{"Grade filter"}  = "grade<7&&grade!=5&&grade!=1";
$filtername{"Grade filter"}  = "grade";
$filter{"Afterglow filter"}  = "status==bxxxxxxxxxxxx0000xxxxxxxxxxxxxxxx";
$filtername{"Afterglow filter"}  = "afterglow";

foreach $filt ( sort keys %filter ) {
#    print "$filt [$filter{$filt}]? ";
#    $ans = <STDIN>; chop $ans;
###  $ans = Complete ("$filt [$filter{$filt}] ",$filter{$filt});
  $ans = ReadPar::cl_or_read_par($filtername{$filt},"[$filter{$filt}]");
  if ( $ans ) {
    if ( $ans =~ /^\s*-?\s*$/ ) {
      $filter{$filt} = "";
    } else {
      $filter{$filt} = $ans;
    }
  }
}

$rowfilter = "";
foreach $key ( "GTI filter", "Grade filter", "Afterglow filter") {
  if ( $filter{$key} ) {
    if ( $rowfilter ) { $rowfilter = $rowfilter." && "; }
    $rowfilter = $rowfilter.$filter{$key}
  }
}
if ( $rowfilter ) { $rowfilter = "\[$rowfilter\]"; }

#$colfilter = $filter{"Column filter"};
#if ( $colfilter ) { $colfilter = "\[col $colfilter\]"; }

# if ($colfilter) {
#   $tmpfile = $smallfile."_";
#   system ($fcopy,
# 	  $bigfile."[events]".$rowfilter,
# 	  $tmpfile);
#   system ($fcopy,$tmpfile."[events]".$colfilter,
# 	  $smallfile);
#   unlink ($tmpfile);
# }
# else {
  exec ($fcopy,
	$bigfile."[events]".$rowfilter,
	$smallfile);
#}










