Garfield++ v1r0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
Heed::eparticle Class Reference

#include <eparticle.h>

+ Inheritance diagram for Heed::eparticle:

Public Member Functions

 eparticle (void)
 Constructors.
 
 eparticle (manip_absvol *primvol, const point &pt, const vec &vel, vfloat time, particle_def *fpardef)
 
 eparticle (manip_absvol *primvol, const point &pt, const vec &vel, vfloat time, particle_def *fpardef, double gamma_1)
 
 AnyType_copy (eparticle, gparticle)
 
virtual ~eparticle ()
 Destructor.
 
virtual void print (std::ostream &file, int l) const
 
virtual int force (const point &pt, vec &f, vec &f_perp, vfloat &mrange)
 
- Public Member Functions inherited from Heed::mparticle
void check_consistency (void) const
 
virtual void step (void)
 
virtual void curvature (int &fs_cf, vec &frelcen, vfloat &fmrange, vfloat prec)
 
virtual void physics_after_new_speed (void)
 
virtual void physics (void)
 
virtual int force (const point &pt, vec &f, vec &f_perp, vfloat &mrange)
 
void new_speed (void)
 
 mparticle (void)
 
 mparticle (gparticle const &gp, double fmass)
 
 mparticle (gparticle const &gp, double fmass, double gamma_1)
 
 mparticle (manip_absvol *primvol, const point &pt, const vec &vel, vfloat time, double fmass, double gamma_1)
 
virtual void print (std::ostream &file, int l) const
 
 macro_copy_total (gparticle)
 
virtual ~mparticle ()
 
- Public Member Functions inherited from gparticle
 gparticle (void)
 
 gparticle (const stvpoint &sp)
 
 gparticle (manip_absvol *primvol, const point &pt, const vec &vel, vfloat time)
 
virtual void step (void)
 
virtual void change_vol (void)
 
virtual void curvature (int &fs_cf, vec &frelcen, vfloat &fmrange, vfloat prec)
 
virtual void physics_after_new_speed (void)
 
virtual void physics (void)
 
virtual void physics_mrange (double &fmrange)
 
virtual stvpoint calc_step_to_bord ()
 
stvpoint switch_new_vol (void)
 
virtual void fly (void)
 
virtual void print (std::ostream &file, int l) const
 
 macro_copy_total (gparticle)
 
virtual ~gparticle ()
 
- Public Member Functions inherited from Heed::particle_type
 particle_type (void)
 
 particle_type (particle_def *f)
 
 particle_type (const char *name, int s=0)
 
int operator== (const particle_type &f)
 
int operator!= (const particle_type &f)
 
void print_notation (std::ostream &file) const
 

Additional Inherited Members

- Public Attributes inherited from Heed::mparticle
double mass
 Mass (not mass * speed_of_light^2)
 
double orig_kin_energy
 
double orig_gamma_1
 
double prev_kin_energy
 
double prev_gamma_1
 
double curr_kin_energy
 
double curr_gamma_1
 
- Public Attributes inherited from gparticle
int s_life
 
long nstep
 
double total_range_from_origin
 
long n_zero_step
 
stvpoint origin
 
stvpoint prevpos
 
stvpoint currpos
 
stvpoint nextpos
 
vec curr_relcen
 
- Public Attributes inherited from Heed::particle_type
PassivePtr< particle_defpardef
 
- Static Public Attributes inherited from gparticle
static long max_q_zero_step = 100
 

Detailed Description

Definition at line 16 of file eparticle.h.

Constructor & Destructor Documentation

◆ eparticle() [1/3]

Heed::eparticle::eparticle ( void  )
inline

Constructors.

Definition at line 19 of file eparticle.h.

◆ eparticle() [2/3]

Heed::eparticle::eparticle ( manip_absvol primvol,
const point pt,
const vec vel,
vfloat  time,
particle_def fpardef 
)

Definition at line 12 of file eparticle.cpp.

14 : mparticle(), particle_type(fpardef) {
15 gparticle gp(primvol, pt, vel, time);
16 statcast(mparticle&, *this) = mparticle(gp, fpardef->mass);
17}
#define statcast(type, name)

◆ eparticle() [3/3]

Heed::eparticle::eparticle ( manip_absvol primvol,
const point pt,
const vec vel,
vfloat  time,
particle_def fpardef,
double  gamma_1 
)

Definition at line 19 of file eparticle.cpp.

21 : mparticle(primvol, pt, vel, time, fpardef->mass, gamma_1),
22 particle_type(fpardef) {}

◆ ~eparticle()

virtual Heed::eparticle::~eparticle ( )
inlinevirtual

Destructor.

Definition at line 27 of file eparticle.h.

27{ ; }

Member Function Documentation

◆ AnyType_copy()

Heed::eparticle::AnyType_copy ( eparticle  ,
gparticle   
)

◆ force()

int Heed::eparticle::force ( const point pt,
vec f,
vec f_perp,
vfloat mrange 
)
virtual

Reimplemented from Heed::mparticle.

Definition at line 24 of file eparticle.cpp.

24 {
25 vec efield;
26 vec hfield;
27 field_map(pt, efield, hfield, mrange);
28 f = pardef->charge * efield;
29 f_perp = pardef->charge * hfield;
30 return 1;
31}
PassivePtr< particle_def > pardef
Definition: particle_def.h:150
Definition: vec.h:248
void field_map(const point &pt, vec &Efield, vec &Hfield, vfloat &mrange)
Definition: TrackHeed.cc:44

◆ print()

void Heed::eparticle::print ( std::ostream &  file,
int  l 
) const
virtual

Reimplemented from Heed::mparticle.

Reimplemented in Heed::HeedDeltaElectron, Heed::HeedParticle, Heed::HeedParticle_BGM, and Heed::eiparticle.

Definition at line 33 of file eparticle.cpp.

33 {
34 if (l >= 0) {
35 Ifile << "eparticle: particle is ";
36 print_notation(file);
37 file << '\n';
38 mparticle::print(file, l);
39 }
40}
virtual void print(std::ostream &file, int l) const
Definition: mparticle.cpp:308
void print_notation(std::ostream &file) const
#define Ifile
Definition: prstream.h:207

Referenced by Heed::eiparticle::print().


The documentation for this class was generated from the following files: