28         bool lgStopZone = 
true;
 
   57                         if( a <= 10. && !p.
nMatch(
"LINE") )
 
   70                                         " Temperatures below %.2e K not allowed. Reset to lowest value." 
   71                                         "   I am doing this myself.\n" ,
 
   79                                         " Temperatures is above %.2e K not allowed. Reset to highest value." 
   80                                         "   I am doing this myself.\n" ,
 
  120                         fprintf( 
ioQQQ, 
" First number on STOP 21CM OPTICAL DEPTH command must be 21\n" );
 
  139         else if( p.
nMatch(
"OPTI") )
 
  145                         p.
NoNumb(
"optical depth");
 
  182                         else if( p.
nMatch(
"BALM") )
 
  189                                 fprintf( 
ioQQQ, 
" There must be a second number, the energy in Ryd.  Sorry.\n" );
 
  205                                 fprintf( 
ioQQQ, 
" The energy must be in the range %10.2e to %10.2e.  It was %10.2e. Sorry.\n", 
 
  226         else if( p.
nMatch(
" AV ") )
 
  232                         p.
NoNumb(
"optical depth in V");
 
  259                         p.
NoNumb(
"molecular depletion");
 
  272         else if( p.
nMatch(
"VELO") )
 
  278                         p.
NoNumb(
"flow velocity");
 
  285         else if( p.
nMatch(
"MASS") )
 
  324                 const double convl = p.
nMatch(
"PARS") ? log10( PARSEC ) : 0.;
 
  325                 bool lgStopRadius = p.
nMatch(
"RADI") ? 
true : false ;
 
  326                 const char* what = lgStopRadius ? 
"radius" : 
"thickness";
 
  332                                 a = log10(a) + convl;
 
  336                                 fprintf(
ioQQQ,
"The %s is negative and linear is set - this is impossible.\n", what);
 
  371                                                 a = log10(a) + convl;
 
  376                                                         " this is impossible.\n", what);
 
  418         else if( p.
nMatch(
"ZONE") )
 
  455                         fprintf(
ioQQQ,
"CAUTION - it will take a lot of memory to save" 
  456                         " results for %li zones.  Is this many zones really necessary?\n",
 
  474                 if( flux <= 0. || p.
nMatch( 
" LOG") )
 
  483         else if( p.
nMatch(
"EFRA") )
 
  489                         p.
NoNumb(
"electron fraction");
 
  503         else if( p.
nMatch(
"MFRA") )
 
  509                         p.
NoNumb(
"hydrogen molecular fraction");
 
  523         else if( p.
nMatch(
"PFRA") )
 
  529                         p.
NoNumb(
"ionized hydrogen fraction");
 
  542         else if( p.
nMatch(
"COLU") )
 
  548                         p.
NoNumb(
"column density");
 
  566                 else if( p.
nMatch(
"EFFE") )
 
  586                 else if( p.
nMatch(
"IONI") )
 
  612                 else if( p.
nMatch(
"NEUT") )
 
  633                 else if( p.
nMatch(
" H2 ") )
 
  641                                 fprintf( 
ioQQQ, 
" Something is wrong with the order of the numbers on this line.\n" );
 
  642                                 fprintf( 
ioQQQ, 
" The first number I encounter should be the 2 in H2.\n Sorry.\n" );
 
  663                 else if( p.
nMatch(
"ATOM") )
 
  680                 else if( p.
nMatch(
"H/TS") )
 
  698                 else if( p.
nMatch(
" CO ") )
 
  745         else if( p.
nMatch(
"EDEN") )
 
  751                         p.
NoNumb(
"electron density");
 
  767         else if( p.
nMatch(
"LINE") )
 
  795                         fprintf( 
ioQQQ, 
" There MUST be a relative intensity  entered " 
  796                                 "for first line in STOP LINE command.  Sorry.\n" );
 
  831         else if( p.
nMatch(
"NTOTALIO" ) )
 
  837                         p.
NoNumb(
"number of calls to conv_base");
 
  848                 fprintf( 
ioQQQ, 
" I did not recognize a keyword on this STOP line, line image follows;\n" );
 
realnum StopLineWl2[MXSTPL]
bool nMatch(const char *chKey) const 
char chStopLabel1[MXSTPL][NCHLAB]
int GetQuote(string &chLabel)
char chVarFmt[LIMPAR][FILENAME_PATH_LENGTH_2]
vector< double > StopThickness
void ParseStop(Parser &p)
realnum vparm[LIMEXT][LIMPAR]
char chStopLabel2[MXSTPL][NCHLAB]
void trimTrailingWhiteSpace(string &str)
NORETURN void StringError() const 
const double TEMP_LIMIT_LOW
string StandardFluxUnit(void) const 
double energy(const genericState &gs)
const double TEMP_LIMIT_HIGH
const char * StandardEnergyUnit(void) const 
NORETURN void NoNumb(const char *chDesc) const 
realnum StopLineWl1[MXSTPL]
realnum TempLoStopIteration
#define DEBUG_ENTRY(funcname)
int fprintf(const Output &stream, const char *format,...)
int PrintLine(FILE *fp) const 
vector< double > StopRadius
realnum TempHiStopIteration