#!/usr/bin/perl
#
#  cobrems.pl -	Performs a survey of coherent bremsstrahlung beam
#		flux and polarization under varying electron beam
#		and photon collimator conditions.
#
#  richard.t.jones@uconn.edu
#  May 21, 2006

our $Emax = 12.0; #GeV
our $Epeak = 9.0; #GeV
our $Emit = 10e-9; #m.r
our $Dist = 75.0; #m
our $Coldiam = 3.2e-3; #m
our $tagflux;
our $polflux;
our $bgflux;

print "Emax:r,Epeak:r,emit:r,dist:r,coldiam:r, ",
      "tagflux:r, polflux:r, bgflux:r\n";

for ($Emit = 1.25e-9; $Emit <= 2e-7; $Emit *= 2) {
   for ($Coldiam = 0; $Coldiam <= 6.4e-3; $Coldiam += 1.6e-3) {
      if ($Coldiam == 0) {
         $coldiam = 1.;
      }
      else {
         $coldiam = $Coldiam;
      }
      open(MAC,">batch.kumac") || die "Open batch.kumac failed\n";
      print MAC "exec cobrems Emax=$Emax Epeak=$Epeak",
                " emit=$Emit dist=$Dist coldiam=$coldiam\n";
      print MAC "exec cobrems#p Emax=$Emax Epeak=$Epeak",
                " emit=$Emit dist=$Dist coldiam=$coldiam\n";
      print MAC "exit\n";
      close(MAC);
      @result = `pawX11 -b batch.kumac`;
      foreach $_ (@result) {
         $tagflux = $_ if (s/^ *tagged sum is//);
         $polflux = $_ if (s/^ *tagged polar sum is//);
         $bgflux = $_ if (s/^ *bg sum is//);
      }
      printf("%6.3f %6.3f %6.3g %7.3f %8.3g ",
             $Emax,$Epeak,$Emit,$Dist,$Coldiam);
      printf("%10.3g %10.3g %10.3g\n",$tagflux,$polflux,$bgflux);
   }
}
