General Changes to the Load Review Structure


The Load Review structure has changed in many ways. The goal is to increase the efficency and to make maintanence easier. The following changes are in the acis-backstop.pl file.
The current version of acis-backstop.pl completes THESE checks.
Additional checks have been added for parameter blocks, window blocks and the comparision between OCAT and parameter blocks.
The new loop of the code looks like this:
while (  ) 
{

    Process_Next_Record($_);
    push (@timecont,$dec_day);
    
    #----------------------------------------
    #Confirm that this is a command we care about
    #----------------------------------------
    if ($Rec_Event eq "ACISPKT" ||
        $command_list{($Rec_Eventdata{TLMSID})} ||
        $command_list{($Rec_Eventdata{TYPE})}  ||
        $command_list{($Rec_Event)}  ||
        $Rec_Eventdata{TLMSID} =~ /CSELFMT/){
        #----------------------------------------
        # We care. Handle each set of commands
        #----------------------------------------
        SWITCH: {
            #Comms:
            if($Rec_Eventdata{TLMSID} =~ /CTX/){
                process_comm();
                last SWITCH;
            }
            #Gratings:
            if($Rec_Eventdata{TLMSID} =~ /ETG/){
                process_TG(\%chandra_status);
                last SWITCH;
            }
            #Dither:
            if($Rec_Eventdata{TLMSID} =~ /DITH/){
                process_dither(\%chandra_status);
                last SWITCH;
            }
            #Radiation Monitor
            if($Rec_Eventdata{TLMSID} =~ /OORMP/){
                process_radmon(\%chandra_status);
                last SWITCH;
            }
            #Format Change
            if($Rec_Eventdata{TLMSID} =~ /CSELFMT/){
                process_format(\%chandra_status);
                last SWITCH;
            }
            #RadZone Entry and Exit
            if($Rec_Event =~ /ORBPOINT/){
                process_radzone();
                last SWITCH;
            }
            #SIM FOCUS and Translations
            if($Rec_Event =~ /^SIM/){
                process_sim(\%chandra_status);
                last SWITCH;
            }
            #Obsid Changes
            if ($Rec_Event =~ /MP_OBSID/) {
                obsid_change(\%chandra_status);
                last SWITCH;
            }
            #Stop Sciences
            if ($Rec_Eventdata{TLMSID} =~ /AA00000000/){
                process_stop_science();
                last SWITCH;
            }
            #Start Sciences
            if ($Rec_Eventdata{TLMSID} =~ /XTZ0000005/ || 
                $Rec_Eventdata{TLMSID} =~ /XCZ0000005/) {
                check_acistime();
                process_start_science();
                last SWITCH;
            }
            #Load Parameter blocks
            if ($Rec_Eventdata{TLMSID} =~ /WT0*/  ||
                $Rec_Eventdata{TLMSID} =~ /WC0*/ )  {
                check_acistime();
                load_pblock(\%chandra_status);
                last SWITCH;
            }
            #Load Window Blocks
            if ($Rec_Eventdata{TLMSID} =~ /W100*/ ||
                $Rec_Eventdata{TLMSID} =~ /W200*/) { 
                check_acistime();
                load_windowblock(\%chandra_status);
                last SWITCH;
            }
            #all other ACIS commands:
            else{
                check_acistime();
                process_acispkt();
            }
        }#end SWTICH   
      }#end lines we care about
    } #end processing backstop file

end_load(\%chandra_status);
check_errors();
#cleanup

Nancy Adams-Wolk
Last modified: Thu Apr 26 13:48:36 EDT 2007