1 #ifndef OPAL_SECONDARY_EMISSION_PHYSICS_HH
2 #define OPAL_SECONDARY_EMISSION_PHYSICS_HH
15 const double EPS = std::numeric_limits<double>::epsilon();
37 void nSec(
const double &incEnergy,
38 const double &cosTheta,
49 const double &vVThermal,
50 const bool nEmissionMode);
52 void nSec(
const double &incEnergy,
53 const double &cosTheta,
63 const double &vSeyZero,
65 const double &vSeyMax,
67 const double &vKenergy,
68 const double &vKtheta,
69 const double &vVThermal,
70 const bool nEmissionMode);
212 const double cosTheta,
214 const double &vSeyZero,
215 const double &vEzero,
216 const double &vSeyMax,
218 const double &vKenergy,
219 const double &vKtheta,
222 void calcEmiNum(
const double incEnergy,
const double cosTheta,
const double *prob,
int &seNum);
224 double calcDeltats(
const double incEnergy,
const double cosTheta);
226 double calcDeltar(
const double incEnergy,
const double cosTheta);
228 double calcDeltae(
const double incEnergy,
const double cosTheta);
230 double calcProb(
const double incEnergy,
const double cosTheta,
double *prob);
241 double gammp(
const double a,
const double x);
243 double gser(
const double a,
const double x);
244 double gcf(
const double a,
const double x);
246 double gammln(
const double xx);
248 double invgammp(
double p,
double a);
253 double betai(
const double x,
const double a,
const double b);
254 double betacf(
const double a,
const double b,
const double x);
256 double invbetai(
double p,
double a,
double b);
288 #endif //OPAL_SECONDARY_EMISSION_PHYSICS_HH
double invbetai(double p, double a, double b)
double gammln(const double xx)
double calcProb(const double incEnergy, const double cosTheta, double *prob)
double gammpapprox(double a, double x, int psig)
SecondaryEmissionPhysics()
void coordConverter(const Vector_t &, Vector_t &)
double gammp(const double a, const double x)
double calcDeltae(const double incEnergy, const double cosTheta)
double max_Gamma(double x, double y)
double min_Gamma(double x, double y)
double calcDeltar(const double incEnergy, const double cosTheta)
double betacf(const double a, const double b, const double x)
double gcf(const double a, const double x)
void calcEmiNum(const double incEnergy, const double cosTheta, int &seNum, const double &vSeyZero, const double &vEzero, const double &vSeyMax, const double &vEmax, const double &vKenergy, const double &vKtheta, double &seyNum)
double betaiapprox(double a, double b, double x)
double betai(const double x, const double a, const double b)
double gser(const double a, const double x)
void setSeMaterial(int material_num)
double calcDeltats(const double incEnergy, const double cosTheta)
double invgammp(double p, double a)
Timing::TimerRef TimerRef
T::PETE_Expr_t::PETE_Return_t min(const PETE_Expr< T > &expr, NDIndex< D > &loc)
void nSec(const double &incEnergy, const double &cosTheta, const int &matNumber, int &seNum, int &seType, const double &incQ, const Vector_t &TriNorm, const Vector_t &inteCoords, const Vector_t &localX, PartBunchBase< double, 3 > *itsBunch, double &seyNum, const double &ppVw, const double &vVThermal, const bool nEmissionMode)
IpplTimings::TimerRef TPnSec_m
~SecondaryEmissionPhysics()