cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lines_service.h
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2022 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 
4 #ifndef LINES_SERVICE_H_
5 #define LINES_SERVICE_H_
6 
7 class LinSv;
8 
10  double xInten,
12  const char *chLab,
13  char chInfo ,
14  const char *chComment );
15 
16 /*outline_base - adds line photons to reflin and outlin */
17 void outline_base(double dampXvel, double damp, bool lgTransStackLine, long int ip, double phots, realnum inwd,
18  double nonScatteredFraction);
19 
20 /*outline_base_bin - adds line photons to bins of reflin and outlin */
21 void outline_base_bin(bool lgTransStackLine, long int ip, double phots, realnum inwd,
22  double nonScatteredFraction);
23 
33 void lindst(double xInten,
35  const char *chLab,
36  long int ipnt,
37  char chInfo,
38  bool lgOutToo,
39  const char *chComment);
40 
52 void lindst(double dampXvel,
53  double damp,
54  double xInten,
56  const char *chLab,
57  long int ipnt,
58  char chInfo,
59  bool lgOutToo,
60  const char *chComment);
61 
71 class TransitionProxy;
72 class ExtraInten;
73 void lindst(
74  const TransitionProxy &t,
75  const ExtraInten &extra,
76  const char *chLab,
77  char chInfo,
78  bool lgOutToo,
79  const char *chComment);
80 
86 double emergent_line(
87  /* emissivity [erg cm-3 s-1] in inward direction */
88  double emissivity_in ,
89  /* emissivity [erg cm-3 s-1] in outward direction */
90  double emissivity_out ,
91  /* array index for continuum frequency */
92  long int ipCont );
93 
100 void PntForLine(double wavelength,
101  const char *chLabel,
102  long int *ipnt);
103 
109 double GetGF(double eina,
110  double enercm,
111  double gup);
112 
118 double eina(double gf,
119  double enercm,
120  double gup);
121 
127 double abscf(double gf,
128  double enercm,
129  double gl);
130 
132 #define LOWDEN_LYMAN 0
133 
139 realnum wlAirVac( double wlAir );
140 
145 double RefIndex(double EnergyWN);
146 
147 
155 realnum WavlenErrorGet( realnum wavelength, long sig_figs );
156 
161 double ConvRate2CS( realnum gHi , realnum rate );
162 
169 double ConvCrossSect2CollStr( double CrsSectCM2, double gLo, double E_ProjectileRyd, double reduced_mass_grams );
170 
177 double totlin(
178  int chInfo);
179 
180 
184 const TransitionProxy FndLineHt(long int *level);
185 
186 /*set_xIntensity: compute gross and net number of emitted line photons */
187 void set_xIntensity( const TransitionProxy &t );
188 
193 inline double wn2ang( double fenergyWN )
194 {
195  return 1e+8 / SDIV( fenergyWN * RefIndex( fenergyWN ) );
196 }
197 
198 #endif /* LINES_SERVICE_H_ */
double wn2ang(double fenergyWN)
realnum WavlenErrorGet(realnum wavelength, long sig_figs)
double abscf(double gf, double enercm, double gl)
double eina(double gf, double enercm, double gup)
void set_xIntensity(const TransitionProxy &t)
void lindst(double xEmiss, realnum wavelength, const char *chLab, long int ipnt, char chInfo, bool lgOutToo, const char *chComment)
double RefIndex(double EnergyWN)
double phots(const TransitionProxy &t)
Definition: transition.h:670
string chComment() const
Definition: lines.cpp:258
void PntForLine(double wavelength, const char *chLabel, long int *ipnt)
void outline_base_bin(bool lgTransStackLine, long int ip, double phots, realnum inwd, double nonScatteredFraction)
double ConvRate2CS(realnum gHi, realnum rate)
LinSv * linadd(double xEmiss, realnum wavelength, const char *chLab, char chInfo, const char *chComment)
const TransitionProxy FndLineHt(long int *level)
float realnum
Definition: cddefines.h:124
realnum wlAirVac(double wlAir)
double totlin(int chInfo)
double GetGF(double trans_prob, double enercm, double gup)
void outline_base(double dampXvel, double damp, bool lgTransStackLine, long int ip, double phots, realnum inwd, double nonScatteredFraction)
static vector< realnum > wavelength
double ConvCrossSect2CollStr(double CrsSectCM2, double gLo, double E_ProjectileRyd, double reduced_mass_grams)
double emergent_line(double emissivity_in, double emissivity_out, long int ipCont)
sys_float SDIV(sys_float x)
Definition: cddefines.h:1002
Definition: lines.h:157