80 static long ilev(
long ipHi,
long ipLo)
83 return (ipHi*(ipHi-1))/2+ipLo;
87 void alloc(
long nHi,
long ,
long nCollider)
95 void junk(
long ipHi,
long ipLo,
long ipCollider)
97 m_a[
ilev(ipHi,ipLo)][ipCollider].junk();
99 bool&
lgIsRate(
long ipHi,
long ipLo,
long ipCollider)
101 return m_a[
ilev(ipHi,ipLo)][ipCollider].lgIsRate;
105 void setpoints(
long ipHi,
long ipLo,
long ipCollider,
long npoints)
108 long length = offset+npoints;
112 m_a[
ilev(ipHi,ipLo)][ipCollider].setslice(offset,npoints);
115 long ntemps(
long ipHi,
long ipLo,
long ipCollider)
117 return m_a[
ilev(ipHi,ipLo)][ipCollider].ntemps();
120 double*
temps(
long ipHi,
long ipLo,
long ipCollider)
125 double*
collstrs(
long ipHi,
long ipLo,
long ipCollider)
236 long int iHi,
long int iLo,
long int iZ,
double TempIn,
256 #define NUM_HS98_DATA_POINTS 811
451 for(
int ion=0; ion < nelem+2; ++ion )
469 virtual void operator()(
long&,
long&,
const char*,
long&) = 0;
481 virtual void operator()(
long& ipHi,
long& ipLo,
const char* chLine,
long& i)
485 long index = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL );
491 ipHi = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL ) - 1;
492 ipLo = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL ) - 1;
504 virtual void operator()(
long& ipHi,
long& ipLo,
const char* chLine,
long& i)
521 stringstream Comment;
522 if( clo.length() > 0 && chi.length() > 0 )
523 Comment << clo <<
" -- " << chi;
524 return Comment.str();
double InterpCollRate(const CollRateCoeffArray &rate_table, const long &ipHi, const long &ipLo, const double &ftemp)
Definition: atmdat.cpp:188
virtual void operator()(long &ipHi, long &ipLo, const char *chLine, long &i)
Definition: atmdat.h:504
void comment(t_warnings &)
Definition: atmdat.h:264
bool lgStoutLevelsSet
Definition: atmdat.h:403
Definition: warnings.h:11
void atmdat_CHIANTI_readin(long intNS, const string &chFileName)
Definition: atmdat_chianti.cpp:668
const char * chName() const
Definition: atmdat.h:259
char chLamdaFile[FILENAME_PATH_LENGTH]
Definition: atmdat.h:383
realnum WaveLengthCaseB[8][25][24]
Definition: atmdat.h:345
void ReadCollisionRateTable(CollRateCoeffArray &coll_rate_table, FILE *io, FunctPtr GetIndices, long nMolLevs, long nTemps=-1, long nTrans=-1)
Definition: atmdat.cpp:67
multi_arr< vector< double >, 4 > OP_Helike_Xsectn
Definition: atmdat.cpp:63
void junk()
Definition: atmdat.h:55
multi_arr< double, 3 > collrates
Definition: atmdat.h:18
double HCharHeatMax
Definition: atmdat.h:290
long ntemps(long ipHi, long ipLo, long ipCollider)
Definition: atmdat.h:115
bool lgStoutHybrid
Definition: atmdat.h:392
bool lgChiantiLevelsSet
Definition: atmdat.h:376
double EIonPot[LIMELM][LIMELM]
Definition: atmdat.h:282
double HCharHeatOn
Definition: atmdat.h:290
char chStoutFile[FILENAME_PATH_LENGTH]
Definition: atmdat.h:396
#define NHSDIM
Definition: atmdat.h:252
void alloc()
Definition: container_classes.h:1078
const long nDefaultCollLevelsFe
Definition: atmdat.h:354
vector< double > m_collstrs
Definition: atmdat.h:79
double ScalingParam
Definition: atmdat.h:38
bool lgStoutOn
Definition: atmdat.h:390
double CHIANTI_Upsilon(long, long, long, long, double)
Definition: species2.cpp:869
long nStoutMaxLevelsFe
Definition: atmdat.h:398
double ChargTranSumHeat(void)
Definition: atmdat_char_tran.cpp:569
long nLamdaMaxLevels
Definition: atmdat.h:385
double HCharCoolMax
Definition: atmdat.h:290
long int ncut[2][HS_NZ]
Definition: atmdat.h:327
bool lgIsRate
Definition: atmdat.h:72
long m_ntemps
Definition: atmdat.h:47
CollIonRC CIRCData
Definition: atmdat.h:431
Funct * FunctPtr
Definition: atmdat.h:475
bool lgChiantiPrint
Definition: atmdat.h:366
bool lgCollIonOn
Definition: atmdat.h:339
bool lgHCaseBOK[2][HS_NZ]
Definition: atmdat.h:332
FILE * ioQQQ
Definition: cddefines.cpp:7
long int nsbig
Definition: atmdat.h:335
bool lgGbarOn
Definition: atmdat.h:409
double HIonFracMax
Definition: atmdat.h:307
multi_arr< double, 4 > HS_He1_Xsectn
Definition: atmdat.cpp:61
void GetIndices(long &ipHi, long &ipLo, const char *chLine, long &i) const
Definition: mole_h2_coll.cpp:202
const diatomics & diatom_
Definition: atmdat.h:509
FunctDiatoms(const diatomics &diatom)
Definition: atmdat.h:503
long int ntemp[2][HS_NZ]
Definition: atmdat.h:325
long intTranType
Definition: atmdat.h:36
#define NLINEHS
Definition: atmdat.h:253
CollIonRC
Definition: atmdat.h:430
double CharExcRecTotal[NCX]
Definition: atmdat.h:300
double CharExcIonTotal[NCX]
Definition: atmdat.h:300
virtual ~Funct()=0
Definition: atmdat.h:473
virtual void operator()(long &, long &, const char *, long &)=0
bool lgdBaseSourceExists[LIMELM][LIMELM+1]
Definition: atmdat.h:439
multi_arr< long, 2 > ipSpecIon
Definition: atmdat.h:442
bool lgChiantiHybrid
Definition: atmdat.h:364
vector< double > m_temps
Definition: atmdat.h:79
long offset() const
Definition: atmdat.h:67
long int nDensity[2][HS_NZ]
Definition: atmdat.h:325
void setpoints(long ipHi, long ipLo, long ipCollider, long npoints)
Definition: atmdat.h:105
void setslice(long offset, long ntemps)
Definition: atmdat.h:62
double EnergyDiff
Definition: atmdat.h:37
multi_arr< double, 4 > HS_He1_Energy
Definition: atmdat.cpp:62
bool lgLamdaPrint
Definition: atmdat.h:381
static const double aulThreshold
Definition: atmdat.h:425
bool lgChiantiOn
Definition: atmdat.h:362
char chdBaseSources[LIMELM][LIMELM+1][10]
Definition: atmdat.h:437
double * temps(long ipHi, long ipLo, long ipCollider)
Definition: atmdat.h:120
bool lgCalpgmOn
Definition: atmdat.h:407
static long ilev(long ipHi, long ipLo)
Definition: atmdat.h:80
void atmdat_H_phot_cs(void)
void atmdat_LAMDA_readin(long intNS, const string &chFileName)
Definition: atmdat_lamda.cpp:28
double atmdat_dielrec_fe(long int ion, double t)
Definition: atmdat_dielrec_fe.cpp:8
char chCloudyChiantiFile[FILENAME_PATH_LENGTH]
Definition: atmdat.h:370
const long nDefaultMolLevels
Definition: atmdat.h:358
void atmdat_STOUT_readin(long intNS, const string &chFileName)
Definition: atmdat_chianti.cpp:107
long nSplinePts
Definition: atmdat.h:35
virtual void operator()(long &ipHi, long &ipLo, const char *chLine, long &i)
Definition: atmdat.h:481
const long nDefaultPhotoLevels
Definition: atmdat.h:352
double HCharExcRecTo_N0_2D
Definition: atmdat.h:297
double collstrDefault
Definition: atmdat.h:414
long nStoutMaxLevels
Definition: atmdat.h:401
float realnum
Definition: cddefines.h:127
#define EXIT_FAILURE
Definition: cddefines.h:175
void zero()
Definition: atmdat.cpp:9
long max(int a, long b)
Definition: cddefines.h:821
#define cdEXIT(FAIL)
Definition: cddefines.h:480
string db_comment_tran_levels(const string &clo="", const string &chi="")
Definition: atmdat.h:519
double Density[2][HS_NZ][NHSDIM]
Definition: atmdat.h:319
double Emiss[2][HS_NZ][NHSDIM][NHSDIM][NLINEHS]
Definition: atmdat.h:319
double atmdat_HS_caseB(long int iHi, long int iLo, long int iZ, double TempIn, double DenIn, char chCase)
Definition: atmdat_HS_caseb.cpp:7
t_atmdat atmdat
Definition: atmdat.cpp:7
long nChiantiMaxLevels
Definition: atmdat.h:374
CollSplinesArray()
Definition: atmdat.h:39
void atmdat_outer_shell(long int iz, long int in, long int *imax, long int *ig0, long int *ig1)
Definition: atmdat_outer_shell.cpp:8
string chVersion
Definition: atmdat.h:434
bool lgUTAprint
Definition: atmdat.h:421
bool & lgIsRate(long ipHi, long ipLo, long ipCollider)
Definition: atmdat.h:99
#define HS_NZ
Definition: atmdat.h:254
long m_offset
Definition: atmdat.h:47
const long nDefaultPhotoLevelsFe
Definition: atmdat.h:350
void ChargTranPun(FILE *ipPnunit, char *chSave)
Definition: atmdat_char_tran.cpp:945
bool lgInnerShell_Kisielius
Definition: atmdat.h:419
const int LIMELM
Definition: cddefines.h:318
vector< double > temps
Definition: atmdat.h:16
const long nDefaultCollLevels
Definition: atmdat.h:356
t_atmdat()
Definition: atmdat.h:444
#define DEBUG_ENTRY(funcname)
Definition: cddefines.h:730
void junk(long ipHi, long ipLo, long ipCollider)
Definition: atmdat.h:95
bool lgInnerShellLine_on
Definition: atmdat.h:417
double HIonFrac
Definition: atmdat.h:304
multi_arr< StoutColls, 2 > m_a
Definition: atmdat.h:78
double * collstrs(long ipHi, long ipLo, long ipCollider)
Definition: atmdat.h:125
const int FILENAME_PATH_LENGTH
Definition: cddefines.h:303
bool lgStoutPrint
Definition: atmdat.h:394
void atmdat_readin(void)
Definition: atmdat_readin.cpp:80
int fprintf(const Output &stream, const char *format,...)
Definition: service.cpp:1325
multi_arr< vector< double >, 4 > OP_Helike_Energy
Definition: atmdat.cpp:64
bool lgCTOn
Definition: atmdat.h:315
vector< realnum > CaseBWlHeI
Definition: atmdat.h:348
multi_arr< long, 4 > OP_Helike_NumPts
Definition: atmdat.cpp:65
long ntemps()
Definition: atmdat.h:50
double HCTAlex
Definition: atmdat.h:311
void alloc(long nHi, long, long nCollider)
Definition: atmdat.h:87
bool lgLamdaOn
Definition: atmdat.h:379
void LoadIsotopes()
Definition: isotopes.cpp:9
void ChargTranEval(void)
Definition: atmdat_char_tran.cpp:44
double CharExcIonOf[NCX][LIMELM][LIMELM+1]
Definition: atmdat.h:290
vector< double > SplineSecDer
Definition: atmdat.h:33
long nChiantiMaxLevelsFe
Definition: atmdat.h:372
void atmdat_3body(void)
Definition: atmdat_3body.cpp:52
const int ipHYDROGEN
Definition: cddefines.h:359
vector< double > collspline
Definition: atmdat.h:32
bool lgChiantiExp
Definition: atmdat.h:368
double CharExcRecTo[NCX][LIMELM][LIMELM+1]
Definition: atmdat.h:290
double atmdat_2phot_shapefunction(double EbyE2nu, long ipISO, long nelem)
Definition: atmdat_2photon.cpp:230
FunctLAMDA(void)
Definition: atmdat.h:480
bool lgLamdaLevelsSet
Definition: atmdat.h:387
double ElecTemp[2][HS_NZ][NHSDIM]
Definition: atmdat.h:319
double FFmtRead(const char *chCard, long int *ipnt, long int last, bool *lgEOL)
Definition: service.cpp:393