package Subs::BATLightCurves;
##############################################################################
#
# DESCRIPTION: This subroutine runs extracts light curves from event data
#
# HISTORY:
# HISTORY: $Log: BATLightCurves.pm,v $
# HISTORY: Revision 1.9 2004/08/16 15:23:09 apsop
# HISTORY: Turn on writing of HISTORY keywords.
# HISTORY:
# HISTORY: Revision 1.8 2004/05/06 20:02:34 dah
# HISTORY: Add version number back into the header comments.
# HISTORY:
# HISTORY: Revision 1.7 2004/04/16 20:21:18 dah
# HISTORY: Begin using embedded history records
# HISTORY:
#
# VERSION: 0.0
#
#
##############################################################################
use Subs::Sub;
use Util::Xanadu;
@ISA = ("Subs::LightCurves");
use strict;
sub new {
my $proto=shift;
my $self=$proto->SUPER::new();
$self->{DESCRIPTION}="Extracting and plotting BAT light curves";
return $self;
}
##################
# METHODS:
##################
sub extract_lightcurves {
my $self=shift;
my $log =$self->log();
my $filename=$self->filename();
my $procpar =$self->procpar();
my $jobpar =$self->jobpar();
$log->entry("Extracting light curves from event data");
my $bin_size=0.064;
###########################################
# get the master quality map file
###########################################
my $quality = $filename->get("qualcal", "b", 'cb');
if( ! -f $quality) {
$log->entry("No master quality map");
$quality = "NONE";
}
##############################################
# set up batbinevt
#############################################
my $binner = Util::HEAdas->new("batbinevt")
->params({outtype => "LC",
timedel => $bin_size,
timebinalg => "snr",
energybins => "15-25, 25-40, 40-80, 80-200",
gtifile => "NONE",
ecol => "PI",
tstart => "INDEF",
tstop => "INDEF",
snrthresh => 6.0,
detmask => $quality,
buffersize => 16384,
clobber => "yes",
chatter => 5,
history => "yes"});
############################
# loop over all event files
############################
my $evt;
foreach $evt ($filename->get("event", "bat", "*", "*") ) {
###############################
# get the lightcurve file name
###############################
my $lcurve = $filename->corresponding("event", "lightcurve", $evt);
$log->entry("Extracting $lcurve from $evt");
unlink $lcurve;
###########################
# extract the lightcurve
###########################
$binner->params({infile => $evt,
outfile => $lcurve });
$binner->run();
} # end of loop over event files
} # end of extract_lightcurves method
#############################################################################
#
#############################################################################
sub list_lightcurves {
my $self = shift;
my $filename = $self->filename();
return ($filename->get("lightcurve", "b", "*", "*") );
}