Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LinSv Class Reference

#include <lines.h>

Collaboration diagram for LinSv:

Public Member Functions

TransitionProxy getTransition ()
 
char chSumTyp () const
 
const char * chALab () const
 
const char * chCLab () const
 
bool isBlend () const
 
char LineType () const
 
void addComponent (const string &species, const double wavelength)
 
void addComponent (const LineID &line)
 
void addComponentID (long id)
 
void makeBlend (const char *species, const double wavelength, const double width)
 
void setBlendWavl ()
 
const TransitionProxy getComponent (long ind)
 
double SumLine (int i) const
 
void SumLineAdd (int i, double val)
 
void SumLineAccum (double cumulative_factor)
 
void SumLineZero ()
 
void SumLineZeroAccum ()
 
void SumLineThin ()
 
double emslin (int i) const
 
void emslinZero ()
 
void emslinSet (int i, double v)
 
void emslinThin ()
 
realnum wavelength () const
 
string chComment () const
 
void init (long index, char chSumTyp, const char *chComment, const char *label, const TransitionProxy &tr)
 
void prt (FILE *fp) const
 
string label () const
 
string biglabel () const
 
bool isCat (const char *s) const
 
bool isSeparator () const
 
bool isUnit () const
 
bool isUnitD () const
 
bool isInward () const
 
bool isInwardTotal () const
 
bool isInwardContinuum () const
 
bool isCollisional () const
 
bool isPump () const
 
bool isHeat () const
 
bool isCaseA () const
 
bool isCaseB () const
 
bool isNInu () const
 
bool isNFnu () const
 
bool isPhoPlus () const
 
bool isPcon () const
 
bool isQH () const
 
void checkEmergent (const long ipEmType) const
 

Private Types

enum  {
  DEFAULT, SEPARATOR, UNIT, UNITD,
  INWARD, INWARDTOTAL, INWARDCONTINUUM, COLLISIONAL,
  PUMP, HEAT, CASEA, CASEB,
  NINU, NFNU, PHOPLUS, PCON,
  QH
}
 

Private Member Functions

void chALabSet (const char *that)
 

Private Attributes

long m_index
 
char m_chSumTyp
 
char m_chALab [NCHLAB]
 
char m_chCLab [NCHLAB]
 
double m_SumLine [4]
 
double m_emslin [2]
 
string m_chComment
 
vector< long > m_component
 
TransitionProxy m_tr
 
enum LinSv:: { ... }  m_type
 

Detailed Description

this struc is different from above since only pointer here, will be allocated to form a large array after number of lines is counted. these are the main line save arrays

Member Enumeration Documentation

anonymous enum
private
Enumerator
DEFAULT 
SEPARATOR 
UNIT 
UNITD 
INWARD 
INWARDTOTAL 
INWARDCONTINUUM 
COLLISIONAL 
PUMP 
HEAT 
CASEA 
CASEB 
NINU 
NFNU 
PHOPLUS 
PCON 
QH 

Member Function Documentation

void LinSv::addComponent ( const string &  species,
const double  wavelength 
)

References wlAirVac().

Referenced by lines().

Here is the call graph for this function:

void LinSv::addComponent ( const LineID line)
void LinSv::addComponentID ( long  id)

References cdEXIT, EXIT_FAILURE, fprintf(), ioQQQ, t_LineSave::ipass, t_LineSave::lines, m_chComment, and m_component.

Referenced by addComponent(), makeBlend(), and setup_multiplet().

Here is the call graph for this function:

string LinSv::biglabel ( ) const

References TransitionProxy::associated(), DEBUG_ENTRY, TransitionProxy::Hi(), label(), TransitionProxy::Lo(), and m_tr.

Here is the call graph for this function:

const char* LinSv::chALab ( ) const
inline

the four char string label for the line

References m_chALab.

Referenced by isCat(), and label().

void LinSv::chALabSet ( const char *  that)
private

References ASSERT, caps(), m_chALab, m_chCLab, NCHLAB, and trimTrailingWhiteSpace().

Referenced by init().

Here is the call graph for this function:

const char* LinSv::chCLab ( ) const
inline

the four char string label for the line, all caps

References m_chCLab.

string LinSv::chComment ( ) const

comment describing the line

References m_chComment.

Referenced by init().

void LinSv::checkEmergent ( const long  ipEmType) const
inline

References ASSERT, fp_equal(), isBlend(), m_chSumTyp, m_index, m_SumLine, and t_LineSave::wavelength().

Here is the call graph for this function:

char LinSv::chSumTyp ( ) const
inline

one char saying whether heat 'h', cooling 'c', information, 'i'

References m_chSumTyp.

Referenced by init().

double LinSv::emslin ( int  i) const
inline

the emissivity, per unit vol, for current conditions,

References isBlend(), t_LineSave::lines, m_component, and m_emslin.

Referenced by cdEmis().

Here is the call graph for this function:

void LinSv::emslinSet ( int  i,
double  v 
)
inline

References isBlend(), and m_emslin.

