cloudy trunk
|
00001 /* This file is part of Cloudy and is copyright (C)1978-2008 by Gary J. Ferland and 00002 * others. For conditions of distribution and use see copyright notice in license.txt */ 00003 00004 #ifndef _LINES_SERVICE_H_ 00005 #define _LINES_SERVICE_H_ 00006 00007 00009 void outline( transition *t ); 00010 00018 void linadd( 00019 double xInten, 00020 realnum wavelength, 00021 const char *chLab, 00022 char chInfo , 00023 const char *chComment ); 00024 00034 void lindst(double xInten, 00035 realnum wavelength, 00036 const char *chLab, 00037 long int ipnt, 00038 char chInfo, 00039 bool lgOutToo, 00040 const char *chComment); 00041 00047 double emergent_line( 00048 /* emissivity [erg cm-3 s-1] in inward direction */ 00049 double emissivity_in , 00050 /* emissivity [erg cm-3 s-1] in outward direction */ 00051 double emissivity_out , 00052 /* array index for continuum frequency */ 00053 long int ipCont ); 00054 00061 void PntForLine(double wavelength, 00062 const char *chLabel, 00063 long int *ipnt); 00064 00069 void PutLine(transition * t, const char *chComment); 00070 00076 void PutLine(transition * t, const char *chComment, const char *chLabel); 00077 00081 double TexcLine(transition * t); 00082 00086 void DumpLine(transition * t); 00087 00093 double GetGF(double eina, 00094 double enercm, 00095 double gup); 00096 00102 double eina(double gf, 00103 double enercm, 00104 double gup); 00105 00111 double abscf(double gf, 00112 double enercm, 00113 double gl); 00114 00116 #define LOWDEN_LYMAN 0 00117 00121 double emit_frac( transition *t ); 00122 00126 void chIonLbl( char*, transition * t ); 00127 00132 char* chLineLbl(transition * t ); 00133 00138 double RefIndex(double EnergyWN); 00139 00140 00145 void PutCS(double cs, 00146 transition * t); 00147 00155 realnum WavlenErrorGet( realnum wavelength ); 00156 00160 double OccupationNumberLine( transition * t ); 00161 00165 void PutExtra(double Extra); 00166 00170 void TransitionJunk( transition *t ); 00171 00175 void EmLineJunk( emission * t ); 00176 00180 void CollisionJunk( collision * t ); 00181 00185 void StateJunk( quantumState * t ); 00186 00190 void TransitionZero( transition *t ); 00191 00195 void EmLineZero( emission * t ); 00196 00200 void CollisionZero( collision * t ); 00201 00205 void StateZero( quantumState * t ); 00206 00211 void LineConvRate2CS( transition * t , realnum rate ); 00212 00217 double ConvRate2CS( realnum gHi , realnum rate ); 00218 00222 bool lgTauGood( transition * t); 00223 00227 void MakeCS(transition * t ); 00228 00235 double totlin( 00236 int chInfo); 00237 00238 00244 void FndLineHt(long int *level, 00245 00246 long int *ipStrong, 00247 double *Strong); 00248 00250 quantumState *AddState2Stack( void ); 00251 00254 emission *AddLine2Stack( bool lgRadiativeTrans ); 00255 emission *AddLine2Stack( realnum Aul, transition *trans ); 00256 00257 00258 #endif /* _LINES_SERVICE_H_ */