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", "*", "*") ); }