/*
Ecriture des courbes de lumieres individuelles pour database ErosI
*/
#include "sopnamsp.h"
#include "machdefs.h"
#include <iostream>
#include <string>
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <string.h>

#include "nbmath.h"
#include "fsvcache.h"
#include "fsvst.h"
#include "nbsread.h"
#include "nbgene.h"

int icount = 0;

/*================================================================*/
void UINIT(void) {}

void UDATCLEAN(int coul)
/* pour tuer une photo selon des criteres utilisateur, mettre date a GRAND2 */
{
  int_4 ic = coul-1;
  if(nmes[ic]<=0) return;
  for(int i=0;i<nmes[ic];i++) {
    if(date[ic][i]<0.)  date[ic][i] = GRAND2;
    if(timeu[ic][i].FgCalib<=0) date[ic][i] = GRAND2;
  }
}

void UINITCCD(void) {}
void UENDCCD(void) {}
void UEND(void) {}

/*================================================================*/
void UEVT(void)
{
  int ic, i;

  if((icount++)%1000==0)
   printf("> Et=%d (%d) %d (%d)  fref=%g %g\n"
         ,iet[0],staru[0].XRef,iet[1],staru[1].XRef,staru[0].FluxRef,staru[1].FluxRef);

 if(nmesure[0]<=0 || nmesure[1]<=0) return;
 if(iet[0]<=0 || iet[1]<=0) return;

 char str[1024];
 sprintf(str,"%d.time",staru[0].NumEt);
 FILE* fstlist = fopen(str,"w");

 fprintf(fstlist,"# %d %.3f %.3f %.3f  %d %.3f %.3f %.3f\n",
	 staru[0].NumEt,staru[0].XPos,staru[0].YPos,staru[0].FluxRef,
	 staru[1].NumEt,staru[1].XPos,staru[1].YPos,staru[1].FluxRef);
 fprintf(fstlist,"# %d %d  ntime R=0 B=1\n",nmesure[0],nmesure[1]);

 for(ic=0;ic<NCOULMX;ic++) {
   for(i=0;i<nmesure[ic];i++) {
     int j;
     double t, f, ef;
     j = indexu[ic][i];
     t = date[ic][j]; // origine 1/1/1990 a 0:0:0
     f = mesu[ic][j].Flux;
     ef = mesu[ic][j].ErrFlux;
     fprintf(fstlist,"%d %.6f %.3f %.3f\n",ic,t,f,ef);
   }
 }

 fclose(fstlist); fstlist = NULL;

}
