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
462 for(
int ion=0; ion < nelem+2; ++ion )
480 virtual void operator()(
long&,
long&,
const char*,
long&) = 0;
492 virtual void operator()(
long& ipHi,
long& ipLo,
const char* chLine,
long& i)
496 long index = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL );
502 ipHi = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL ) - 1;
503 ipLo = (long)
FFmtRead( chLine, &i, strlen(chLine), &lgEOL ) - 1;
515 virtual void operator()(
long& ipHi,
long& ipLo,
const char* chLine,
long& i)
532 stringstream Comment;
533 if( clo.length() > 0 && chi.length() > 0 )
534 Comment << clo <<
" -- " << chi;
535 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:515
void comment(t_warnings &)
Definition: atmdat.h:264
bool lgStoutLevelsSet
Definition: atmdat.h:414
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:394
realnum WaveLengthCaseB[8][25][24]
Definition: atmdat.h:356
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:301
long ntemps(long ipHi, long ipLo, long ipCollider)
Definition: atmdat.h:115
bool lgChiantiLevelsSet
Definition: atmdat.h:387
double EIonPot[LIMELM][LIMELM]
Definition: atmdat.h:282
double HCharHeatOn
Definition: atmdat.h:301
char chStoutFile[FILENAME_PATH_LENGTH]
Definition: atmdat.h:407
#define NHSDIM
Definition: atmdat.h:252
void alloc()
Definition: container_classes.h:1078
const long nDefaultCollLevelsFe
Definition: atmdat.h:365
bool lgChiantiLvl2Hybrid
Definition: atmdat.h:375
vector< double > m_collstrs
Definition: atmdat.h:79
double ScalingParam
Definition: atmdat.h:38
bool lgStoutOn
Definition: atmdat.h:401
double getIonPot(long int nelem, long int ion)
Definition: atmdat.h:290
double CHIANTI_Upsilon(long, long, long, long, double)
Definition: species2.cpp:869
long nStoutMaxLevelsFe
Definition: atmdat.h:409
double ChargTranSumHeat(void)
Definition: atmdat_char_tran.cpp:569
long nLamdaMaxLevels
Definition: atmdat.h:396
double HCharCoolMax
Definition: atmdat.h:301
long int ncut[2][HS_NZ]
Definition: atmdat.h:338
bool lgIsRate
Definition: atmdat.h:72
long m_ntemps
Definition: atmdat.h:47
CollIonRC CIRCData
Definition: atmdat.h:442
Funct * FunctPtr
Definition: atmdat.h:486
bool lgChiantiPrint
Definition: atmdat.h:377
bool lgCollIonOn
Definition: atmdat.h:350
bool lgHCaseBOK[2][HS_NZ]
Definition: atmdat.h:343
FILE * ioQQQ
Definition: cddefines.cpp:7
long int nsbig
Definition: atmdat.h:346
bool lgGbarOn
Definition: atmdat.h:420
double HIonFracMax
Definition: atmdat.h:318
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:520
FunctDiatoms(const diatomics &diatom)
Definition: atmdat.h:514
long int ntemp[2][HS_NZ]
Definition: atmdat.h:336
long intTranType
Definition: atmdat.h:36
#define NLINEHS
Definition: atmdat.h:253
CollIonRC
Definition: atmdat.h:441
double CharExcRecTotal[NCX]
Definition: atmdat.h:311
double CharExcIonTotal[NCX]
Definition: atmdat.h:311
virtual ~Funct()=0
Definition: atmdat.h:484
bool lgStoutLvl2Hybrid
Definition: atmdat.h:403
virtual void operator()(long &, long &, const char *, long &)=0
bool lgdBaseSourceExists[LIMELM][LIMELM+1]
Definition: atmdat.h:450
multi_arr< long, 2 > ipSpecIon
Definition: atmdat.h:453
vector< double > m_temps
Definition: atmdat.h:79
long offset() const
Definition: atmdat.h:67
long int nDensity[2][HS_NZ]
Definition: atmdat.h:336
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:392
static const double aulThreshold
Definition: atmdat.h:436
bool lgChiantiOn
Definition: atmdat.h:373
char chdBaseSources[LIMELM][LIMELM+1][10]
Definition: atmdat.h:448
double * temps(long ipHi, long ipLo, long ipCollider)
Definition: atmdat.h:120
bool lgCalpgmOn
Definition: atmdat.h:418
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:381
const long nDefaultMolLevels
Definition: atmdat.h:369
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:492
const long nDefaultPhotoLevels
Definition: atmdat.h:363
double HCharExcRecTo_N0_2D
Definition: atmdat.h:308
double collstrDefault
Definition: atmdat.h:425
long nStoutMaxLevels
Definition: atmdat.h:412
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:530
double Density[2][HS_NZ][NHSDIM]
Definition: atmdat.h:330
double Emiss[2][HS_NZ][NHSDIM][NHSDIM][NLINEHS]
Definition: atmdat.h:330
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:385
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:445
bool lgUTAprint
Definition: atmdat.h:432
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:361
void ChargTranPun(FILE *ipPnunit, char *chSave)
Definition: atmdat_char_tran.cpp:945
bool lgInnerShell_Kisielius
Definition: atmdat.h:430
const int LIMELM
Definition: cddefines.h:318
vector< double > temps
Definition: atmdat.h:16
const long nDefaultCollLevels
Definition: atmdat.h:367
t_atmdat()
Definition: atmdat.h:455
#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:428
double HIonFrac
Definition: atmdat.h:315
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:405
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:326
vector< realnum > CaseBWlHeI
Definition: atmdat.h:359
multi_arr< long, 4 > OP_Helike_NumPts
Definition: atmdat.cpp:65
long ntemps()
Definition: atmdat.h:50
double HCTAlex
Definition: atmdat.h:322
void alloc(long nHi, long, long nCollider)
Definition: atmdat.h:87
bool lgLamdaOn
Definition: atmdat.h:390
void LoadIsotopes()
Definition: isotopes.cpp:9
void ChargTranEval(void)
Definition: atmdat_char_tran.cpp:44
double CharExcIonOf[NCX][LIMELM][LIMELM+1]
Definition: atmdat.h:301
vector< double > SplineSecDer
Definition: atmdat.h:33
long nChiantiMaxLevelsFe
Definition: atmdat.h:383
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:379
double CharExcRecTo[NCX][LIMELM][LIMELM+1]
Definition: atmdat.h:301
double atmdat_2phot_shapefunction(double EbyE2nu, long ipISO, long nelem)
Definition: atmdat_2photon.cpp:230
FunctLAMDA(void)
Definition: atmdat.h:491
bool lgLamdaLevelsSet
Definition: atmdat.h:398
double ElecTemp[2][HS_NZ][NHSDIM]
Definition: atmdat.h:330
double FFmtRead(const char *chCard, long int *ipnt, long int last, bool *lgEOL)
Definition: service.cpp:393