Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
transition.h File Reference
#include "emission.h"
#include "collision.h"
#include "quantumstate.h"
Include dependency graph for transition.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TransitionProxy
 
class  TransitionConstProxy
 
class  TransitionListImpl
 
class  TransitionList
 
class  ExtraInten
 

Typedefs

typedef map< std::string,
std::vector< TransitionProxy >
>::iterator 
blend_iterator
 

Functions

void PutLine (const TransitionProxy &t, const char *chComment)
 
void PutLine (const TransitionProxy &t, const char *chComment, const char *chLabel)
 
void PutLine (const TransitionProxy &t, const char *chComment, const char *chLabel, const ExtraInten &extra)
 
double TexcLine (const TransitionProxy &t)
 
void DumpLine (const TransitionProxy &t)
 
double emit_frac (const TransitionProxy &t)
 
double GetLineRec (long int ip, long int lWl)
 
string chIonLbl (const TransitionProxy &t)
 
string chIonLbl (const long &nelem, const long &IonStg)
 
string chLineLbl (const TransitionProxy &t)
 
void PutCS (double cs, const TransitionProxy &t)
 
string GenerateTransitionConfiguration (const TransitionProxy &t)
 
double OccupationNumberLine (const TransitionProxy &t)
 
void LineConvRate2CS (const TransitionProxy &t, realnum rate)
 
bool lgTauGood (const TransitionProxy &t)
 
void MakeCS (const TransitionProxy &t)
 
double phots (const TransitionProxy &t)
 

Variables

EmissionProxy DummyEmis
 
map< std::string, std::vector
< TransitionProxy > > 
blends
 

Typedef Documentation

typedef map<std::string,std::vector<TransitionProxy> >::iterator blend_iterator

Function Documentation

string chIonLbl ( const long &  nelem,
const long &  IonStg 
)
string chLineLbl ( const TransitionProxy t)
inline

chLineLbl use information in line transfer arrays to generate a line label
this label is null terminated

Parameters
*t

References TransitionProxy::chLabel().

Referenced by ContCreatePointers(), ConvIterCheck(), DumpLine(), PresTotCurrent(), PrtComment(), radius_next(), RT_continuum_shield_fcn(), RT_line_one_tau_reset(), Save1Line(), Save_Line_RT(), and SaveHeat().

Here is the call graph for this function:

double emit_frac ( const TransitionProxy t)
returns fraction of populations that produce emission
Parameters
*t

References ASSERT, TransitionProxy::associated(), EmissionProxy::Aul(), t_dense::cdsqte, CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, TransitionProxy::Emis(), TransitionProxy::ipCont(), EmissionProxy::Pdest(), and EmissionProxy::Pesc_total().

Referenced by lines().

Here is the call graph for this function:

string GenerateTransitionConfiguration ( const TransitionProxy t)

GenerateTransitionConfiguration - given const TransitionList::iterator &t, writes a label t->Lo->chConfig() - t->Hi->chConfig() (i.e., 2^3S - 2^3P)

Parameters
ttransition
Returns
comment string

References TransitionProxy::Hi(), and TransitionProxy::Lo().

Referenced by iso_comment_tran_levels().

Here is the call graph for this function:

double GetLineRec ( long int  ip,
long int  lWl 
)

References cdEXIT, DEBUG_ENTRY, dense, t_dense::eden, EXIT_FAILURE, fprintf(), ioQQQ, LineSave, t_LineSave::RecCoefCNO, and t_dense::xIonDense.

Referenced by lines().

Here is the call graph for this function:

bool lgTauGood ( const TransitionProxy t)
inline

lgTauGood returns true is we have good (positive) outward optical depths not true if we have overrun optical depth scale from previous iteration

Parameters
*t

References TransitionProxy::Emis(), iteration, EmissionProxy::TauIn(), and EmissionProxy::TauTot().

Referenced by RT_line_all_escape(), and RT_line_one_escape().

Here is the call graph for this function:

void LineConvRate2CS ( const TransitionProxy t,
realnum  rate 
)
convert down coll rate back into electron cs in case other parts of code need this for reference 
Parameters
*t- line struct collision strength is stored in t->cs
rate- deexcitation rate, units s-1

References ASSERT, t_dense::cdsqte, CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, and TransitionProxy::Hi().

Here is the call graph for this function:

void MakeCS ( const TransitionProxy t)

MakeCS compute collision strength by g-bar approximations

Parameters
*t

References CollisionProxy::col_str(), TransitionProxy::Coll(), DEBUG_ENTRY, dense, TransitionProxy::Emis(), TransitionProxy::EnergyK(), TransitionProxy::EnergyWN(), gbar0(), gbar1(), EmissionProxy::gf(), TransitionProxy::Hi(), and t_dense::xIonDense.

Referenced by dBaseUpdateCollCoeffs(), and HyperfineCreate().

Here is the call graph for this function:

double OccupationNumberLine ( const TransitionProxy t)

OccupationNumberLine - derive the photon occupation number at line center for any line

Parameters
*t

References ASSERT, DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::Hi(), TransitionProxy::ipCont(), TransitionProxy::Lo(), EmissionProxy::Pesc(), EmissionProxy::PopOpc(), and SMALLFLOAT.

Referenced by H21_cm_pops(), and SaveDo().

Here is the call graph for this function:

double phots ( const TransitionProxy t)
inline

References TransitionProxy::Emis(), TransitionProxy::EnergyErg(), and EmissionProxy::xIntensity().

Referenced by lindst(), lindst1(), lines_helium(), and RT_diffuse().

Here is the call graph for this function:

void PutCS ( double  cs,
const TransitionProxy t 
)

PutCS enter a collision strength into an individual line struc

Parameters
cs
*tthe line struc

References ASSERT, CollisionProxy::col_str(), TransitionProxy::Coll(), and DEBUG_ENTRY.

Referenced by CoolDima(), and CoolHyperfine().

Here is the call graph for this function:

void PutLine ( const TransitionProxy t,
const char *  chComment 
)
enter lines into the line storage array, called once per zone for each line
Parameters
xIntenxInten - local emissivity per unit vol, no fill fac
wavelengthlam integer wavelength
*chLabstring label for ion
chInfocharacter type of entry for line - 'c' cooling, 'h' heating, 'i' info only, 'r' recom line
*chCommentstring explaining line PutLine enter local line intensity into the intensity stack for eventual printout
*ttransition structure for line
*chCommenta description of the line

References DEBUG_ENTRY, NULL, and PutLine().

Here is the call graph for this function:

void PutLine ( const TransitionProxy t,
const char *  chComment,
const char *  chLabel 
)

PutLine enter local line intensity into the intensity stack for eventual printout

Parameters
*ttransition structure for line
*chCommenta description of the line
*chLabelthe line label

References DEBUG_ENTRY, and PutLine().

Here is the call graph for this function:

double TexcLine ( const TransitionProxy t)

TexcLine derive excitation temperature of line from contents of line array

Parameters
*t

References DEBUG_ENTRY, TransitionProxy::EnergyK(), TransitionProxy::Hi(), TransitionProxy::Lo(), and SMALLFLOAT.

Referenced by DumpLine(), H21_cm_pops(), HyperfineTspin(), radius_increment(), and SaveDo().

Here is the call graph for this function:

Variable Documentation

map<std::string,std::vector<TransitionProxy> > blends

Referenced by ParseMonitorResults().

EmissionProxy DummyEmis
Todo:
2 bring these two together.

AddLine2Stack add generic emission line to GenericLines and return pointer to that state.

Referenced by TransitionProxy::Emis(), and InitDefaultsPreparse().