94 static long ilev(
long ipHi,
long ipLo)
97 return (ipHi*(ipHi-1))/2+ipLo;
101 void alloc(
long nHi,
long ,
long nCollider)
109 void junk(
long ipHi,
long ipLo,
long ipCollider)
111 m_a[
ilev(ipHi,ipLo)][ipCollider].junk();
113 bool&
lgIsRate(
long ipHi,
long ipLo,
long ipCollider)
115 return m_a[
ilev(ipHi,ipLo)][ipCollider].lgIsRate;
119 void setpoints(
long ipHi,
long ipLo,
long ipCollider,
long npoints)
122 long length = offset+npoints;
125 m_a[
ilev(ipHi,ipLo)][ipCollider].setslice(offset,npoints);
128 long ntemps(
long ipHi,
long ipLo,
long ipCollider)
130 return m_a[
ilev(ipHi,ipLo)][ipCollider].ntemps();
133 double*
temps(
long ipHi,
long ipLo,
long ipCollider)
138 double*
collstrs(
long ipHi,
long ipLo,
long ipCollider)
249 long int iHi,
long int iLo,
long int iZ,
double TempIn,
269 #define NUM_HS98_DATA_POINTS 811
464 virtual void operator()(
long&,
long&,
const char*,
long&) = 0;
476 virtual void operator()(
long& ipHi,
long& ipLo,
const char* chLine,
long& i)
480 long index = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL );
486 ipHi = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL ) - 1;
487 ipLo = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL ) - 1;
499 virtual void operator()(
long& ipHi,
long& ipLo,
const char* chLine,
long& i)
517 stringstream Comment;
518 Comment << ipLoFile <<
" " << ipHiFile;
519 return Comment.str();
virtual void operator()(long &ipHi, long &ipLo, const char *chLine, long &i)
void comment(t_warnings &)
const char * chName() const
char chLamdaFile[FILENAME_PATH_LENGTH]
realnum WaveLengthCaseB[8][25][24]
multi_arr< double, 3 > collrates
long ntemps(long ipHi, long ipLo, long ipCollider)
char chStoutFile[FILENAME_PATH_LENGTH]
const long nDefaultCollLevelsFe
vector< double > m_collstrs
double CHIANTI_Upsilon(long, long, long, long, double)
double ChargTranSumHeat(void)
void atmdat_STOUT_readin(long intNS, char *chFileName)
bool lgHCaseBOK[2][HS_NZ]
void GetIndices(long &ipHi, long &ipLo, const char *chLine, long &i) const
const diatomics & diatom_
FunctDiatoms(const diatomics &diatom)
char chVersion[iVersionLength]
double CharExcRecTotal[NCX]
double CharExcIonTotal[NCX]
virtual void operator()(long &, long &, const char *, long &)=0
bool lgdBaseSourceExists[LIMELM][LIMELM+1]
long int nDensity[2][HS_NZ]
void setpoints(long ipHi, long ipLo, long ipCollider, long npoints)
void setslice(long offset, long ntemps)
static const double aulThreshold
char chdBaseSources[LIMELM][LIMELM+1][10]
double * temps(long ipHi, long ipLo, long ipCollider)
static long ilev(long ipHi, long ipLo)
void atmdat_H_phot_cs(void)
double **** HS_He1_Xsectn
double atmdat_dielrec_fe(long int ion, double t)
char chCloudyChiantiFile[FILENAME_PATH_LENGTH]
const long nDefaultMolLevels
virtual void operator()(long &ipHi, long &ipLo, const char *chLine, long &i)
const long nDefaultPhotoLevels
double HCharExcRecTo_N0_2D
double InterpCollRate(const CollRateCoeffArray &rate_table, const long &ipHi, const long &ipLo, const double &ftemp)
double ***** OP_Helike_Xsectn
double Density[2][HS_NZ][NHSDIM]
double Emiss[2][HS_NZ][NHSDIM][NHSDIM][NLINEHS]
double atmdat_HS_caseB(long int iHi, long int iLo, long int iZ, double TempIn, double DenIn, char chCase)
void atmdat_outer_shell(long int iz, long int in, long int *imax, long int *ig0, long int *ig1)
bool & lgIsRate(long ipHi, long ipLo, long ipCollider)
const long nDefaultPhotoLevelsFe
void ChargTranPun(FILE *ipPnunit, char *chSave)
bool lgInnerShell_Kisielius
string db_comment_tran_levels(long ipLoFile, long ipHiFile)
const long nDefaultCollLevels
double **** HS_He1_Energy
vector< vector< long > > ipSpecIon
void atmdat_LAMDA_readin(long intNS, char *chFileName)
#define DEBUG_ENTRY(funcname)
double ***** OP_Helike_Energy
void junk(long ipHi, long ipLo, long ipCollider)
long **** OP_Helike_NumPts
multi_arr< StoutColls, 2 > m_a
double * collstrs(long ipHi, long ipLo, long ipCollider)
const int FILENAME_PATH_LENGTH
int fprintf(const Output &stream, const char *format,...)
void atmdat_CHIANTI_readin(long intNS, char *chFileName)
vector< realnum > CaseBWlHeI
void alloc(long nHi, long, long nCollider)
double CharExcIonOf[NCX][LIMELM][LIMELM+1]
void ReadCollisionRateTable(CollRateCoeffArray &coll_rate_table, FILE *io, FunctPtr GetIndices, long nMolLevs, long nTemps, long nTrans)
double CharExcRecTo[NCX][LIMELM][LIMELM+1]
double atmdat_2phot_shapefunction(double EbyE2nu, long ipISO, long nelem)
static const int iVersionLength
double ElecTemp[2][HS_NZ][NHSDIM]
double FFmtRead(const char *chCard, long int *ipnt, long int last, bool *lgEOL)