9void TwoPhotonSetup( vector<two_photon> &tnu_vec,
const long &ipHi,
const long &ipLo,
const double &Aul,
const TransitionProxy &tr,
const long ipISO,
const long nelem )
13 tnu_vec.resize( tnu_vec.size() + 1 );
19 tnu.
Pop = &(*tr.
Hi()).Pop();
51 double SumShapeFunction = 0., Renorm= 0.;
61 SumShapeFunction += ShapeFunction;
70 Renorm = 1./SumShapeFunction;
78 ASSERT( fabs( SumShapeFunction*Renorm - 1. ) < 0.00001 );
95 for(
long nu=0; nu < tnu.
ipTwoPhoE; nu++ )
103 sum += tnu.
As2nu[nu];
110 double rate_up = 0.5 * tnu.
As2nu[nu] *
134 for(
long nu=0; nu < tnu.
ipTwoPhoE; nu++ )
145 for(
long nu=0; nu < tnu.
ipTwoPhoE; nu++ )
161 fprintf(
ioQQQ,
"\ny\tGammaNot(2q)\n");
163 for(
long yTimes20=1; yTimes20<=10; yTimes20++ )
165 double y = yTimes20/20.;
167 fprintf(
ioQQQ,
"%.3e\t", (
double)y );
170 fprintf(
ioQQQ,
"%.3e\n",
double atmdat_2phot_shapefunction(double EbyE2nu, long ipISO, long nelem)
#define DEBUG_ENTRY(funcname)
qList::iterator Hi() const
vector< realnum > local_emis
long ipoint(double energy_ryd)
UNUSED const double HPLANCK
void CalcTwoPhotonEmission(two_photon &tnu, bool lgDoInduced)
void TwoPhotonSetup(vector< two_photon > &tnu_vec, const long &ipHi, const long &ipLo, const double &Aul, const TransitionProxy &tr, const long ipISO, const long nelem)
void CalcTwoPhotonRates(two_photon &tnu, bool lgDoInduced)
void PrtTwoPhotonEmissCoef(const two_photon &tnu, const double &densityProduct)