00001
00002
00003
00004 #ifndef CDDRIVE_H_
00005 #define CDDRIVE_H_
00006
00044 void cdInit();
00045
00051 void cdTalk(bool);
00052
00061 void cdOutput( const char* filename = "", const char *mode = "w" );
00062
00071 void cdInput( const char* filename = "", const char *mode = "r" );
00072
00077 void cdDepth_depth( double cdDepth[] );
00078
00082 long int cdnZone();
00083
00088 double cdB21cm();
00089
00100 int cdRead( const char* );
00101
00109 void cdPrtWL( FILE *io , realnum wl );
00110
00119 long debugLine( realnum wavelength );
00120
00128 void cdNoExec();
00129
00135 int cdDrive();
00136
00137
00138
00139
00140
00147 void cdErrors(FILE* );
00148
00164 void cdNwcns(
00165 bool *lgAbort ,
00166 long int *NumberWarnings,
00167 long int *NumberCautions,
00168 long int *NumberNotes,
00169 long int *NumberSurprises,
00170 long int *NumberTempFailures,
00171 long int *NumberPresFailures,
00172 long int *NumberIonFailures,
00173 long int *NumberNeFailures );
00174
00177 void cdReasonGeo(FILE*);
00178
00183 void cdWarnings(FILE*);
00186 void cdCautions(FILE*);
00188 void cdSurprises(FILE*);
00190 void cdNotes(FILE*);
00191
00192
00193
00194
00195
00196
00197
00219 long int cdLine(
00220 const char *chLabel,
00221 realnum wavelength,
00222 double *relint,
00223 double *absint);
00224
00225 long int cdLine(
00226 const char *chLabel,
00227 realnum wavelength,
00228 double *relint,
00229 double *absint,
00230 bool lgEmergent);
00231
00232
00239 void cdLine_ip(long int ipLine,
00240 double *relint,
00241 double *absint ,
00242 bool lgEmergent );
00243 void cdLine_ip(long int ipLine,
00244 double *relint,
00245 double *absint );
00246
00275 int cdColm(const char*, long, double* );
00276
00280 double cdH2_colden( long iVib , long iRot );
00281
00297
00298 long int cdEmis(
00299 char *chLabel,
00300 realnum wavelength,
00301 double *emiss );
00302
00303 long int cdEmis(
00304 char *chLabel,
00305 realnum wavelength,
00306 double *emiss ,
00307 bool lgEmergent );
00308
00309
00315 void cdEmis_ip(
00316 long int ipLine,
00317 double *emiss ,
00318 bool lgEmergent);
00319
00323 double cdCooling_last();
00324
00328 double cdHeating_last();
00329
00331 double cdEDEN_last();
00332
00339 void cdPressure_last(
00340 double *TotalPressure,
00341 double *GasPressure,
00342 double *RadiationPressure);
00343
00354 void cdPressure_depth(
00355 double TotalPressure[],
00356 double GasPressure[],
00357 double RadiationPressure[]);
00358
00362 double cdTemp_last();
00363
00384 int cdIonFrac(
00385 const char *chLabel,
00386 long int IonStage,
00387 double *fracin,
00388 const char *chWeight ,
00389 bool lgDensity );
00390
00395 void cdVersion(char chString[] );
00396
00401 void cdDate(char chString[] );
00402
00403
00404
00405
00406
00407
00409 void cdSetExecTime();
00410
00413 double cdExecTime();
00414
00441 long int cdGetLineList(
00442 const char chFile[] ,
00443 char ***chLabels ,
00444 realnum **wl );
00445
00453 void cdTimescales(
00454 double *TTherm ,
00455 double *THRecom ,
00456 double *TH2 );
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467
00468
00470 extern long int nFeIIBands;
00471
00473 extern long int nFeIIConBins;
00474
00475
00479 extern realnum **FeII_Bands;
00480
00481
00482
00485 extern realnum **FeII_Cont;
00486
00487
00516 void cdSPEC(
00517 int Option ,
00518 double EnergyLow[] ,
00519 long int nEnergy ,
00520 double ReturnedSpectrum[] );
00521
00522
00546 void cdSPEC2(
00547 int Option ,
00548 long int nEnergy ,
00549 long int ipLoEnergy,
00550 long int ipHiEnergy,
00551 realnum ReturnedSpectrum[] );
00552
00570 int cdTemp(
00571 const char *chLabel,
00572 long int IonStage,
00573 double *TeMean,
00574 const char *chWeight );
00575
00580 void cdPrintCommands( FILE * );
00581
00583 void cdClosePunchFiles();
00584
00598 long int cdH2_Line(
00599
00600 long int iElecHi,
00601 long int iVibHi ,
00602 long int iRotHi ,
00603
00604 long int iElecLo,
00605 long int iVibLo ,
00606 long int iRotLo ,
00607
00608 double *relint,
00609
00610 double *absint );
00611
00612
00613
00617 extern bool lgcdInitCalled;
00618
00619 #endif