#!/usr/bin/perl
# Integrate column data by trapezoid rule - MOMENTS CALCULATION
# Rok Zitko, zitko@theorie.physik.uni-goettingen.de, Feb, Jun 2008

$xprev = 0;
$yprev = 0;
$sum1 = 0;
$sum2 = 0;
$sum3 = 0;
$sum4 = 0;

while (<>) {
  chomp;
  @d = split;
  $x = $d[0];
  $y = $d[1];
  
  if ($. != 1) {
    my $f = ($y + $yprev)/2.0;
    my $xavg = ($x + $xprev)/2.0;
    my $integrand1 = $f * $xavg; # First moment
    my $integrand2 = $f * $xavg**2; # Second moment
    my $integrand3 = $f * $xavg**3; 
    my $integrand4 = $f * $xavg**4; 
    my $width = $x - $xprev;
    $sum1 += $width * $integrand1;
    $sum2 += $width * $integrand2;
    $sum3 += $width * $integrand3;
    $sum4 += $width * $integrand4;
  }
  
  $xprev = $x;
  $yprev = $y;
}

print "$sum1\n";
print "$sum2\n";
print "$sum3\n";
print "$sum4\n";
