Garfield++ v2r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <EnergyMesh.h>
Public Member Functions | |
EnergyMesh () | |
Default constructor. | |
EnergyMesh (double femin, double femax, long fq) | |
Constructor from min./max energy and number of bins. | |
EnergyMesh (const std::vector< double > &fec) | |
Constructor from a list of energies. | |
virtual | ~EnergyMesh () |
Destructor. | |
long | get_q () const |
Return number of bins. | |
double | get_emin () const |
Return left side of the first bin. | |
double | get_emax () const |
Return right side of the last bin. | |
double | get_e (long n) const |
Return left side of a given bin. | |
double | get_ec (long n) const |
Return center of a given bin. | |
const double * | get_ae (void) const |
Return all left sides. | |
const double * | get_aec (void) const |
Return all interval centres. | |
long | get_interval_number (const double ener) const |
long | get_interval_number_between_centers (const double ener) const |
virtual EnergyMesh * | copy () const |
virtual void | print (std::ostream &file, int l) 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 |
Friends | |
std::ostream & | operator<< (std::ostream &file, EnergyMesh &f) |
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) |
Energy mesh (in MeV, as everywhere in HEED, unless otherwise specified). Internal calculations in HEED are conveniently performed with some standard energy mesh. This mesh should be logarithmic or similar, with dense spacing at small energies and sparse spacing at large energies. The class below determines such mesh and some standard functions, namely getting center of energy interval get_ec(long n), left edge of interval get_e(long n) (right edge is left one for the next bin), and some other simple functions. There may be many meshes in program (but currently only one mesh is used in a single program, different meshes may be used for totally different matters and cross sections). The pointer to mesh should be given as parameter of class constructor, when a class depends on mesh.
The class keeps the left sides of bins and their centers in arrays. Since the right side of interval is the left of the next one, the array keeping the left sides should be by one larger then the dimension of the mesh.
For reasons of speed the internal arrays keep right sides of intervals and their centers are defined as simple fixed-size arrays.
2003, I. Smirnov
Definition at line 33 of file EnergyMesh.h.
|
inline |
Default constructor.
Definition at line 36 of file EnergyMesh.h.
Referenced by copy().
Heed::EnergyMesh::EnergyMesh | ( | double | femin, |
double | femax, | ||
long | fq | ||
) |
Constructor from min./max energy and number of bins.
Definition at line 8 of file EnergyMesh.cpp.
Heed::EnergyMesh::EnergyMesh | ( | const std::vector< double > & | fec | ) |
Constructor from a list of energies.
Definition at line 23 of file EnergyMesh.cpp.
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
Return center of a given bin.
Definition at line 53 of file EnergyMesh.h.
Referenced by Heed::HeedDeltaElectron::physics_after_new_speed(), and Heed::HeedDeltaElectron::physics_mrange().
|
inline |
|
inline |
long Heed::EnergyMesh::get_interval_number | ( | const double | ener | ) | const |
Definition at line 45 of file EnergyMesh.cpp.
long Heed::EnergyMesh::get_interval_number_between_centers | ( | const double | ener | ) | const |
Definition at line 62 of file EnergyMesh.cpp.
|
inline |
Return number of bins.
Definition at line 45 of file EnergyMesh.h.
Referenced by Heed::HeedParticle::physics(), and Heed::HeedParticle_BGM::physics().
|
virtual |
Reimplemented from Heed::RegPassivePtr.
Definition at line 95 of file EnergyMesh.cpp.
|
friend |
Definition at line 79 of file EnergyMesh.cpp.