import sk.uniba.fmph.pocprak.ioutils.*;
//V tomto programe je niekde chyba, nepocita dobre statistiku!!!
public class Statistics {
  static double[] xd= new double[1000];
  static double[] pd= new double[1000];
  static int nevent = 0;

  static void ReadData() throws Exception{
    double[] values;
    InTextFile in = InTextFile.open("termalizacia.txt");   //otvorenie textoveho suboru
    while (true){
      values = in.readlnDoubles();
      if(values==null) break;    //ak values==null nic nenacital je teda na konci suboru
      if(values.length==2){      //riadok je platny iba ak obsahuje dve cisla
        xd[nevent]=values[0];
        pd[nevent]=values[1];
        nevent++;
      }
    }
    in.close();   //zatvori textovy subor
  }

  public static void main(String[] args) throws Exception{
    Killer.createKiller();
    ReadData();
    double sumx = 0.;
    double sump = 0.;
    double sumEkin = 0.;
    double sumEpot=0.;
    for(int i=0;i<nevent;i++){
      double x = xd[i];
      double p = pd[i];
      sumx = sumx + x;   //pocita sumu hodnot
      sump = sump + p;   //pocita sumu hodnot
      sumEkin = sumEkin + 0.5*p*p/Oscilator.m;   //pocita sumu kvadratov
      //nasledujuci riadok opravte !!!!!
      sumEpot;
    }

    double meanx = sumx/nevent;
    double meanp = sump/nevent;
    double meanEkin = sumEkin/nevent;
    double meanEpot = sumEpot/nevent;

    //nasledujuce dva riadky su pre dodrzanie jednotneho stylu, inak by sme mohli pouzit aj
    //System.out.println()
    OutTextFile STDOUT = OutTextFile.open();
    STDOUT.println("mean x="+meanx);
    STDOUT.println("mean p="+meanp);
    STDOUT.println("mean kinetic enery="+meanEkin);
    STDOUT.println("mean potential energy="+meanEpot);

  }
}