Here is the call graph for this function:

void LinSv::emslinThin ( )
inline

References isBlend(), m_chSumTyp, and m_emslin.

Here is the call graph for this function:

void LinSv::emslinZero ( )
inline

References isBlend(), and m_emslin.

Referenced by init().

Here is the call graph for this function:

const TransitionProxy LinSv::getComponent ( long  ind)
inline

References t_LineSave::lines, and m_component.

TransitionProxy LinSv::getTransition ( )
inline

Return the TransitionProxy so that transition data can be extracted (col_str, Aul, etc.)

References m_tr.

void LinSv::init ( long  index,
char  chSumTyp,
const char *  chComment,
const char *  label,
const TransitionProxy tr 
)
bool LinSv::isBlend ( ) const
inline

integrated intensity of the line, [0] is intrinsic, [1] emergent [2] is intrinsic, [3] emergent

References m_component.

Referenced by checkEmergent(), emslin(), emslinSet(), emslinThin(), emslinZero(), setBlendWavl(), SumLine(), SumLineAccum(), SumLineAdd(), SumLineThin(), SumLineZero(), and SumLineZeroAccum().

bool LinSv::isCaseA ( ) const
inline

References CASEA, and m_type.

bool LinSv::isCaseB ( ) const
inline

References CASEB, and m_type.

bool LinSv::isCat ( const char *  s) const

References chALab(), and DEBUG_ENTRY.

Referenced by init().

Here is the call graph for this function:

bool LinSv::isCollisional ( ) const
inline

References COLLISIONAL, and m_type.

bool LinSv::isHeat ( ) const
inline

References HEAT, and m_type.

bool LinSv::isInward ( ) const
inline

References INWARD, and m_type.

bool LinSv::isInwardContinuum ( ) const
inline

References INWARDCONTINUUM, and m_type.

bool LinSv::isInwardTotal ( ) const
inline

References INWARDTOTAL, and m_type.

bool LinSv::isNFnu ( ) const
inline

References m_type, and NFNU.

bool LinSv::isNInu ( ) const
inline

References m_type, and NINU.

bool LinSv::isPcon ( ) const
inline

References m_type, and PCON.

bool LinSv::isPhoPlus ( ) const
inline

References m_type, and PHOPLUS.

bool LinSv::isPump ( ) const
inline

References m_type, and PUMP.

bool LinSv::isQH ( ) const
inline

References m_type, and QH.

bool LinSv::isSeparator ( ) const
inline

References m_type, and SEPARATOR.

bool LinSv::isUnit ( ) const
inline

References m_type, and UNIT.

bool LinSv::isUnitD ( ) const
inline

References m_type, and UNITD.

string LinSv::label ( ) const

References chALab(), DEBUG_ENTRY, NCHLAB, sprt_wl(), and wavelength().

Referenced by biglabel(), and prt().

Here is the call graph for this function:

char LinSv::LineType ( ) const
inline

References m_chSumTyp.

void LinSv::makeBlend ( const char *  species,
const double  wavelength,
const double  width 
)
void LinSv::prt ( FILE *  fp) const

References DEBUG_ENTRY, fprintf(), and label().

Here is the call graph for this function:

double LinSv::SumLine ( int  i) const
inline

References isBlend(), t_LineSave::lines, m_component, and m_SumLine.

Here is the call graph for this function:

void LinSv::SumLineAccum ( double  cumulative_factor)
inline

References isBlend(), and m_SumLine.

Here is the call graph for this function:

void LinSv::SumLineAdd ( int  i,
double  val 
)
inline

References isBlend(), and m_SumLine.

Here is the call graph for this function:

void LinSv::SumLineThin ( )
inline

References isBlend(), m_chSumTyp, and m_SumLine.

Here is the call graph for this function:

void LinSv::SumLineZero ( )
inline

References isBlend(), and m_SumLine.

Referenced by init().

Here is the call graph for this function:

void LinSv::SumLineZeroAccum ( )
inline

References isBlend(), and m_SumLine.

Here is the call graph for this function:

realnum LinSv::wavelength ( ) const
inline

the wavelength of the line

References m_index, and t_LineSave::wavelength().

Referenced by label(), and wavelength_compare().

Here is the call graph for this function:

Member Data Documentation

char LinSv::m_chALab[NCHLAB]
private

Referenced by chALab(), and chALabSet().

char LinSv::m_chCLab[NCHLAB]
private

Referenced by chALabSet(), and chCLab().

string LinSv::m_chComment
private

Referenced by addComponentID(), chComment(), and init().

char LinSv::m_chSumTyp
private
vector<long> LinSv::m_component
private
double LinSv::m_emslin[2]
private

the emissivity, per unit vol, for current conditions,

Referenced by emslin(), emslinSet(), emslinThin(), and emslinZero().

long LinSv::m_index
private
double LinSv::m_SumLine[4]
private
TransitionProxy LinSv::m_tr
private

Referenced by biglabel(), getTransition(), and init().


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