cloudy trunk
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | Friends
EmissionProxy Class Reference

#include <emission.h>

Collaboration diagram for EmissionProxy:
Collaboration graph
[legend]

Public Types

typedef EmissionList list_type
 
typedef ProxyIterator< EmissionProxy, EmissionConstProxyiterator
 
typedef ProxyIterator< EmissionConstProxy, EmissionConstProxyconst_iterator
 

Public Member Functions

 EmissionProxy ()
 
 EmissionProxy (EmissionList *list, int index)
 
void copy (const EmissionProxy &other)
 
void check () const
 
int & iRedisFun () const
 
long int & ipFine () const
 
realnumTauIn () const
 
realnumTauTot () const
 
iter_track_basic< realnum > & TauTrack () const
 
realnumTauCon () const
 
realnumFracInwd () const
 
double & pump () const
 
double & xIntensity () const
 
double & phots () const
 
realnumgf () const
 
realnumPesc () const
 
realnumPelec_esc () const
 
realnumPdest () const
 
realnum Pesc_total () const
 
realnumdampXvel () const
 
realnumdamp () const
 
double & ColOvTot () const
 
realnumAutoIonizFrac () const
 
realnumopacity () const
 
double & PopOpc () const
 
realnumAul () const
 
double & ots () const
 
int & ipTran () const
 
TransitionProxy Tran () const
 

Private Attributes

EmissionListm_list
 
int m_index
 

Friends

class ProxyIterator< EmissionProxy, EmissionConstProxy >
 

Detailed Description

Definition at line 14 of file emission.h.

Member Typedef Documentation

◆ const_iterator

Definition at line 19 of file emission.h.

◆ iterator

Definition at line 18 of file emission.h.

◆ list_type

Definition at line 17 of file emission.h.

Constructor & Destructor Documentation

◆ EmissionProxy() [1/2]

EmissionProxy::EmissionProxy ( )
inlineexplicit

Definition at line 25 of file emission.h.

◆ EmissionProxy() [2/2]

EmissionProxy::EmissionProxy ( EmissionList list,
int  index 
)
inlineexplicit

Definition at line 26 of file emission.h.

Member Function Documentation

◆ Aul()

realnum & EmissionProxy::Aul ( ) const
inline

◆ AutoIonizFrac()

realnum & EmissionProxy::AutoIonizFrac ( ) const
inline

[dimensionless] branching ratio to auto-ionization, Sum(Aai) / ( Sum(Aul) + Sum(Aai) )

Definition at line 583 of file emission.h.

References EmissionList::m_AutoIonizFrac, m_index, and m_list.

Referenced by atmdat_readin(), copy(), EmLineJunk(), and ReadBadnellAIData().

◆ check()

void EmissionProxy::check ( ) const
inline

all of these are set to dangerous values by EmLineJunk

Definition at line 30 of file emission.h.

References ASSERT, and ipTran().

Here is the call graph for this function:

◆ ColOvTot()

double & EmissionProxy::ColOvTot ( ) const
inline

[dimensionless] ratio of collisional to radiative excitation, C_lu / ( C_lu + pump )

Definition at line 573 of file emission.h.

References EmissionList::m_ColOvTot, m_index, and m_list.

Referenced by atom_level2(), atom_level3(), AtomSeqBeryllium(), AtomSeqBoron(), copy(), EmLineJunk(), EmLineZero(), FeIIIntenZero(), FeIILevelPops(), and PutLine_base().

◆ copy()

void EmissionProxy::copy ( const EmissionProxy other)
inline

◆ damp()

realnum & EmissionProxy::damp ( ) const
inline

◆ dampXvel()

realnum & EmissionProxy::dampXvel ( ) const
inline

damping constant is dampXvel divided by line width units are velocity, since becomes dimensionless when div by line width in cm/2 [cm s-1]

Definition at line 553 of file emission.h.

References EmissionList::m_dampXvel, m_index, and m_list.

Referenced by atmdat_readin(), copy(), FeIIPoint(), InitDefaultsPreparse(), iso_collapsed_lifetimes_update(), iso_create(), lindst(), radius_next(), ReadBadnellAIData(), RT_line_one(), RT_LineWidth(), and Save1Line().

◆ FracInwd()

realnum & EmissionProxy::FracInwd ( ) const
inline

inward fraction [dimensionless] of total line emission

Definition at line 463 of file emission.h.

References EmissionList::m_FracInwd, m_index, and m_list.

