OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
#include <SecondaryEmissionPhysics.h>
Public Member Functions | |
SecondaryEmissionPhysics () | |
~SecondaryEmissionPhysics () | |
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) |
void | nSec (const double &incEnergy, const double &cosTheta, 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 &vSeyZero, const double &vEzero, const double &vSeyMax, const double &vEmax, const double &vKenergy, const double &vKtheta, const double &vVThermal, const bool nEmissionMode) |
Public Attributes | |
double | deltae_m |
double | deltar_m |
double | deltats_m |
Private Member Functions | |
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) |
void | calcEmiNum (const double incEnergy, const double cosTheta, const double *prob, int &seNum) |
double | calcDeltats (const double incEnergy, const double cosTheta) |
double | calcDeltar (const double incEnergy, const double cosTheta) |
double | calcDeltae (const double incEnergy, const double cosTheta) |
double | calcProb (const double incEnergy, const double cosTheta, double *prob) |
void | setSeMaterial (int material_num) |
double | gaussRand () |
double | gammp (const double a, const double x) |
double | gser (const double a, const double x) |
double | gcf (const double a, const double x) |
double | gammpapprox (double a, double x, int psig) |
double | gammln (const double xx) |
double | invgammp (double p, double a) |
double | min_Gamma (double x, double y) |
double | max_Gamma (double x, double y) |
double | betai (const double x, const double a, const double b) |
double | betacf (const double a, const double b, const double x) |
double | betaiapprox (double a, double b, double x) |
double | invbetai (double p, double a, double b) |
void | coordConverter (const Vector_t &, Vector_t &) |
Private Attributes | |
IpplTimings::TimerRef | TPnSec_m |
double | seAlpha_m |
double | sePScat_m |
double | sePScatPeak_m |
double | seEScatPeak_m |
double | seW_m |
double | seP_m |
double | seDelta_m |
double | seEOne_m |
double | seETwo_m |
double | sePRed_m |
double | seERed_m |
double | seR_m |
double | seQ_m |
double | seROne_m |
double | seRTwo_m |
double | seYPeakTS_m |
double | seEPeakTS_m |
double | seSTS_m |
double | seTOneTS_m |
double | seTTwoTS_m |
double | seTThreeTS_m |
double | seTFourTS_m |
double | seEPeakTot_m |
double | seYPeakTot_m |
double | sePn_m [10] |
double | seEpsn_m [10] |
Definition at line 19 of file SecondaryEmissionPhysics.h.
SecondaryEmissionPhysics::SecondaryEmissionPhysics | ( | ) |
Exemplar Constructor
Definition at line 11 of file SecondaryEmissionPhysics.cpp.
References IpplTimings::getTimer().
SecondaryEmissionPhysics::~SecondaryEmissionPhysics | ( | ) |
Destructor.
Delete the previous defined member arrays
Definition at line 20 of file SecondaryEmissionPhysics.cpp.
|
private |
Definition at line 1110 of file SecondaryEmissionPhysics.cpp.
References abs(), Physics::c, myeps::EPS, and myeps::FPMIN.
|
private |
Definition at line 1067 of file SecondaryEmissionPhysics.cpp.
|
private |
|
private |
Definition at line 744 of file SecondaryEmissionPhysics.cpp.
References abs(), exp(), and pow().
|
private |
Definition at line 734 of file SecondaryEmissionPhysics.cpp.
|
private |
Definition at line 723 of file SecondaryEmissionPhysics.cpp.
References pow().
|
private |
Definition at line 645 of file SecondaryEmissionPhysics.cpp.
References acos(), exp(), IpplRandom, PAssert_GT, pow(), and Physics::two_pi.
|
private |
Definition at line 695 of file SecondaryEmissionPhysics.cpp.
References IpplRandom.
|
private |
Definition at line 754 of file SecondaryEmissionPhysics.cpp.
References pow().
Definition at line 257 of file SecondaryEmissionPhysics.h.
|
private |
Definition at line 1007 of file SecondaryEmissionPhysics.cpp.
References log().
|
private |
Definition at line 914 of file SecondaryEmissionPhysics.cpp.
|
private |
|
private |
Definition at line 895 of file SecondaryEmissionPhysics.cpp.
References IpplRandom, log(), and sqrt().
|
private |
Definition at line 946 of file SecondaryEmissionPhysics.cpp.
References abs(), Physics::c, myeps::EPS, exp(), myeps::FPMIN, and log().
|
private |
Definition at line 929 of file SecondaryEmissionPhysics.cpp.
References abs(), myeps::EPS, exp(), log(), and sum().
|
private |
Definition at line 1198 of file SecondaryEmissionPhysics.cpp.
References abs(), myeps::EPS, exp(), log(), pow(), and sqrt().
|
private |
Definition at line 1026 of file SecondaryEmissionPhysics.cpp.
References abs(), Physics::e, myeps::EPS, exp(), log(), pow(), and sqrt().
|
inlineprivate |
Definition at line 272 of file SecondaryEmissionPhysics.h.
|
inlineprivate |
Definition at line 264 of file SecondaryEmissionPhysics.h.
void SecondaryEmissionPhysics::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 | ||
) |
Definition at line 24 of file SecondaryEmissionPhysics.cpp.
References acos(), PartBunchBase< T, Dim >::Bf, PartBunchBase< T, Dim >::Bin, cos(), PartBunchBase< T, Dim >::create(), cross(), dot(), PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::Ef, exp(), fabs(), PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getLocalNum(), IpplRandom, Physics::m_e, ParticleType::NEWSECONDARY, PartBunchBase< T, Dim >::P, PAssert_GE, PAssert_LT, pow(), Options::ppdebug, PartBunchBase< T, Dim >::PType, PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, sin(), sqrt(), IpplTimings::startTimer(), IpplTimings::stopTimer(), PartBunchBase< T, Dim >::TriID, and Physics::two_pi.
Referenced by BoundaryGeometry::emitSecondaryFurmanPivi(), and BoundaryGeometry::emitSecondaryVaughan().
void SecondaryEmissionPhysics::nSec | ( | const double & | incEnergy, |
const double & | cosTheta, | ||
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 & | vSeyZero, | ||
const double & | vEzero, | ||
const double & | vSeyMax, | ||
const double & | vEmax, | ||
const double & | vKenergy, | ||
const double & | vKtheta, | ||
const double & | vVThermal, | ||
const bool | nEmissionMode | ||
) |
Definition at line 377 of file SecondaryEmissionPhysics.cpp.
References acos(), PartBunchBase< T, Dim >::Bf, PartBunchBase< T, Dim >::Bin, Physics::c, cos(), PartBunchBase< T, Dim >::create(), cross(), dot(), PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::Ef, exp(), PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getLocalNum(), IpplRandom, Physics::m_e, ParticleType::NEWSECONDARY, PartBunchBase< T, Dim >::P, pow(), Options::ppdebug, PartBunchBase< T, Dim >::PType, PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, sin(), sqrt(), IpplTimings::startTimer(), IpplTimings::stopTimer(), PartBunchBase< T, Dim >::TriID, and Physics::two_pi.
|
private |
Definition at line 787 of file SecondaryEmissionPhysics.cpp.
double SecondaryEmissionPhysics::deltae_m |
Definition at line 72 of file SecondaryEmissionPhysics.h.
double SecondaryEmissionPhysics::deltar_m |
Definition at line 73 of file SecondaryEmissionPhysics.h.
double SecondaryEmissionPhysics::deltats_m |
Definition at line 74 of file SecondaryEmissionPhysics.h.
|
private |
seAlpha_m | is the emitted angular spectrum parameter, i.e., the 1st parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 87 of file SecondaryEmissionPhysics.h.
|
private |
seDelta_m | is the 7th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 119 of file SecondaryEmissionPhysics.h.
|
private |
seEOne_m | is the 8th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 123 of file SecondaryEmissionPhysics.h.
|
private |
seEPeakTot_m | is the 23rd parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 198 of file SecondaryEmissionPhysics.h.
|
private |
seEPeakTS_m | is the 17th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 174 of file SecondaryEmissionPhysics.h.
|
private |
Definition at line 208 of file SecondaryEmissionPhysics.h.
|
private |
seERed_m | is the 11th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 144 of file SecondaryEmissionPhysics.h.
|
private |
seEScatPeak_m | is the 4th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 107 of file SecondaryEmissionPhysics.h.
|
private |
seETwo_m | is the 9th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 127 of file SecondaryEmissionPhysics.h.
|
private |
seP_m | is the 6th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 115 of file SecondaryEmissionPhysics.h.
|
private |
Definition at line 207 of file SecondaryEmissionPhysics.h.
|
private |
sePRed_m | is the 10th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 140 of file SecondaryEmissionPhysics.h.
|
private |
sePScat_m | is the 2nd parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 99 of file SecondaryEmissionPhysics.h.
|
private |
sePScatPeak_m | is the 3rd parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 103 of file SecondaryEmissionPhysics.h.
|
private |
seQ_m | is the 13th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 152 of file SecondaryEmissionPhysics.h.
|
private |
seR_m | is the 12th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 148 of file SecondaryEmissionPhysics.h.
|
private |
seROne_m | is the 14th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 156 of file SecondaryEmissionPhysics.h.
|
private |
seRTwo_m | is the 15th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 160 of file SecondaryEmissionPhysics.h.
|
private |
seSTS_m | is the 18th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 178 of file SecondaryEmissionPhysics.h.
|
private |
seTFourTS_m | is the 22nd parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 194 of file SecondaryEmissionPhysics.h.
|
private |
seTOneTS_m | is the 19th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 182 of file SecondaryEmissionPhysics.h.
|
private |
seTThreeTS_m | is the 21st parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 190 of file SecondaryEmissionPhysics.h.
|
private |
seTTwoTS_m | is the 20th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 186 of file SecondaryEmissionPhysics.h.
|
private |
seW_m | is the 5th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 111 of file SecondaryEmissionPhysics.h.
|
private |
seYPeakTot_m | is the 24th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 202 of file SecondaryEmissionPhysics.h.
|
private |
seYPeakTS_m | is the 16th parameter in the TABLE I of Phys. Rev. ST Accel. Beams 5, 124404 (2002) |
Definition at line 170 of file SecondaryEmissionPhysics.h.
|
private |
TPnSec_m | is the timmer of secondary emission module. |
Definition at line 82 of file SecondaryEmissionPhysics.h.