Data conversion

The following piece of code shows how internal Spectra data (fix_positions, ioni1, data_1, data_2, ...) are written to an external file.

#!/usr/bin/env perl
use strict; 
use Spectra; 

my $fix_positions = SCAN->locate( name => "fix_positions") or 
    die " failed to locate fix_positions "; 
my $ioni1 = SCAN->locate( name => "ioni1") or
    die " failed to locate ioni1 "; 

open( FH, ">out.lis"); 

foreach my $i ( 0 .. (scalar( @{$fix_positions->{y}}) - 1))
{
    my $name = "DATA_" . ($i + 1); 
    my $data = SCAN->locate( name => $name) or 
	die "failed locate $name"; 
    foreach my $chan ( 0 .. (scalar( @{ $data->{y}}) - 1))
    {
	print FH $fix_positions->{ y}[ $i] . " " .  
	    $ioni1->{y}[$i] . " " . 
	    $chan . " " . $data->{ y}[ $chan] . "\n"; 
    }
    print FH "\n"; 
}
close( FH); 
1;