Referenced by copy(), EmLineJunk(), EmLineZero(), FeIICreate(), FeIISumBand(), lines_general(), PutLine_base(), RT_line_escape(), RT_line_one(), RT_line_one_tau_reset(), RT_tau_init(), and RTesc_lya().

◆ gf()

realnum & EmissionProxy::gf ( ) const
inline

◆ ipFine()

long int & EmissionProxy::ipFine ( ) const
inline

index for line within fine continuum array, for line overlap

Definition at line 413 of file emission.h.

References m_index, EmissionList::m_ipFine, and m_list.

Referenced by ContCreatePointers(), copy(), EmLineJunk(), FeIIPoint(), InitDefaultsPreparse(), PressureRadiationLine(), RT_line_fine_opacity(), and RT_line_one_tauinc().

◆ ipTran()

int & EmissionProxy::ipTran ( ) const
inline

Definition at line 493 of file emission.h.

References m_index, EmissionList::m_ipTran, and m_list.

Referenced by check(), copy(), TransitionProxy::resetEmis(), and Tran().

◆ iRedisFun()

int & EmissionProxy::iRedisFun ( ) const
inline

type of redistribution function, -1 complete redis Doppler core only, 0 insanity 1 incomplete redistribution with damping wings, 2 complete redistribution with damping wings,

Definition at line 403 of file emission.h.

References m_index, EmissionList::m_iRedisFun, and m_list.

Referenced by atmdat_readin(), copy(), DrvContPump(), EmLineJunk(), FeIICreate(), InitDefaultsPreparse(), iso_create(), ReadBadnellAIData(), RT_continuum_shield_fcn(), RT_line_escape(), RT_line_one(), and RT_line_pumping().

◆ opacity()

realnum & EmissionProxy::opacity ( ) const
inline

atomic constant part of line opacity per atom, divide by line width in cm/s, to get line center opacity per atom, or absorption cross section, with units cm^2 multiply by PopOpc to get PopOpc/dopper width, the true opacity (cm-1), then by length to get optical depth

Definition at line 593 of file emission.h.

References m_index, m_list, and EmissionList::m_opacity.

Referenced by copy(), DrvContPump(), EmLineJunk(), FeIIPoint(), InitDefaultsPreparse(), iso_create(), PressureRadiationLine(), radius_next(), RT_line_all(), RT_line_electron_scatter(), RT_line_escape(), RT_line_fine_opacity(), RT_line_one_tauinc(), RT_line_pumping(), RT_tau_init(), RT_tau_reset(), and RTesc_lya().

◆ ots()

double & EmissionProxy::ots ( ) const
inline

ots rate [cm-3 s-1]

Definition at line 623 of file emission.h.

References m_index, m_list, and EmissionList::m_ots.

Referenced by atom_level2(), copy(), DumpLine(), EmLineJunk(), EmLineZero(), FeII_OTS(), FeIICreate(), FeIIIntenZero(), lines_hydro(), and RT_OTS().

◆ Pdest()

realnum & EmissionProxy::Pdest ( ) const
inline

◆ Pelec_esc()

realnum & EmissionProxy::Pelec_esc ( ) const
inline

◆ Pesc()

realnum & EmissionProxy::Pesc ( ) const
inline

◆ Pesc_total()

realnum EmissionProxy::Pesc_total ( ) const
inline

total escape prob, from line and continuum scattering [dimensionless]

Definition at line 114 of file emission.h.

References Pelec_esc(), and Pesc().

Here is the call graph for this function:

◆ phots()

double & EmissionProxy::phots ( ) const
inline

number of photons emitted in the line per unit time and vol [photons s-1 cm-3]

Definition at line 503 of file emission.h.

References m_index, m_list, and EmissionList::m_phots.

Referenced by atom_level2(), atom_level3(), AtomSeqBeryllium(), AtomSeqBoron(), copy(), DoSatelliteLines(), EmLineJunk(), EmLineZero(), FeIICreate(), FeIIIntenZero(), FeIILevelPops(), lines_helium(), lines_hydro(), RT_diffuse(), and RT_line_one_tau_reset().

◆ PopOpc()

double & EmissionProxy::PopOpc ( ) const
inline

◆ pump()

double & EmissionProxy::pump ( ) const
inline

continuum pumping rate [s-1] from lower to upper level, A*occ num * g_up/g_lo, this is evaluated in RTMakeStat and RTMakeWind, which are called by HydroPEsc, RT_line_all

Definition at line 473 of file emission.h.

References m_index, m_list, and EmissionList::m_pump.

