Download

package OMgetFlat;
use strict;
use English;
use Carp;
use vars
  qw(@ISA $VERSION $name $author $date $version @instList $numberOfStreams);
@ISA = qw(Module);
use ModuleResources;

# Declare identity, version, author, date, etc.
$name    = __PACKAGE__;
$VERSION = '1.07';
$version = $VERSION;
$author="Dean Hinshaw, Duncan Law-Green, Ed Chapin";
$date="2013-06-11";

#
# ChangeLog
# =========
#
# Version 1.07 - 2013-06-11 (EC)
# ------------
#
# + Merge changes from SOC version.
#
# Version 1.06a - 2009-06-19 (DLG)
# -------------
# 
# + Set ignore if SAS_ATTITUDE=RAF for slew processing
#
# Version 1.06 -2002-02-05 (DH)
# ------------
#
# + Put in change to omflatgen interface.  The 'date' option 
#   was removed.
#
# Version 1.05 -2001-03-16 (DH)
# ------------
#
# + Print out version number in performAction() for
#   tracking purposes.
#
# Version 1.04 -2001-03-08 (DH)
# ------------
#
# + Change om flat field from being a product file to
#   being an intermediate file.
#
# Version 1.03 -2001-01-16 (DH)
# ------------
#
# + Remove ignore rule on number of exposures, as it was
#   redundant and causing unnecessary DB access.
#
# Version 1.02 - 2001-01-10 (DH)
# ------------
#
# + modify start rule to include ExpChooser.
#
# Version 1.01 - 2001-01-09 (DH)
# ------------
#
# + Add new ignore rule (for ExpChooser) to evaluateRules.
#
# Version 1.00 - 2000-11-23 (DH)
# ------------
#
# + First production version.
#

# Declare list of instruments this module is interested in
@instList=qw(om);

# Number of streams
sub numberOfStreams {
    return 1;
}

# Rules method
sub evaluateRules {
    return ignore() if allIgnored(module => 'ExpChooser',
				  instrument => 'om');

    # ignore for slew processing
    return ignore() if ($ENV{'PCMS_ISSLEW'});

    start() if complete(module => 'MakeCIF', instrument => 'all')
	and allComplete(module => 'ExpChooser', instrument => 'om');
}

# Action method
sub performAction {
    info("Module version number: $version");
    my $flatFieldFile=newFile(class => 'intermediate',
			   instrument => thisInstrument,
			   content => 'OM Flatfield');

    doCommand('omflatgen',
	      outset => $flatFieldFile)
	or return exception();

    return success;
}

1;