Garfield++ 4.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
HeedParticle_BGM.h
Go to the documentation of this file.
1#ifndef HEEDPARTICLE_BGM_H
2#define HEEDPARTICLE_BGM_H
3
4#include <vector>
5#include "HeedCluster.h"
7
8namespace Heed {
9extern long last_particle_number;
10
11/// Definition of the particle which can be traced through the geometry.
12/// 2003, I. Smirnov
13
15 public:
16 /// Default constructor.
18 /// Constructor.
19 /// if fs_loss_only == true - only transfer energy and
20 /// no other physics: no deposition of clusters,
21 /// no generation of virtual photons.
22 /// Thus it is just a PAI without even clusters
23 HeedParticle_BGM(manip_absvol* primvol, const point& pt, const vec& vel,
24 vfloat time, particle_def* fpardef, HeedFieldMap* fieldmap,
25 bool fs_loss_only = false, bool fs_print_listing = false);
26 /// Destructor
27 virtual ~HeedParticle_BGM() {}
28
29 void print(std::ostream& file, int l) const override;
30 HeedParticle_BGM* copy() const override {
31 return new HeedParticle_BGM(*this);
32 }
33
34 protected:
35 void physics(std::vector<gparticle*>& secondaries) override;
36
37 private:
38 bool m_print_listing = false;
39 bool m_loss_only = false;
40
41 long m_particle_number = 0;
42
43 double m_edep = 0.;
44
45 std::vector<HeedCluster> m_clusterBank;
46};
47}
48
49#endif
Retrieve electric and magnetic field from Sensor.
Definition: HeedFieldMap.h:15
HeedParticle_BGM()
Default constructor.
HeedParticle_BGM * copy() const override
Clone the particle.
virtual ~HeedParticle_BGM()
Destructor.
void print(std::ostream &file, int l) const override
Print-out.
void physics(std::vector< gparticle * > &secondaries) override
Apply any other processes (turn the trajectory, kill the particle, ...).
vfloat time() const
Get the current time of the particle.
Definition: gparticle.h:188
Abstract base classs for volume "manipulators".
Definition: volume.h:128
Point.
Definition: vec.h:368
Definition: vec.h:179
Definition: BGMesh.cpp:6
long last_particle_number
Definition: HeedParticle.h:9
double vfloat
Definition: vfloat.h:16