#!/usr/bin/perl

use lib 'c:/Programs/Perl/lib';
use lib 'd:/Programs/Perl/lib';

use strict;
#use warnings;
use File::Path;
use File::Basename;

use ProgVars;
use Deps;
use Utils;
use Crystal::CIF;
use Crystal::Crystal;
use Crystal::Rietan;

my $CIFFile    = $ARGV[0];
my $InsFile    = $ARGV[1];
my $StartAngle = 5.0;
my $EndAngle   = 70.0;

&SimulateByRietan($CIFFile, $InsFile, $StartAngle, $EndAngle);
exit;



sub SimulateByRietan
{
	my ($CIFFile, $InsFile, $StartAngle, $EndAngle) = @_;

	print "<H1>Simulate XRD profile by Rietan</H1>\n";
	my ($drive, $directory, $filename, $ext, $lastdir, $filebody) = Deps::SplitFilePath($CIFFile);
	my $SampleName = "'$filebody'";

	my $CIF = new CIF;
	unless($CIF->Read($CIFFile)) {
		print "aError: Can not read [$CIFFile].\n";
		return 0;
	}
	my $Crystal = $CIF->GetCCrystal();
	$Crystal->ExpandCoordinates();

	print "$InsFile was deleted.\n" if(unlink($InsFile));

	my $Rietan = new Rietan();
	$Rietan->SetSampleName($SampleName);
	if($Rietan->SaveInsFile($Crystal, $InsFile, 0, 0, 1, $StartAngle, $EndAngle) <= 0) {
		print "Error: Can not make ($InsFile).\n";
		return -1;
	}

	my (@Files) = $Rietan->Execute($InsFile);
#	for(my $i = 0 ; $i < @Files ; $i++) {
#		print "Files[$i]: $Files[$i]\n";
#	}

}

