Garfield++ v2r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <HeedDeltaElectronCS.h>
Public Member Functions | |
HeedDeltaElectronCS () | |
Default constructor. | |
HeedDeltaElectronCS (HeedMatterDef *fhmd, ElElasticScat *fees, ElElasticScatLowSigma *feesls, PairProd *fpairprod, int fsruth=2, double fmlambda=0.001 *4.0e-3, double fmthetac=0.1) | |
Constructor. | |
double | get_sigma (double energy, double nscat) const |
virtual void | print (std::ostream &file, int l) const |
virtual HeedDeltaElectronCS * | copy () const |
Public Member Functions inherited from Heed::RegPassivePtr | |
RegPassivePtr (void) | |
RegPassivePtr (char fs_ban_del, char fs_ban_sub, char fs_ban_cop=0) | |
RegPassivePtr (const RegPassivePtr &f) | |
RegPassivePtr & | operator= (const RegPassivePtr &f) |
CountPP_ns::CountPassivePtr * | book (void) const |
void | clear_pointers (void) const |
virtual RegPassivePtr * | copy () const |
virtual | ~RegPassivePtr () |
virtual void | print (std::ostream &file, int l=1) const |
void | set_s_ban_del (char fs_ban_del) |
char | get_s_ban_del (void) const |
void | set_s_ban_sub (char fs_ban_sub) |
char | get_s_ban_sub (void) const |
void | set_s_ban_cop (char fs_ban_cop) |
char | get_s_ban_cop (void) const |
void | set_s_allow_del_at_zero_count (char fs_allow_del_at_zero_count) |
char | get_s_allow_del_at_zero_count (void) const |
long | get_total_number_of_references (void) const |
Public Attributes | |
PassivePtr< HeedMatterDef > | hmd |
PassivePtr< ElElasticScat > | ees |
PassivePtr< ElElasticScatLowSigma > | eesls |
PassivePtr< PairProd > | pairprod |
std::vector< double > | beta |
Table of velocities. | |
std::vector< double > | momentum |
Table of momenta [MeV/c]. | |
std::vector< double > | eLoss |
double | mlambda |
std::vector< double > | lambda |
std::vector< double > | low_lambda |
int | sruth |
double | mthetac |
std::vector< double > | angular_mesh_c |
Angular mesh, centers, angles in degrees. | |
std::vector< PointsRan > | angular_points_ran |
std::vector< PointsRan > | low_angular_points_ran |
std::vector< double > | mean_coef_low_sigma |
Static Public Attributes | |
static const long | q_angular_mesh = 50 |
static const double | low_cut_angle_deg = 20.0 |
Additional Inherited Members | |
Static Public Member Functions inherited from Heed::RegPassivePtr | |
static void | set_s_ban_del_ignore (char fs_ban_del_ignore) |
static char | get_s_ban_del_ignore (void) |
static void | set_s_print_adr_cpp (char fs_print_adr_cpp) |
static char | get_s_print_adr_cpp (void) |
Cross sections and various parameters for delta-electron transport. 2003, I. Smirnov
Definition at line 21 of file HeedDeltaElectronCS.h.
Heed::HeedDeltaElectronCS::HeedDeltaElectronCS | ( | ) |
Default constructor.
Referenced by copy().
Heed::HeedDeltaElectronCS::HeedDeltaElectronCS | ( | HeedMatterDef * | fhmd, |
ElElasticScat * | fees, | ||
ElElasticScatLowSigma * | feesls, | ||
PairProd * | fpairprod, | ||
int | fsruth = 2 , |
||
double | fmlambda = 0.001 * 4.0e-3 , |
||
double | fmthetac = 0.1 |
||
) |
Constructor.
Definition at line 25 of file HeedDeltaElectronCS.cpp.
|
inlinevirtual |
Reimplemented from Heed::RegPassivePtr.
Reimplemented in Garfield::HeedChamber.
Definition at line 35 of file HeedDeltaElectronCS.h.
double Heed::HeedDeltaElectronCS::get_sigma | ( | double | energy, |
double | nscat | ||
) | const |
Definition at line 230 of file HeedDeltaElectronCS.cpp.
Referenced by Heed::HeedDeltaElectron::physics_after_new_speed(), and Heed::HeedDeltaElectron::physics_mrange().
|
virtual |
Reimplemented from Heed::RegPassivePtr.
Definition at line 260 of file HeedDeltaElectronCS.cpp.
std::vector<double> Heed::HeedDeltaElectronCS::angular_mesh_c |
Angular mesh, centers, angles in degrees.
Definition at line 82 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), and print().
std::vector<PointsRan> Heed::HeedDeltaElectronCS::angular_points_ran |
Definition at line 85 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), and Heed::HeedDeltaElectron::physics_after_new_speed().
std::vector<double> Heed::HeedDeltaElectronCS::beta |
Table of velocities.
Definition at line 47 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), and print().
PassivePtr<ElElasticScat> Heed::HeedDeltaElectronCS::ees |
Definition at line 43 of file HeedDeltaElectronCS.h.
Referenced by get_sigma(), and HeedDeltaElectronCS().
PassivePtr<ElElasticScatLowSigma> Heed::HeedDeltaElectronCS::eesls |
Definition at line 44 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), Heed::HeedDeltaElectron::physics_mrange(), and print().
std::vector<double> Heed::HeedDeltaElectronCS::eLoss |
Energy losses [MeV/cm] according to very advanced formula with Bethe-Bloch and density effect as in GEANT3, corresponding to centers of intervals of the common mesh.
Definition at line 54 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), Heed::HeedDeltaElectron::physics_after_new_speed(), Heed::HeedDeltaElectron::physics_mrange(), and print().
PassivePtr<HeedMatterDef> Heed::HeedDeltaElectronCS::hmd |
Definition at line 42 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), Heed::HeedPhoton::physics(), Heed::HeedDeltaElectron::physics_after_new_speed(), Heed::HeedPhoton::physics_after_new_speed(), Heed::HeedDeltaElectron::physics_mrange(), and print().
std::vector<double> Heed::HeedDeltaElectronCS::lambda |
Path length [cm] at the energy values of the mesh. For sruth == 2 mean free path.
Definition at line 61 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), Heed::HeedDeltaElectron::physics_mrange(), and print().
std::vector<PointsRan> Heed::HeedDeltaElectronCS::low_angular_points_ran |
Definition at line 87 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), and Heed::HeedDeltaElectron::physics_after_new_speed().
|
static |
Definition at line 40 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS().
std::vector<double> Heed::HeedDeltaElectronCS::low_lambda |
Path length for low angle scatterings. This is without multiplication used for coef_low_sigma (cm).
Definition at line 64 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), Heed::HeedDeltaElectron::physics_after_new_speed(), Heed::HeedDeltaElectron::physics_mrange(), and print().
std::vector<double> Heed::HeedDeltaElectronCS::mean_coef_low_sigma |
Definition at line 91 of file HeedDeltaElectronCS.h.
Referenced by get_sigma(), HeedDeltaElectronCS(), and print().
double Heed::HeedDeltaElectronCS::mlambda |
Mminimum mean length of range, multiplied by density. sm*gr/sm**3 = gr/sm**2
Definition at line 58 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), and print().
std::vector<double> Heed::HeedDeltaElectronCS::momentum |
Table of momenta [MeV/c].
Definition at line 49 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), and print().
double Heed::HeedDeltaElectronCS::mthetac |
Minimum threshold turn angle. For Rutherford: the interactions with less angle will not be taken into account. The actual threshold angle can be larger. The second restriction is going from restriction of atomic shell. The third one is from mlamBdel. For usual multiple scattering: Assuming that sigma = mTetacBdel the path lengt is calculated. If mlamBdel/density is less then the last is used.
Definition at line 79 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), and print().
PassivePtr<PairProd> Heed::HeedDeltaElectronCS::pairprod |
Definition at line 45 of file HeedDeltaElectronCS.h.
Referenced by Heed::HeedDeltaElectron::physics_after_new_speed().
|
static |
Definition at line 39 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), and print().
int Heed::HeedDeltaElectronCS::sruth |
Formula to use. 0 - usual multiple scattering formula 1 - Rutherford cross-section 2 - precise theory?
Definition at line 70 of file HeedDeltaElectronCS.h.
Referenced by HeedDeltaElectronCS(), and print().