30         bool lgCheck = (error != NULL);
 
   31         vector<realnum> oldPesc, oldPdest, oldPelec_esc;
 
   37                                   tr != it->end(); ++tr)
 
   39                                 if ((*tr).ipCont() <= 0)
 
   41                                 oldPdest.push_back((*tr).Emis().Pdest());
 
   42                                 oldPesc.push_back((*tr).Emis().Pesc());
 
   43                                 oldPelec_esc.push_back((*tr).Emis().Pelec_esc());
 
   56                         for( 
long nelem=ipISO; nelem < 
LIMELM; ++nelem )
 
   60                                 long ion = nelem+1-ipISO;
 
   75                                                 if( 
iso_sp[ipISO][nelem].trans(ipHi,ipLo).ipCont() <= 0 )
 
  117                 enum {DEBUG_LOC=
false};
 
  118                 if( DEBUG_LOC && 
nzone>433  )
 
  131                 ipISO = 0; nelem = 0;ipLo = 0;
 
  137                 aa = log(1. + dTau ) / 
SDIV(dTau);
 
  146         long iworst=-1,cworst=-1;
 
  153                                   tr != it->end(); ++tr)
 
  155                                 if ((*tr).ipCont() <= 0)
 
  160                                 realnum frac = abs(oldPdest[ind]-(*tr).Emis().Pdest())/
max((*tr).Emis().Pdest(),abslim);
 
  168                                 frac = abs(oldPesc[ind]-(*tr).Emis().Pesc())/
max((*tr).Emis().Pesc(),abslim);
 
  176                                 frac = abs(oldPelec_esc[ind]-(*tr).Emis().Pelec_esc())/
max((*tr).Emis().Pelec_esc(),abslim);
 
  187                 if (0 && bigerror > 0.0)
 
  190                         fprintf(
ioQQQ,
"dst%c %6f=>%6f esc%c %6f=>%6f eesc%c %6f=>%6f -- %s\n",
 
  191                                           cworst == 1 ? 
'*':
' ',oldPdest[iworst],(*trworst).Emis().Pdest(),
 
  192                                           cworst == 2 ? 
'*':
' ',oldPesc[iworst],(*trworst).Emis().Pesc(),
 
  193                                           cworst == 3 ? 
'*':
' ',oldPelec_esc[iworst],(*trworst).Emis().Pelec_esc(),
 
  194                                           (*trworst).chLabel().c_str());
 
  222         static vector<realnum> DopplerWidth(
LIMELM);
 
  231                 for( nelem=ipISO; nelem < 
LIMELM; ++nelem )
 
  246                                         for( ipLo=0; ipLo < ipHi; ++ipLo )
 
  250                                                 if( 
iso_sp[ipISO][nelem].trans(ipHi,ipLo).ipCont() < 0 ) 
 
  255                                                 fixit(
"should this use pestrk_up or pestrk?");
 
  256                                                 line_one( 
iso_sp[ipISO][nelem].trans(ipHi,ipLo),
 
  258                                                                          DopplerWidth[nelem]);
 
  261                                                 enum {DEBUG_LOC=
false};
 
  262                                                 if( DEBUG_LOC && nelem==1&& ipLo==0   )
 
  267                                                                 iso_sp[ipISO][nelem].trans(ipHi,ipLo).Emis().Pdest());
 
  280                         for( nelem=ipISO; nelem < 
LIMELM; ++nelem )
 
  303                                                         (*tr).Emis().PopOpc() = 
iso_sp[ipISO][nelem].
st[0].Pop();
 
  304                                                         (*(*tr).Lo()).Pop() =
 
  305                                                                 iso_sp[ipISO][nelem].
st[ipLo].Pop();
 
  308                                                         line_one( *tr, 
true, 0.f, DopplerWidth[nelem]);
 
  323                         (*UTALines[i].Lo()).Pop() = 
dense.
xIonDense[(*UTALines[i].Hi()).nelem()-1][(*UTALines[i].Hi()).IonStg()-1];
 
  324                         (*UTALines[i].Hi()).Pop() = 0.;
 
  325                         line_one( UTALines[i], 
true,0.f, 
 
  326                                                  DopplerWidth[(*UTALines[i].Hi()).nelem()-1] );
 
  332         for( 
long ipSpecies=0; ipSpecies<
nSpecies; ipSpecies++ )
 
  340                                 int ipHi = (*tr).ipHi();
 
  343                                 if( (*tr).ipCont() > 0 )
 
  345                                         line_one( *tr, 
true, 0.f, DopplerWidth );
 
  356                 for( nelem=ipISO; nelem<
LIMELM; ++nelem )
 
  363                                                  DopplerWidth[nelem] );
 
  371                 (*diatom)->H2_RTMake( line_one );
 
  375                 line_one( 
HFLines[i], 
true,0.f, DopplerWidth[(*
HFLines[i].Hi()).nelem()-1] );
 
  381                 nelem = (*
TauLine2[i].Hi()).nelem();
 
  395                         line_one( 
TauLine2[i], 
true,0.f, DopplerWidth[(*
TauLine2[i].Hi()).nelem()-1] );
 
void DumpLine(const TransitionProxy &t)
realnum & opacity() const 
TransitionList UTALines("UTALines",&AnonStates)
multi_arr< int, 3 > ipSatelliteLines
bool lgFirstSweepThisZone
void RT_line_one_escape(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth)
long int IonHigh[LIMELM+1]
realnum fine_opac_velocity_width
TransitionList HFLines("HFLines",&AnonStates)
TransitionList TauLine2("TauLine2",&AnonStates)
void RT_line_all_escape(realnum *error)
t_iso_sp iso_sp[NISO][LIMELM]
bool lgIonStoutOn[LIMELM][LIMELM+1]
double xIonDense[LIMELM][LIMELM+1]
bool lgIonChiantiOn[LIMELM][LIMELM+1]
EmissionList::reference Emis() const 
multi_arr< int, 3 > ipExtraLymanLines
void(* linefunc)(const TransitionProxy &t, bool lgShield_this_zone, realnum pestrk, realnum DopplerWidth)
long int ipFineConVelShift
vector< diatomics * > diatoms
void RT_line_all(linefunc line_one)
realnum GetDopplerWidth(realnum massAMU)
vector< vector< TransitionList > > SatelliteLines
TransitionProxy trans(const long ipHi, const long ipLo)
realnum AtomicWeight[LIMELM]
vector< vector< TransitionList > > ExtraLymanLines
#define DEBUG_ENTRY(funcname)
vector< species > dBaseSpecies
int fprintf(const Output &stream, const char *format,...)
sys_float SDIV(sys_float x)
double maxWN[LIMELM][LIMELM+1]
vector< TransitionList > AllTransitions
bool lgTauGood(const TransitionProxy &t)
vector< TransitionList > dBaseTrans
vector< diatomics * >::iterator diatom_iter