|
Cloudy
Spectral Synthesis Code for Astrophysics
|
#include <lines.h>

Public Member Functions | |
| TransitionProxy | getTransition () |
| char | chSumTyp () const |
| const char * | chALab () const |
| const char * | chCLab () const |
| bool | isBlend () const |
| char | LineType () const |
| void | addComponentID (long id) |
| void | makeBlend (const char *species, const t_wavl &wavelength, const realnum 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 () |
| void | prt_blend () const |
| realnum | wavlVac () const |
| t_wavl | twav () const |
| string | chComment () const |
| void | init (long index, char chSumTyp, const char *chComment, const char *label, const TransitionProxy &tr) |
| Initializes a LinSv object with the provided parameters and sets its type based on the label. | |
| void | prt (FILE *fp) const |
| string | label () const |
| string | biglabel () const |
| bool | isCat (const char *s) const |
| Checks if the last four characters of the line label match the given string. | |
| 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 |
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
|
private |
| void LinSv::addComponentID | ( | long | id | ) |
References cdEXIT, EXIT_FAILURE, fprintf(), ioQQQ, LineSave, m_chComment, and m_component.
Referenced by lines(), makeBlend(), and setup_multiplet().

| string LinSv::biglabel | ( | ) | const |
|
inline |
|
private |
|
inline |
the four char string label for the line, all caps
References m_chCLab.
| string LinSv::chComment | ( | ) | const |
|
inline |
References ASSERT, fp_equal(), isBlend(), LineSave, m_chSumTyp, m_index, and m_SumLine.

|
inline |
one char saying whether heat 'h', cooling 'c', information, 'i'
References m_chSumTyp.
Referenced by init().
|
inline |
the emissivity, per unit vol, for current conditions,
References isBlend(), LineSave, m_component, and m_emslin.
Referenced by cdEmis().

|
inline |
|
inline |
|
inline |
|
inline |
References LineSave, and m_component.
|
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 ) |
Initializes a LinSv object with the provided parameters and sets its type based on the label.
This function sets up the LinSv object by assigning the given index, sum type, comment, label, and transition proxy. It also determines the line type by examining the last four characters of the label and assigns the corresponding enumeration value to the member variable m_type. The m_type member variable categorizes the line according to its physical or logical meaning (such as separator, unit, inward line, collisional, etc.), which is essential for subsequent processing and interpretation of the line data.
| index | The index of the line in the array; must be non-negative. |
| chSumTyp | Character indicating the sum type; must be one of 'c', 'h', 'i', 'r', or 't'. |
| chComment | A comment string describing the line. |
| label | The label associated with the line, used to determine its type. |
| tr | The TransitionProxy object associated with this line. |
Sets the line type based on the last four characters of the label.
This block checks if the last four characters of the line label match specific strings (such as "####", "Unit", "UntD", "Inwd", "InwC", "InwT") and assigns the corresponding enumeration value to m_type. This allows the code to categorize lines as separators, units, inward lines, etc., based on their label.
References ASSERT, CASEA, CASEB, chALabSet(), chComment(), chSumTyp(), COLLISIONAL, DEBUG_ENTRY, DEFAULT, emslinZero(), HEAT, INWARD, INWARDCONTINUUM, INWARDTOTAL, isCat(), label(), m_chComment, m_chSumTyp, m_index, m_tr, m_type, NFNU, NINU, PCON, PHOPLUS, PUMP, QH, SEPARATOR, SumLineZero(), UNIT, and UNITD.

|
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(), prt_blend(), setBlendWavl(), SumLine(), SumLineAccum(), SumLineAdd(), SumLineThin(), SumLineZero(), and SumLineZeroAccum().
| bool LinSv::isCat | ( | const char * | s | ) | const |
Checks if the last four characters of the line label match the given string.
This function retrieves the label associated with the current line (via chALab()), extracts its last four characters (or the entire label if it is shorter than four characters), and compares it to the input string s.
| s | The string to compare against the last four characters of the line label. |
s, false otherwise. References chALab(), and DEBUG_ENTRY.
Referenced by init().

|
inline |
References COLLISIONAL, and m_type.
|
inline |
References INWARDCONTINUUM, and m_type.
|
inline |
References INWARDTOTAL, and m_type.
| string LinSv::label | ( | ) | const |
References chALab(), DEBUG_ENTRY, NCHLAB, t_wavl::sprt_wl(), and twav().
Referenced by biglabel(), init(), prt(), and prt_blend().

|
inline |
References m_chSumTyp.
References addComponentID(), caps(), cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, LineSave, NCHLAB, and t_wavl::wavlVac().

| void LinSv::prt | ( | FILE * | fp | ) | const |
| void LinSv::prt_blend | ( | ) | const |
prt_blend - print to .out blend components and their intensities
References fprintf(), ioQQQ, isBlend(), label(), LineSave, and m_component.
Referenced by lines_helium().

| void LinSv::setBlendWavl | ( | ) |
References EmissionProxy::Aul(), TransitionProxy::Emis(), TransitionProxy::EnergyWN(), qStateProxy::g(), TransitionProxy::Hi(), isBlend(), LineSave, m_component, m_index, and wn2angVac().
Referenced by lines(), and setup_multiplet().

|
inline |
References isBlend(), LineSave, m_component, and m_SumLine.

|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
Referenced by chALab(), and chALabSet().
|
private |
Referenced by chALabSet(), and chCLab().
|
private |
Referenced by addComponentID(), chComment(), and init().
|
private |
Referenced by checkEmergent(), chSumTyp(), emslinThin(), init(), LineType(), and SumLineThin().
|
private |
Referenced by addComponentID(), emslin(), getComponent(), isBlend(), prt_blend(), setBlendWavl(), and SumLine().
|
private |
the emissivity, per unit vol, for current conditions,
Referenced by emslin(), emslinSet(), emslinThin(), and emslinZero().
|
private |
Referenced by checkEmergent(), init(), setBlendWavl(), twav(), and wavlVac().
|
private |
Referenced by checkEmergent(), SumLine(), SumLineAccum(), SumLineAdd(), SumLineThin(), SumLineZero(), and SumLineZeroAccum().
|
private |
Referenced by biglabel(), getTransition(), and init().
| enum { ... } LinSv::m_type |
Referenced by init(), isCaseA(), isCaseB(), isCollisional(), isHeat(), isInward(), isInwardContinuum(), isInwardTotal(), isNFnu(), isNInu(), isPcon(), isPhoPlus(), isPump(), isQH(), isSeparator(), isUnit(), and isUnitD().