cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Macros | Functions | Variables
prt_lines_helium.cpp File Reference
#include "cddefines.h"
#include "dense.h"
#include "prt.h"
#include "helike.h"
#include "iso.h"
#include "atmdat.h"
#include "lines.h"
#include "phycon.h"
#include "taulines.h"
#include "thirdparty.h"
#include "trace.h"
#include "freebound.h"
#include "two_photon.h"
#include "lines_service.h"
Include dependency graph for prt_lines_helium.cpp:

Go to the source code of this file.

Data Structures

struct  stdLines
 

Macros

#define NUMTEMPS   21
 
#define NUMDENS   14
 
#define chLine_LENGTH   1000
 

Functions

STATIC void GetStandardHeLines (void)
 
STATIC double TempInterp2 (double *TempArray, double *ValueArray, long NumElements, double Te)
 
STATIC void DoSatelliteLines (long nelem)
 
STATIC void insert_trans (vector< TransitionProxy > &trList, TransitionProxy tr)
 
STATIC void multiplet_sum (vector< TransitionProxy > &trList, realnum &av_wl, double &sum_inten, double &sum_obs_inten, double &sum_cool, double &sum_heat)
 
STATIC void PutLineSum (const TransitionProxy &tr, const realnum av_wl, const double sumxInt, const double sumxObsInt, const double sumcool, const double sumheat, const char *chComment)
 
STATIC realnum get_multiplet_wl (vector< TransitionProxy > &multiHe, long ipHi, long ipLo)
 
STATIC void randomize_inten (t_iso_sp *sp, long ipLo, long ipHi)
 
void lines_helium (void)
 
char * read_data_line (char *chLine, int size, FILE *ioDATA)
 

Variables

static bool lgFirstRun = true
 
static double CaBDensities [NUMDENS]
 
static double CaBTemps [NUMTEMPS]
 
static long NumLines
 
static double **** CaBIntensity
 
static stdLines ** CaBLines
 

Macro Definition Documentation

#define chLine_LENGTH   1000
#define NUMDENS   14

Definition at line 21 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().

#define NUMTEMPS   21

Definition at line 20 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().

Function Documentation

STATIC void DoSatelliteLines ( long  nelem)
STATIC realnum get_multiplet_wl ( vector< TransitionProxy > &  multiHe,
long  ipHi,
long  ipLo 
)
inline

Definition at line 106 of file prt_lines_helium.cpp.

Referenced by lines_helium().

STATIC void GetStandardHeLines ( void  )
Todo:
2 - this structure is currently only used for helium itself... stuff numbers in for other elements, or drop the [nelem] dimension off of CaBLines

Definition at line 607 of file prt_lines_helium.cpp.

References ASSERT, atmdat, CaBDensities, CaBIntensity, CaBTemps, CASEBMAGIC, t_atmdat::CaseBWlHeI, cdEXIT, chLine_LENGTH, DEBUG_ENTRY, dense, EXIT_FAILURE, FFmtRead(), fprintf(), ioQQQ, ipHE_LIKE, ipHELIUM, stdLines::ipHi, stdLines::ipLo, iso_sp, t_dense::lgElmtOn, t_trace::lgTrace, LIMELM, MALLOC, t_iso_sp::nCollapsed_max, NUMDENS, NumLines, NUMTEMPS, open_data(), read_data_line(), read_whole_line(), strchr_s(), TotalInsanity(), trace, t_iso_sp::trans(), and TransitionProxy::WLAng().

Referenced by lines_helium().

Here is the call graph for this function:

STATIC void insert_trans ( vector< TransitionProxy > &  trList,
TransitionProxy  tr 
)

Definition at line 44 of file prt_lines_helium.cpp.

References TransitionProxy::ipCont().

Referenced by lines_helium().

Here is the call graph for this function:

void lines_helium ( void  )
STATIC void multiplet_sum ( vector< TransitionProxy > &  trList,
realnum av_wl,
double &  sum_inten,
double &  sum_obs_inten,
double &  sum_cool,
double &  sum_heat 
)

Definition at line 54 of file prt_lines_helium.cpp.

Referenced by lines_helium().

STATIC void PutLineSum ( const TransitionProxy tr,
const realnum  av_wl,
const double  sumxInt,
const double  sumxObsInt,
const double  sumcool,
const double  sumheat,
const char *  chComment 
)
inline
STATIC void randomize_inten ( t_iso_sp sp,
long  ipLo,
long  ipHi 
)
inline

Definition at line 122 of file prt_lines_helium.cpp.

References TransitionProxy::Emis(), t_iso_sp::ex, IPRAD, t_iso_sp::trans(), EmissionProxy::xIntensity(), and EmissionProxy::xObsIntensity().

Referenced by lines_helium().

Here is the call graph for this function:

char* read_data_line ( char *  chLine,
int  size,
FILE *  ioDATA 
)
inline

Definition at line 594 of file prt_lines_helium.cpp.

References read_whole_line().

Referenced by GetStandardHeLines().

Here is the call graph for this function:

STATIC double TempInterp2 ( double *  TempArray,
double *  ValueArray,
long  NumElements,
double  Te 
)
Todo:
there is a virtually identical routine in helike_recom.cpp -> combine

Definition at line 788 of file prt_lines_helium.cpp.

References ASSERT, DEBUG_ENTRY, hunt_bisect(), lagrange(), max(), and min().

Referenced by lines_helium().

Here is the call graph for this function:

Variable Documentation

double CaBDensities[NUMDENS]
static

Definition at line 36 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().

double**** CaBIntensity
static

Definition at line 39 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().

stdLines** CaBLines
static

Definition at line 40 of file prt_lines_helium.cpp.

double CaBTemps[NUMTEMPS]
static

Definition at line 37 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().

bool lgFirstRun = true
static

Definition at line 35 of file prt_lines_helium.cpp.

Referenced by lines_helium().

long NumLines
static

Definition at line 38 of file prt_lines_helium.cpp.

Referenced by GetStandardHeLines(), and lines_helium().