cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Member Functions | Private Attributes
LinSv Class Reference

#include <lines.h>

Collaboration diagram for LinSv:
Collaboration graph
[legend]

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 char *species, const double wavelength)
 
void addComponentID (long id)
 
void makeBlend (const char *species, const double wavelength, const double width)
 
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 malloced to form a large array after number of lines is counted. these are the main line save arrays

Definition at line 157 of file lines.h.

Member Enumeration Documentation

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

Definition at line 168 of file lines.h.

Member Function Documentation

void LinSv::addComponent ( const char *  species,
const double  wavelength 
)

Definition at line 194 of file lines.cpp.

References addComponentID(), cdEXIT, EXIT_FAILURE, t_LineSave::findline(), fprintf(), ioQQQ, t_LineSave::ipass, and wlAirVac().

Referenced by lines(), and lines_molecules().

Here is the call graph for this function:

void LinSv::addComponentID ( long  id)

Definition at line 178 of file lines.cpp.

References t_LineSave::lines, m_chComment, and m_component.

Referenced by addComponent(), and makeBlend().

string LinSv::biglabel ( ) const

Definition at line 53 of file lines.cpp.

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

Definition at line 188 of file lines.h.

References m_chALab.

Referenced by isCat(), and label().

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

Definition at line 75 of file lines.cpp.

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

Definition at line 193 of file lines.h.

References m_chCLab.

string LinSv::chComment ( ) const

comment describing the line

Definition at line 258 of file lines.cpp.

References m_chComment.

Referenced by init().

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

Definition at line 402 of file lines.h.

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'

Definition at line 182 of file lines.h.

References m_chSumTyp.

Referenced by init().

double LinSv::emslin ( int  i) const
inline

the emissivity, per unit vol, for current conditions,

Definition at line 279 of file lines.h.

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

Definition at line 311 of file lines.h.

References isBlend(), and m_emslin.

Here is the call graph for this function:

void LinSv::emslinThin ( )
inline

Definition at line 316 of file lines.h.

References isBlend(), m_chSumTyp, and m_emslin.

Here is the call graph for this function:

void LinSv::emslinZero ( )
inline

Definition at line 303 of file lines.h.

References isBlend(), and m_emslin.

Referenced by init().

Here is the call graph for this function:

const TransitionProxy LinSv::getComponent ( long  ind)
inline

Definition at line 215 of file lines.h.

References t_LineSave::lines, and m_component.

Referenced by lines().

TransitionProxy LinSv::getTransition ( )
inline

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

Definition at line 176 of file lines.h.

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

Definition at line 203 of file lines.h.

References m_component.

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

bool LinSv::isCaseA ( ) const
inline

Definition at line 373 of file lines.h.

References CASEA, and m_type.

bool LinSv::isCaseB ( ) const
inline

Definition at line 377 of file lines.h.

References CASEB, and m_type.

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

Definition at line 69 of file lines.cpp.

References chALab(), and DEBUG_ENTRY.

Referenced by init().

Here is the call graph for this function:

bool LinSv::isCollisional ( ) const
inline

Definition at line 361 of file lines.h.

References COLLISIONAL, and m_type.

bool LinSv::isHeat ( ) const
inline

Definition at line 369 of file lines.h.

References HEAT, and m_type.

bool LinSv::isInward ( ) const
inline

Definition at line 349 of file lines.h.

References INWARD, and m_type.

bool LinSv::isInwardContinuum ( ) const
inline

Definition at line 357 of file lines.h.

References INWARDCONTINUUM, and m_type.

bool LinSv::isInwardTotal ( ) const
inline

Definition at line 353 of file lines.h.

References INWARDTOTAL, and m_type.

bool LinSv::isNFnu ( ) const
inline

Definition at line 385 of file lines.h.

References m_type, and NFNU.

bool LinSv::isNInu ( ) const
inline

Definition at line 381 of file lines.h.

References m_type, and NINU.

bool LinSv::isPcon ( ) const
inline

Definition at line 393 of file lines.h.

References m_type, and PCON.

bool LinSv::isPhoPlus ( ) const
inline

Definition at line 389 of file lines.h.

References m_type, and PHOPLUS.

bool LinSv::isPump ( ) const
inline

Definition at line 365 of file lines.h.

References m_type, and PUMP.

bool LinSv::isQH ( ) const
inline

Definition at line 397 of file lines.h.

References m_type, and QH.

bool LinSv::isSeparator ( ) const
inline

Definition at line 337 of file lines.h.

References m_type, and SEPARATOR.

bool LinSv::isUnit ( ) const
inline

Definition at line 341 of file lines.h.

References m_type, and UNIT.

bool LinSv::isUnitD ( ) const
inline

Definition at line 345 of file lines.h.

References m_type, and UNITD.

string LinSv::label ( ) const

Definition at line 41 of file lines.cpp.

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

Definition at line 207 of file lines.h.

References m_chSumTyp.

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

Definition at line 210 of file lines.cpp.

References addComponentID(), caps(), cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), INPUT_LINE_LENGTH, ioQQQ, t_LineSave::ipass, t_LineSave::lines, NCHLAB, t_LineSave::nsum, t_LineSave::wavelength(), and wlAirVac().

Referenced by lines().

Here is the call graph for this function:

void LinSv::prt ( FILE *  fp) const

Definition at line 35 of file lines.cpp.

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

Here is the call graph for this function:

double LinSv::SumLine ( int  i) const
inline

Definition at line 223 of file lines.h.

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

Definition at line 252 of file lines.h.

References isBlend(), and m_SumLine.

Here is the call graph for this function:

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

Definition at line 247 of file lines.h.

References isBlend(), and m_SumLine.

Here is the call graph for this function:

void LinSv::SumLineThin ( )
inline

Definition at line 272 of file lines.h.

References isBlend(), m_chSumTyp, and m_SumLine.

Here is the call graph for this function:

void LinSv::SumLineZero ( )
inline

Definition at line 262 of file lines.h.

References isBlend(), and m_SumLine.

Referenced by init().

Here is the call graph for this function:

void LinSv::SumLineZeroAccum ( )
inline

Definition at line 267 of file lines.h.

References isBlend(), and m_SumLine.

Here is the call graph for this function:

realnum LinSv::wavelength ( ) const
inline

the wavelength of the line

Definition at line 323 of file lines.h.

References m_index, and t_LineSave::wavelength().

Referenced by label(), and wavelength_compare().

Here is the call graph for this function:

Field Documentation

char LinSv::m_chALab[NCHLAB]
private

Definition at line 160 of file lines.h.

Referenced by chALab(), and chALabSet().

char LinSv::m_chCLab[NCHLAB]
private

Definition at line 161 of file lines.h.

Referenced by chALabSet(), and chCLab().

string LinSv::m_chComment
private

Definition at line 165 of file lines.h.

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

char LinSv::m_chSumTyp
private

Definition at line 159 of file lines.h.

Referenced by checkEmergent(), chSumTyp(), emslinThin(), init(), LineType(), and SumLineThin().

vector<long> LinSv::m_component
private

Definition at line 166 of file lines.h.

Referenced by addComponentID(), emslin(), getComponent(), isBlend(), and SumLine().

double LinSv::m_emslin[2]
private

the emissivity, per unit vol, for current conditions,

Definition at line 164 of file lines.h.

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

long LinSv::m_index
private

Definition at line 158 of file lines.h.

Referenced by checkEmergent(), init(), and wavelength().

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

Definition at line 167 of file lines.h.

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

enum { ... } LinSv::m_type

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