|
Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
#include <HeedPhoton.h>
Inheritance diagram for Heed::HeedPhoton:Public Member Functions | |
| HeedPhoton ()=default | |
| Default constructor. | |
| HeedPhoton (manip_absvol *primvol, const point &pt, const vec &vel, vfloat time, long fparent_particle_number, double fenergy, HeedFieldMap *fieldmap, const bool fs_print_listing=false) | |
| Constructor. | |
| virtual | ~HeedPhoton () |
| Destructor. | |
| void | print (std::ostream &file, int l) const override |
| Print-out. | |
| HeedPhoton * | copy () const override |
| Clone the particle. | |
Public Member Functions inherited from Heed::gparticle | |
| gparticle ()=default | |
| Default constructor. | |
| gparticle (manip_absvol *primvol, const point &pt, const vec &vel, vfloat time) | |
| Constructor. | |
| virtual | ~gparticle () |
| Destructor. | |
| virtual void | fly (std::vector< gparticle * > &secondaries) |
| Transport the particle. | |
| void | set_step_limits (const vfloat fmax_range, const vfloat frad_for_straight, const vfloat fmax_straight_arange, const vfloat fmax_circ_arange) |
| Set limits/parameters for trajectory steps. | |
| const vec & | position () const |
| Get the current position of the particle. | |
| vfloat | time () const |
| Get the current time of the particle. | |
| const vec & | direction () const |
| Get the current direction of the particle. | |
| virtual void | print (std::ostream &file, int l) const |
| Print-out. | |
| virtual gparticle * | copy () const |
| Clone the particle. | |
Public Attributes | |
| long | m_particle_number |
| long | m_parent_particle_number |
| double | m_energy |
| Photon energy [MeV]. | |
| bool | m_photon_absorbed = false |
| long | m_na_absorbing |
| Index of absorbing atom. | |
| long | m_ns_absorbing |
| Index of absorbing shell. | |
| bool | m_delta_generated = false |
| Flag that delta-electrons are already generated (or cannot be created). | |
Protected Member Functions | |
| void | physics_after_new_speed (std::vector< gparticle * > &secondaries) override |
| Apply any other processes (turn the trajectory, kill the particle, ...). | |
| void | physics (std::vector< gparticle * > &secondaries) override |
| Apply any other processes (turn the trajectory, kill the particle, ...). | |
Protected Member Functions inherited from Heed::gparticle | |
| virtual void | step (std::vector< gparticle * > &secondaries) |
| virtual void | change_vol () |
| Move from one volume to another. | |
| virtual void | curvature (bool &curved, vec &frelcen, vfloat &fmrange, vfloat prec) |
| virtual void | physics_after_new_speed (std::vector< gparticle * > &) |
| Apply any other processes (turn the trajectory, kill the particle, ...). | |
| virtual void | physics (std::vector< gparticle * > &) |
| Apply any other processes (turn the trajectory, kill the particle, ...). | |
| virtual void | physics_mrange (double &fmrange) |
| virtual stvpoint | calc_step_to_bord () |
| Determine next position. | |
| stvpoint | switch_new_vol () |
| Generate next position in new volume. | |
Additional Inherited Members | |
Protected Attributes inherited from Heed::gparticle | |
| bool | m_alive = false |
| Status flag whether the particle is active. | |
| long | m_nstep = 0 |
| Step number. | |
| long | m_nzero_step = 0 |
| Number of previous steps with zero range (including this step). | |
| stvpoint | m_origin |
| Original point. | |
| double | m_total_range_from_origin = 0. |
| Range from origin to current position. | |
| stvpoint | m_prevpos |
| Previous point. | |
| stvpoint | m_currpos |
| Current point. | |
| stvpoint | m_nextpos |
| Next point. | |
Static Protected Attributes inherited from Heed::gparticle | |
| static constexpr long | m_max_qzero_step = 100 |
| Max. number of zero-steps allowed. | |
Definition of the photon which can be emitted at atomic relaxation cascades and traced through the geometry. 2003, I. Smirnov
Definition at line 18 of file HeedPhoton.h.
|
default |
Default constructor.
Referenced by copy(), and physics_after_new_speed().
| Heed::HeedPhoton::HeedPhoton | ( | manip_absvol * | primvol, |
| const point & | pt, | ||
| const vec & | vel, | ||
| vfloat | time, | ||
| long | fparent_particle_number, | ||
| double | fenergy, | ||
| HeedFieldMap * | fieldmap, | ||
| const bool | fs_print_listing = false |
||
| ) |
Constructor.
Definition at line 23 of file HeedPhoton.cpp.
|
inlinevirtual |
|
inlineoverridevirtual |
|
overrideprotectedvirtual |
Apply any other processes (turn the trajectory, kill the particle, ...).
Reimplemented from Heed::gparticle.
Definition at line 42 of file HeedPhoton.cpp.
|
overrideprotectedvirtual |
Apply any other processes (turn the trajectory, kill the particle, ...).
Reimplemented from Heed::gparticle.
Definition at line 109 of file HeedPhoton.cpp.
|
overridevirtual |
Print-out.
Reimplemented from Heed::gparticle.
Definition at line 192 of file HeedPhoton.cpp.
| bool Heed::HeedPhoton::m_delta_generated = false |
Flag that delta-electrons are already generated (or cannot be created).
Definition at line 51 of file HeedPhoton.h.
Referenced by Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), physics_after_new_speed(), and print().
| double Heed::HeedPhoton::m_energy |
Photon energy [MeV].
Definition at line 36 of file HeedPhoton.h.
Referenced by Garfield::TrackHeed::GetCluster(), physics(), physics_after_new_speed(), and print().
| long Heed::HeedPhoton::m_na_absorbing |
Index of absorbing atom.
Definition at line 42 of file HeedPhoton.h.
Referenced by Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), physics(), physics_after_new_speed(), and print().
| long Heed::HeedPhoton::m_ns_absorbing |
Index of absorbing shell.
Definition at line 44 of file HeedPhoton.h.
Referenced by Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), physics(), physics_after_new_speed(), and print().
| long Heed::HeedPhoton::m_parent_particle_number |
Definition at line 33 of file HeedPhoton.h.
Referenced by print().
| long Heed::HeedPhoton::m_particle_number |
Definition at line 32 of file HeedPhoton.h.
Referenced by physics_after_new_speed(), and print().
| bool Heed::HeedPhoton::m_photon_absorbed = false |
Flag whether the photon has been absorbed. Used in physics_after_new_speed.
Definition at line 40 of file HeedPhoton.h.
Referenced by Heed::HeedParticle::physics(), Heed::HeedParticle_BGM::physics(), physics(), physics_after_new_speed(), and print().