#include "pads_dcm.h" #include "pads_prt.h" #include "windmisc.h" #include "pckt_prt.h" FILE *pads_fp; FILE *pads_raw_fp; FILE *pads_log_fp; FILE *pads_spec_fp; int print_pads_packet(packet *pk) { static PADdata pad; if(pads_fp || pads_spec_fp){ pads_decom(pk,&pad); print_pad_structure(pads_fp,&pad); print_pad_spectra(pads_spec_fp,&pad); } if(pads_raw_fp || pads_log_fp){ print_packet_header(pads_log_fp,pk); print_generic_packet(pads_raw_fp,pk,15); } return(0); } int print_pad_spectra(FILE *fp,PADdata *pad) { int e,a,ne; double f; if(fp==0) return(0); ne = pad->num_energies; fprintf(fp,"%9.0f ",pad->time1); for(e=0;enum_angles;a++){ f += pad->flux[a*ne+e]; } fprintf(fp," %5.0f",f); } fprintf(fp,"\n"); return(1); } int print_pad_structure(FILE *fp,PADdata *pad) { int e,a,n,ne,na,ns; double ta,nrg,flx; if(fp==0) return(0); fprintf(fp,"\n`%s - ",time_to_YMDHMS(pad->time1)); fprintf(fp,"%s ",time_to_YMDHMS(pad->time2)); fprintf(fp," %d-%d ",pad->t_start,pad->t_stop); fprintf(fp,"\n"); ne = pad->num_energies; na = pad->num_angles; ns = pad->num_samples; fprintf(fp,"` "); for(a=0;aangles[a]); fprintf(fp,"\n"); for(e=0;eenergies[e]; fprintf(fp,"%5.0f ",nrg); for(a=0;aflux[a*ne+e]; fprintf(fp," %5g",flx); } fprintf(fp,"\n"); } #if 1 fprintf(fp,"` area:"); ta = 0; for(a=0;aarea[a]); ta += pad->area[a]; } fprintf(fp,"\n`total area: %4f\n",ta); #endif #if 0 for(n=0;n< ns;n++){ fprintf(fp,"`bth=%3d bph=%3d \n",bdir[2*a+1],bdir[2*a]); } fprintf(fp,"\n"); #endif return(1); } #if 0 print_c_tables(FILE *fp) { int i; for(i=0;i<11*10;i++){ fprintf(fp," %5d,",w_el[i]); if(i%10 ==9) fprintf(fp,"\n"); } fprintf(fp,"\n"); for(i=0;i<65;i++){ fprintf(fp," %5d,",cos_[i]); if(i%8 ==7) fprintf(fp,"\n"); } fprintf(fp,"\n"); fprintf(fp,"\n"); for(i=0;i<48;i++){ fprintf(fp," %6d,",sin_cos_sec[i]); if(i%8 ==7) fprintf(fp,"\n"); } fprintf(fp,"\n"); } print_asm_tables(FILE *fp) { int i; fprintf(fp,"\ttitle\twel.tbl\n"); fprintf(fp,"w_el"); for(i=0;i<11*10;i++){ if(i%5 ==0) fprintf(fp,"\tdw\t"); fprintf(fp," %05xh",w_el[i]); if(i%5 ==4) fprintf(fp,"\n"); else fprintf(fp,","); } fprintf(fp,"\n"); fprintf(fp,"cos_"); for(i=0;i<65;i++){ if(i%8 ==0) fprintf(fp,"\tdw\t"); fprintf(fp," %05xh",cos_[i]); if(i%8 ==7) fprintf(fp,"\n"); else fprintf(fp,","); } fprintf(fp,"\n"); fprintf(fp,"sin_cos_sec"); for(i=0;i<48;i++){ if(i%8 ==0) fprintf(fp,"\tdw\t"); fprintf(fp," %05xh",sin_cos_sec[i]); if(i%8 ==7) fprintf(fp,"\n"); else fprintf(fp,","); } fprintf(fp,"nesteps db 0,0,15,30\n"); fprintf(fp,"tstrt db 0,16,16,32\n"); fprintf(fp,"tstop db 16,32,40,40\n"); fprintf(fp,"nthta db 16,24,24,24\n"); fprintf(fp,"\n"); } print_rom_arrays(FILE *fp) { int i,t,n,sib,cib,max,cpa,tmax,min,tmin,imax,imin; fprintf(fp,"` cos_\n"); for(i=0;i<65;i++) fprintf(fp,"%2d %3d \n",i,cos_gr[i]); fprintf(fp,"` sin_sec cos_sec\n"); for(i=0;i<24;i++) fprintf(fp,"%2d %6d %6d \n",i,sin_sec[i],cos_sec[i]); max = -1000; min = 1000; #if 0 for(t=0;t<=128;t++){ mis.current_bth = t; init_pad_arrays(); for(i=0;i<24;i++){ #if NEW #if NBITS16 cpa = (( (long)sinib[i] * cos_gr[0] + 16383) >> 15) + cosib[i]; #else cpa = ((sinib[i] * cos_gr[0] + 63) >> 7) + cosib[i]; #endif #else cpa = (sinib[i] * cos_gr[0])/128 + cosib[i]; #endif if(cpa>max){ max=cpa; tmax=t; imax=i; } if(cpa> 7) + cosib[i]; #else cpa = (sinib[i] * -cos_gr[0])/128 + cosib[i]; #endif if(cpa>max){ max=cpa; tmax=t; imax=i; } if(cpa5){ sprintf(s,"%3.1fe%-2d",x/pow((double)e,10.),e); return(s); } f="%6.4f"; if(e==1) f="%6.3f"; if(e==2) f="%6.2f"; if(e==3) f="%6.1f"; if(e==4) f="%6.0f"; if(e==5) f="%6f"; sprintf(s,f,x); return(s); } #endif