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
00231
00232
00233
00234 int LineType );
00235
00236
00243 void cdLine_ip(long int ipLine,
00244 double *relint,
00245 double *absint ,
00246
00247
00248
00249
00250 int LineType );
00251 void cdLine_ip(long int ipLine,
00252 double *relint,
00253 double *absint );
00254
00283 int cdColm(const char*, long, double* );
00284
00288 double cdH2_colden( long iVib , long iRot );
00289
00305
00306 long int cdEmis(
00307 char *chLabel,
00308 realnum wavelength,
00309 double *emiss );
00310
00311 long int cdEmis(
00312 char *chLabel,
00313 realnum wavelength,
00314 double *emiss ,
00315 bool lgEmergent );
00316
00317
00323 void cdEmis_ip(
00324 long int ipLine,
00325 double *emiss ,
00326 bool lgEmergent);
00327
00331 double cdCooling_last();
00332
00336 double cdHeating_last();
00337
00339 double cdEDEN_last();
00340
00347 void cdPressure_last(
00348 double *TotalPressure,
00349 double *GasPressure,
00350 double *RadiationPressure);
00351
00362 void cdPressure_depth(
00363 double TotalPressure[],
00364 double GasPressure[],
00365 double RadiationPressure[]);
00366
00370 double cdTemp_last();
00371
00392 int cdIonFrac(
00393 const char *chLabel,
00394 long int IonStage,
00395 double *fracin,
00396 const char *chWeight ,
00397 bool lgDensity );
00398
00403 void cdVersion(char chString[] );
00404
00409 void cdDate(char chString[] );
00410
00411
00412
00413
00414
00415
00417 void cdSetExecTime();
00418
00421 double cdExecTime();
00422
00449 long int cdGetLineList(
00450 const char chFile[],
00451 vector<char*>& chLabels,
00452 vector<realnum>& wl);
00453
00461 void cdTimescales(
00462 double *TTherm ,
00463 double *THRecom ,
00464 double *TH2 );
00465
00466
00467
00468
00469
00470
00471
00472
00473
00474
00475
00476
00478 extern long int nFeIIBands;
00479
00481 extern long int nFeIIConBins;
00482
00483
00487 extern realnum **FeII_Bands;
00488
00489
00490
00493 extern realnum **FeII_Cont;
00494
00495
00522 void cdSPEC(
00523 int Option ,
00524 long int nEnergy ,
00525 double ReturnedSpectrum[] );
00526
00527
00551 void cdSPEC2(
00552 int Option ,
00553 long int nEnergy ,
00554 long int ipLoEnergy,
00555 long int ipHiEnergy,
00556 realnum ReturnedSpectrum[] );
00557
00575 int cdTemp(
00576 const char *chLabel,
00577 long int IonStage,
00578 double *TeMean,
00579 const char *chWeight );
00580
00585 void cdPrintCommands( FILE * );
00586
00588 void cdClosePunchFiles();
00589
00603 long int cdH2_Line(
00604
00605 long int iElecHi,
00606 long int iVibHi ,
00607 long int iRotHi ,
00608
00609 long int iElecLo,
00610 long int iVibLo ,
00611 long int iRotLo ,
00612
00613 double *relint,
00614
00615 double *absint );
00616
00617
00618
00622 extern bool lgcdInitCalled;
00623
00624 #endif