Garfield++ 4.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
eparticle.h
Go to the documentation of this file.
1#ifndef EPARTICLE_H
2#define EPARTICLE_H
5#include "HeedFieldMap.h"
6
7// 1998 - 2004, I. Smirnov.
8
9namespace Heed {
10
11/// Charged particle. Combination of features of massive geometrical
12/// particle and specification of concrete particle as one of types
13/// known by science.
14
15class eparticle : public mparticle, public particle_type {
16 public:
17 /// Default constructor
18 eparticle() = default;
19 /// Constructor using velocity vector.
20 eparticle(manip_absvol* primvol, const point& pt, const vec& vel, vfloat time,
21 particle_def* fpardef, HeedFieldMap* fieldmap);
22 /// Destructor
23 virtual ~eparticle() {}
24
25 eparticle* copy() const override { return new eparticle(*this); }
26 void print(std::ostream& file, int l) const override;
27
28 protected:
29 /// Calculate force components.
30 int force(const point& pt, vec& f, vec& f_perp, vfloat& mrange) override;
31 // mrange - distance at which the force should not change much
32
33 /// Pointer to field map.
35};
36}
37
38#endif
Retrieve electric and magnetic field from Sensor.
Definition: HeedFieldMap.h:15
void print(std::ostream &file, int l) const override
Print-out.
Definition: eparticle.cpp:26
eparticle()=default
Default constructor.
eparticle * copy() const override
Clone the particle.
Definition: eparticle.h:25
HeedFieldMap * m_fieldMap
Pointer to field map.
Definition: eparticle.h:34
virtual ~eparticle()
Destructor.
Definition: eparticle.h:23
int force(const point &pt, vec &f, vec &f_perp, vfloat &mrange) override
Calculate force components.
Definition: eparticle.cpp:13
vfloat time() const
Get the current time of the particle.
Definition: gparticle.h:188
Abstract base classs for volume "manipulators".
Definition: volume.h:128
Massive particle. A force can be applied.
Definition: mparticle.h:23
Point.
Definition: vec.h:368
Definition: vec.h:179
Definition: BGMesh.cpp:6
double vfloat
Definition: vfloat.h:16