Garfield++ 4.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <HeedChamber.hh>
Public Member Functions | |
HeedChamber (const Heed::abssyscoor &fcsys, const double dx, const double dy, const double dz, const Heed::EnTransfCS &etcs, const Heed::HeedDeltaElectronCS &hdecs) | |
Garfield::HeedChamber * | copy () const override |
absvol * | Gavol () const override |
Get the volume. | |
Public Member Functions inherited from Heed::sh_manip_absvol | |
virtual const abssyscoor * | Gasc () const override |
Get the coordinate system. | |
void | Psc (const fixsyscoor &fcsys) |
sh_manip_absvol () | |
sh_manip_absvol (sh_manip_absvol &f) | |
sh_manip_absvol (const sh_manip_absvol &f) | |
sh_manip_absvol (const abssyscoor &f) | |
sh_manip_absvol (const point &fc, const basis &fbas, const std::string &fname) | |
virtual | ~sh_manip_absvol () |
virtual void | m_chname (char *nm) const |
virtual void | m_print (std::ostream &file, int l) const override |
sh_manip_absvol * | copy () const |
Public Member Functions inherited from Heed::manip_absvol | |
virtual absvol * | Gavol () const =0 |
Get the volume. | |
virtual const abssyscoor * | Gasc () const |
Get the coordinate system. | |
virtual int | m_check_point_inside (const point &fpt, const vec &dir) const |
virtual int | m_find_embed_vol (const point &fpt, const vec &fdir, manip_absvol_treeid *atid) const |
virtual int | m_range (trajestep &fts, int s_ext, int &sb, manip_absvol *&faeid) const |
virtual int | m_range_ext (trajestep &fts, int s_ext) const |
void | down_absref (absref *f) const |
void | up_absref (absref *f) const |
void | m_chname (char *nm) const |
virtual void | m_print (std::ostream &file, int l) const |
manip_absvol * | copy () const |
virtual | ~manip_absvol () |
Public Member Functions inherited from Heed::absref | |
virtual | ~absref () |
Destructor. | |
virtual void | down (const abssyscoor *fasc) |
Convert numbering representation of object to basical system of fasc. | |
virtual void | up (const abssyscoor *fasc) |
Convert numbering representation of objects to new system. | |
virtual void | turn (const vec &dir, vfloat angle) |
Turn around axis doing via center of coordinate system along dir. | |
virtual void | shift (const vec &dir) |
Public Member Functions inherited from Heed::box | |
box () | |
Default constructor. | |
box (vfloat fdx, vfloat fdy, vfloat fdz, const std::string &fname) | |
box (vfloat fdx, vfloat fdy, vfloat fdz, vfloat fprec, const std::string &fname) | |
Constructor with user-provided precision. | |
box (box &fb) | |
box (const box &fb) | |
virtual | ~box () |
Destructor. | |
void | init_prec () |
void | init_planes () |
int | check_point_inside (const point &fpt, const vec &dir) const override |
int | range_ext (trajestep &fts, int s_ext) const override |
Range till exit from given volume or to entry only. | |
void | income (gparticle *gp) override |
void | chname (char *nm) const override |
void | print (std::ostream &file, int l) const override |
box * | copy () const override |
Public Member Functions inherited from Heed::absvol | |
virtual | ~absvol () |
Destructor. | |
virtual int | check_point_inside (const point &fpt, const vec &dir) const =0 |
virtual int | find_embed_vol (const point &fpt, const vec &dir, manip_absvol_treeid *atid) const |
virtual int | range (trajestep &fts, int s_ext, int &sb, manip_absvol *&faeid) const |
virtual int | range_ext (trajestep &fts, int s_ext) const =0 |
virtual void | income (gparticle *) |
virtual void | chname (char *nm) const |
virtual void | print (std::ostream &file, int l) const |
virtual absvol * | copy () const |
virtual std::vector< manip_absvol * > | Gamanip_embed () const |
Public Member Functions inherited from Heed::EnTransfCS | |
EnTransfCS ()=default | |
Default constructor. | |
EnTransfCS (double fparticle_mass, double fgamma_1, bool fs_primary_electron, HeedMatterDef *fhmd, long fparticle_charge=1) | |
Constructor. | |
void | print (std::ostream &file, int l) const |
EnTransfCS * | copy () const |
Public Member Functions inherited from Heed::HeedDeltaElectronCS | |
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 |
void | print (std::ostream &file, int l) const |
HeedDeltaElectronCS * | copy () const |
Protected Member Functions | |
Heed::absref_transmit | get_components () override |
virtual absref_transmit | get_components () override |
Protected Member Functions inherited from Heed::box | |
absref_transmit | get_components () override |
Additional Inherited Members | |
Public Attributes inherited from Heed::box | |
vfloat | m_dx |
vfloat | m_dy |
vfloat | m_dz |
Lengths of sides. | |
vfloat | m_dxh |
vfloat | m_dyh |
vfloat | m_dzh |
Half-lengths of sides. | |
ulsvolume | m_ulsv |
std::string | m_name |
Public Attributes inherited from Heed::absvol | |
vfloat | prec |
bool | s_sensitive |
Public Attributes inherited from Heed::EnTransfCS | |
double | particle_mass = 0. |
Particle mass [MeV]. | |
long | particle_charge = 0 |
Charge in units of electron charge (used square, sign does not matter). | |
double | gamma_1 = 0. |
Lorentz factor - 1 (the best dimensionless measurement of speed). | |
double | max_etransf = 0. |
Max. energy transfer [MeV]. | |
bool | s_simple_form = true |
bool | s_primary_electron = false |
Flag indicating whether the primary particle is an electron. | |
HeedMatterDef * | hmd = nullptr |
std::vector< double > | log1C |
common first log without cs | |
std::vector< double > | log2C |
common second log without cs | |
std::vector< double > | chereC |
Cherenkov's radiation. | |
std::vector< double > | chereCangle |
angle of Cherenkov's radiation | |
std::vector< double > | Rruth |
term called R in my paper | |
std::vector< double > | addaC |
Sum of (ionization) differential cross-section terms. | |
double | quanC = 0. |
Integrated (ionization) cross-section. | |
double | meanC = 0. |
double | meanC1 = 0. |
std::vector< std::vector< std::vector< double > > > | cher |
std::vector< std::vector< std::vector< double > > > | fruth |
Rutherford term. | |
std::vector< std::vector< std::vector< double > > > | adda |
Sum. | |
std::vector< std::vector< std::vector< double > > > | fadda |
Integral, normalised to unity. | |
std::vector< std::vector< double > > | quan |
Number of collisions / cm, for each atom and shell. | |
std::vector< std::vector< double > > | mean |
First moment, for each atom and shell. | |
std::vector< double > | length_y0 |
Public Attributes inherited from Heed::HeedDeltaElectronCS | |
HeedMatterDef * | hmd = nullptr |
ElElasticScat * | ees = nullptr |
ElElasticScatLowSigma * | eesls = nullptr |
PairProd * | pairprod = nullptr |
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 inherited from Heed::HeedDeltaElectronCS | |
static constexpr long | q_angular_mesh = 50 |
static constexpr double | low_cut_angle_deg = 20. |
Protected Attributes inherited from Heed::sh_manip_absvol | |
fixsyscoor | csys |
absref * | aref_ptr [1] |
Definition at line 13 of file HeedChamber.hh.
|
inline |
Definition at line 19 of file HeedChamber.hh.
|
inlineoverridevirtual |
Reimplemented from Heed::absvol.
Definition at line 32 of file HeedChamber.hh.
|
inlineoverridevirtual |
|
inlineoverrideprotectedvirtual |
Reimplemented from Heed::sh_manip_absvol.
Definition at line 38 of file HeedChamber.hh.