#include <stdio.h>
#include <math.h>
#define n 3669
FILE *fp;
int i1[n],i2[n],i3[n];
float x1[n],x2[n],y;
char a[40];
int d[14]={323,751,811,1155,1231,1566,1794,1962,2314,2500,2704,3044,3124,3380};
main(int ac,char **av)
{
  int i,j,k;
  int j0,j1,j2,j3;
  float z1,z2,z3,z4;
  if(ac<2){
        printf("\n\tadd zhoux's data to 1.2 (getfits 29 24 6)\n\n"); 
        printf("\n\taddzx !  or   addzx g\n\n");
        exit(0);
     }
  fp=fopen("fluxmy.dat","r");
  k=0;
l10:
  fgets(a,40,fp); if(feof(fp))goto l20;
  if(a[0]=='#')goto l10;
  a[0]=a[5]=a[10]=32;
  sscanf(a,"%d %d %d",&i1[k],&i2[k],&i3[k]);
  x1[k]=x2[k]=0.;
  if(a[19]!=32)sscanf(&a[17],"%f",&x1[k]);
  k++;
  goto l10;
l20:
  fclose(fp);
  fp=fopen("fluxcorr.dat","r");
  j=0;
l30:
  fgets(a,40,fp); if(feof(fp))goto l40;
  if(a[0]=='#')goto l10;
  a[0]=a[5]=a[10]=32;
  sscanf(a,"%d %d %d %f",&j1,&j2,&j3,&y); 
  for(i=j;i<k;i++)if(j1==i1[i] && j2==i2[i] && j3==i3[i])break;
  if(i==k){ printf("#****** error ****** %s",a); goto l30; }
  x2[i]=y; j=i+1;
  goto l30;
l40:
  fclose(fp); 
  for(i=0;i<k;i++){
    y=0.; if(x2[i]!=0.)y=4.-2.5*log10(x2[i]);
   printf("p%04d_%04d_%d.fit%7.3f%9.5f%7.3f\n",i1[i],i2[i],i3[i],x1[i],x2[i],y);
    if(x1[i]!=0. && x2[i]!=0.)x1[i]-=y; else x1[i]=99.;
  }
  j0=0;j1=1;j2=2;j3=3;
  if(av[1][0]!='g')pgbegin_(&j0,"/xw",&j1,&j1,3);
  else { pgbegin_(&j0,"/jg",&j1,&j1,3); pgslw_(&j3);}
  z1=0; z2=k; z3=-1.7; z4=0.6;
  pgenv_(&z1,&z2,&z3,&z4,&j0,&j0);
  for(i=0;i<k;i++)if(x1[i]!=99.){
    y=i;
    pgsci_(&i3[i]);
    pgpoint_(&j1,&y,&x1[i],&j1);
  }   
  for(i=0;i<14;i++){
    x1[0]=x1[1]=d[i]-2;
    x2[0]=-1.5; x2[1]=-1.2;
    pgline_(&j2,x1,x2,&j1);
  }  
  pgend_();
}
  
