00001
00002
00003
00004
00005
00006 #include "cddefines.h"
00007 #include "lines.h"
00008 #include "prt.h"
00009
00010 t_prt prt;
00011
00012
00013 void prt_wl( FILE *ioOUT , realnum wl )
00014 {
00015 char chString[100];
00016 DEBUG_ENTRY( "prt_wl()" );
00017
00018 sprt_wl( chString , wl );
00019
00020 fprintf(ioOUT, "%s", chString );
00021 return;
00022 }
00023
00024
00025 void sprt_wl( char *chString , realnum wl )
00026 {
00027 char chUnits[10];
00028
00029 DEBUG_ENTRY( "sprt_wl()" );
00030
00031
00032 if( wl > 1e8 )
00033 {
00034
00035 strcpy( chUnits , "c" );
00036 wl /= 1e8;
00037 }
00038 else if( wl > 1e4 )
00039 {
00040
00041 strcpy( chUnits , "m" );
00042 wl /= 1e4;
00043 }
00044 else if( wl == 0. )
00045 {
00046 strcpy( chUnits , " " );
00047 }
00048 else
00049 {
00050
00051 strcpy( chUnits , "A" );
00052 }
00053
00054
00055 if( LineSave.sig_figs == 4 )
00056 {
00057 if( wl==0. )
00058 {
00059 sprintf(chString, "%5i", 0 );
00060 }
00061 else if( wl<10. )
00062 {
00063 sprintf(chString, "%5.3f", wl );
00064 }
00065 else if( wl<100. )
00066 {
00067 sprintf(chString, "%5.2f", wl );
00068 }
00069 else if( wl < 1e3 )
00070 {
00071 sprintf(chString, "%5.1f", wl );
00072 }
00073 else if( wl < 1e4 )
00074 {
00075 sprintf(chString, "%5.0f", wl );
00076 }
00077 else if( wl < 1e5 )
00078 {
00079 sprintf(chString, "%5i", (int)wl );
00080 }
00081 else
00082 {
00083 TotalInsanity();
00084 }
00085 }
00086 else if( LineSave.sig_figs == 5 )
00087 {
00088
00089 if( wl==0. )
00090 {
00091 sprintf(chString, "%5i", 0 );
00092 }
00093 else if( wl<10. )
00094 {
00095 sprintf(chString, "%5.4f", wl );
00096 }
00097 else if( wl<100. )
00098 {
00099 sprintf(chString, "%5.3f", wl );
00100 }
00101 else if( wl < 1e3 )
00102 {
00103 sprintf(chString, "%5.2f", wl );
00104 }
00105 else if( wl < 1e4 )
00106 {
00107 sprintf(chString, "%5.1f", wl );
00108 }
00109 else if( wl < 1e5 )
00110 {
00111 sprintf(chString, "%5.0f", wl );
00112 }
00113 else if( wl < 1e6 )
00114 {
00115 sprintf(chString, "%5i", (int)wl );
00116 }
00117 else
00118 {
00119 TotalInsanity();
00120 }
00121 }
00122 else
00123 {
00124 ASSERT( LineSave.sig_figs == 6 );
00125
00126 if( wl==0. )
00127 {
00128 sprintf(chString, "%6i", 0 );
00129 }
00130 else if( wl<10. )
00131 {
00132 sprintf(chString, "%6.5f", wl );
00133 }
00134 else if( wl<100. )
00135 {
00136 sprintf(chString, "%6.4f", wl );
00137 }
00138 else if( wl < 1e3 )
00139 {
00140 sprintf(chString, "%6.3f", wl );
00141 }
00142 else if( wl < 1e4 )
00143 {
00144 sprintf(chString, "%6.2f", wl );
00145 }
00146 else if( wl < 1e5 )
00147 {
00148 sprintf(chString, "%6.1f", wl );
00149 }
00150 else if( wl < 1e6 )
00151 {
00152 sprintf(chString, "%6.0f", wl );
00153 }
00154 else if( wl < 1e7 )
00155 {
00156 sprintf(chString, "%6i", (int)wl );
00157 }
00158 else
00159 {
00160 TotalInsanity();
00161 }
00162 }
00163 strcat( chString , chUnits );
00164 return;
00165 }
00166
00167
00168 void prt_LineLabels(
00169
00170 FILE * ioOUT ,
00171
00172
00173 bool lgPrintAll )
00174 {
00175 long int i;
00176
00177 DEBUG_ENTRY( "prt_LineLabels()" );
00178
00179 for( i=0; i < LineSave.nsum; i++ )
00180 {
00181 if( strcmp( LineSv[i].chALab , "####" )==0 )
00182 {
00183
00184 fprintf( ioOUT, "####\t%s",LineSave.chHoldComments[(int)LineSv[i].wavelength] );
00185 }
00186 else
00187 {
00188 if( !lgPrintAll &&
00189 (strcmp( LineSv[i].chALab , "Inwd" )==0 ||
00190 strcmp( LineSv[i].chALab , "Coll" )==0 ||
00191 strcmp( LineSv[i].chALab , "Pump" )==0 ||
00192 strcmp( LineSv[i].chALab , "Heat" )==0)
00193 )
00194
00195
00196
00197 continue;
00198
00199 fprintf( ioOUT, "%li\t%s\t",
00200 i,
00201 LineSv[i].chALab );
00202
00203 prt_wl( ioOUT, LineSv[i].wavelength );
00204
00205 long int j = 0;
00206 while( LineSv[i].chComment[j]!='\0' && LineSv[i].chComment[j]==' ')
00207 ++j;
00208
00209 fprintf( ioOUT , "\t%s" , &LineSv[i].chComment[j] );
00210 }
00211 fprintf( ioOUT, "\n" );
00212 }
00213 return;
00214 }