#!/usr/bin/perl

use lib 'd:/Programs/Perl/lib';

use Utils;
use JFile;
use Sci::Optics;

my $infile;#  = 'Ti_o2_1_isa.ref';
if($infile eq '') {
	print "In file>>";
	$infile = <>;
	Utils::DelSpace($infile);
}
my ($drive, $directory, $filename, $ext1, $lastdir, $filebody) = Deps::SplitFilePath($infile);
my $outfile = Utils::MakePath("$drive$directotry","$filebody.csv", '/', 0);

print "infile : $infile\n";
print "outfile: $outfile\n";

my $in  = JFile->new($infile, 'r')  or die "$!: Can not read [$infile]\n";
my $out = JFile->new($outfile, 'w') or die "$!: Can not write to [$outfile]\n";

$in->SkipTo("# FIRST POINT:");
my $E0 = $in->ReadLine() + 0.0;
$in->SkipTo("# LAST POINT:");
my $E1 = $in->ReadLine() + 0.0;
$in->SkipTo("# INCREMENT:");
my $dE = $in->ReadLine() + 0.0;
$in->SkipTo("# NUMBER OF POINTS:");
my $ndata = $in->ReadLine() + 0;

print "ndata  : $ndata\n";
print "E range: $E0 - $E1, $dE\n";
print "ndata: $ndata\n";

$in->SkipTo("# DATA:");
$in->ReadLine();

$out->print("$filebody\n");
$out->print("E(eV),wl(nm),e1,e2,n,k,alpha(cm-1)\n");

my (@e1, @e2);
for(my $i = 0 ; $i < $ndata ; $i++) {
	my $E  = $E0 + $i * $dE;
	my $wl = Optics::eVTonm($E);

	($e1[$i], $e2[$i]) = Utils::Split("\\s+", $in->ReadLine());
	my ($n, $k) = Optics::EpsToNK($e1[$i], $e2[$i]);
	my $alpha   = Optics::KToAlpha($wl, $k);
print "$E\t$wl\t$e1[$i]\t$e2[$i]$E\t$n\t$k\t$k\n";
$out->print("$E,$wl,$e1[$i],$e2[$i],$n,$k,$k\n");
}

$in->Close();
$out->Close();

exit;
