#!/usr/bin/perl
use strict;

my $usage= << "JUS";
  **************************************************************
  von Sven & Julian
  **************************************************************
  Aufruf: 	score_grace_fusion.pl ersterPrameter zweiterParameter
  Funktion:	KANN ERST GENUTZT WERDEN WENN score2xmgrace.pl UND motivplot.pl
  		SCHON DURCHGELAUFEN SIND!!!

  		ersterPrameter & zweiterParameter:
  			Die beiden Parameter muessen entweder 0 oder 1 sein
  			und geben an welche zwei all*.grace Datein mit einander
  			verknuepft werden
  Ergebnis:	Ziel ist es einen Motivplot mit einem Kurvenplot zu verknuepfen
  		um so beide Grafiken im Vergleich zu haben ;o)
  Beispiel:	score_grace_fusion 1 1 1 *.data
  		nimmt aus den Ordnern grace11 und gracemotivplot11 die
  		all11.grace und bastelt sie in ein Grafik
JUS

if(@ARGV < 3){
	print $usage;
	exit;
}
my $dir_pattern = @ARGV[0].@ARGV[1].@ARGV[2];
my $out;
my $outanf;
if(!(-e "./grace".$dir_pattern)) {
	print "\tProgramm bitte nochmal ohne Parameter aufrufen,\n\tda die Ordner fehlen.\n\t###BRECHE AB!###\n";
	exit;
}
if(!(-e "./gracemotivplot".$dir_pattern)) {
	print "\tProgramm bitte nochmal ohne Parameter aufrufen,\n\tda die Ordner fehlen.\n\t###BRECHE AB!###\n";
	exit;
}
open(FI,"< gracemotivplot".$dir_pattern."/all".$dir_pattern.".grace") or die "error by opening input file";
my $counter_motiv = 0;
foreach my $line (<FI>){
	my $sub = substr($line,0,1);
	if($sub eq "@"){
		$outanf .= $line;
		$counter_motiv++; 
	}
	else{
		if($sub eq "&"){
			$out .= $line;
		}
		else{
			my @neu = split(/\s/, $line);
			$out .= $neu[0]." ".(-($neu[1]))."\n";
#			$out .= $line;
		}
	}
}
close(FI);
open(FI,"< grace".$dir_pattern."/all".$dir_pattern.".grace") or die "error by opening input file";
my $counter_grace = $counter_motiv;
foreach my $zeile (<FI>){
	my $sub = substr($zeile,0,1);
	if($sub eq "@"){
		$counter_grace++;
	}
	else{
		my @neu = split(/\s/, $zeile);
		if($neu[1] == 0){
			$out .= $zeile;
		}
		else{
			$out .= $neu[0]." ".(sqrt($neu[1]))."\n";
		}
	}
}
my $erg = ($counter_grace - $counter_motiv);
my $counter = 0;
while($counter < (2*$erg)){
	for(my $x = 1; $x <= $erg; $x++){
		$outanf .= "@    s".$counter." symbol color ".$x."\n";
		$counter++;
	}
	for(my $y = 1; $y <= $erg; $y++){
		$outanf .= "@    s".$counter." line color ".$y."\n";
		$counter++;
	}	
}
#print $outanf."\n";
mkdir("fusion".$dir_pattern);
open(FO,"> fusion".$dir_pattern.".grace") or die "error by opening output file";
print FO $outanf.$out;
close(FO);
system("xmgrace fusion".$dir_pattern.".grace -hardcopy -printfile fusion".$dir_pattern."/fusion".$dir_pattern.".ps");
system("mv *.grace fusion".$dir_pattern);