Referenced by atom_level2(), atom_level3(), AtomSeqBeryllium(), AtomSeqBoron(), copy(), DoSatelliteLines(), DumpLine(), EmLineJunk(), EmLineZero(), FeIIAccel(), FeIILevelPops(), iso_level(), IterStart(), PutLine_base(), radius_next(), RT_line_all(), RT_line_driving(), RT_line_one(), RT_line_pumping(), Save_Line_RT(), SaveDo(), and SaveHeat().

◆ TauCon()

realnum & EmissionProxy::TauCon ( ) const
inline

TauCon - line optical depth [Napier] to the continuum source from the illuminated face to the current position. For an open or expanding closed geometry TauCon is equal to TauIn. For a static closed geometry TauCon is optical depth from the illuminated face to the current depth

Definition at line 453 of file emission.h.

References m_index, m_list, and EmissionList::m_TauCon.

Referenced by cdTemp(), conpmp(), copy(), EmLineJunk(), RT_continuum_shield_fcn(), RT_line_one_tau_reset(), RT_line_one_tauinc(), RT_line_pumping(), RT_tau_init(), RT_tau_reset(), SaveDo(), and TauZero().

◆ TauIn()

realnum & EmissionProxy::TauIn ( ) const
inline

optical depths - the escape probability is derived only from TauIn on first iteration. on later iterations it is the average ofesc prob in inward (TauIn) and outward (TauTot - TauIn) directions TauIn - the inward line optical depth [Napier], in the direction of the continuum source.
This is measured from the illuminated face of the cloud to the current position on the first iteration, and on second and later iterations in an open geometry or in an expanding closed geometry. For a static spherical geometry TauIn is the sum of the optical depth from the current position to the illuminated face plus the optical depth on the "other side". At the illuminated face in a static spherical geometry TauIn is TauTot / 2

Definition at line 423 of file emission.h.

References m_index, m_list, and EmissionList::m_TauIn.

Referenced by ConvIterCheck(), copy(), DrvContPump(), DumpLine(), EmLineJunk(), FeIILyaPump(), FeIIPunchOpticalDepth(), FeIISaveLines(), lgTauGood(), lines_helium(), prme(), PrtComment(), PunFeII(), radius_next(), RT_line_escape(), RT_line_one_tau_reset(), RT_line_one_tauinc(), RT_LineWidth(), RT_stark(), RT_tau_init(), RT_tau_reset(), RTesc_lya(), Save1Line(), Save_Line_RT(), SaveDo(), SaveHeat(), and TauZero().

◆ TauTot()

realnum & EmissionProxy::TauTot ( ) const
inline

TauTot - total line optical depth [Napier] through the cloud. TauTot is not used on the first iteration since it is not known.
On second and later iterations in an open or expanding closed geometry this is the total optical depth through the computed structure.
For a static closed geometry this is twice the computed structure since the geometry is assumed to be symmetric.

when the double command is entered TauTot is set to twice the normal value to simulate the presence of material beyond the computed structure.

Definition at line 433 of file emission.h.

References m_index, m_list, and EmissionList::m_TauTot.

Referenced by ConvIterCheck(), copy(), DumpLine(), EmLineJunk(), FeIILyaPump(), lgTauGood(), lines_helium(), PrtComment(), RT_line_escape(), RT_line_one_tau_reset(), RT_line_one_tauinc(), RT_LineWidth(), RT_tau_init(), RT_tau_reset(), RTesc_lya(), SaveDo(), and TauZero().

◆ TauTrack()

iter_track_basic< realnum > & EmissionProxy::TauTrack ( ) const
inline

TauTrack - track convergence of TauIn / TauTot This class will detect oscillations and adjust the next estimate for TauIn / TauTot if this occurs

Definition at line 443 of file emission.h.

References m_index, m_list, and EmissionList::m_TauTrack.

Referenced by copy(), and RT_line_one_tau_reset().

◆ Tran()

TransitionProxy EmissionProxy::Tran ( ) const
inline

Definition at line 475 of file transition.h.

References TransitionProxy::check(), ipTran(), m_list, and EmissionList::m_tlist.

Here is the call graph for this function:

◆ xIntensity()

double & EmissionProxy::xIntensity ( ) const
inline

Friends And Related Function Documentation

◆ ProxyIterator< EmissionProxy, EmissionConstProxy >

Definition at line 19 of file emission.h.

Field Documentation

◆ m_index

int EmissionProxy::m_index
private

◆ m_list

EmissionList* EmissionProxy::m_list
private

The documentation for this class was generated from the following files: