#include <TrackSimple.hh>
|
| TrackSimple () |
|
| ~TrackSimple () |
|
void | SetEqualSpacing () |
|
void | SetExponentialSpacing () |
|
void | SetClusterDensity (const double d) |
|
double | GetClusterDensity () |
|
void | SetStoppingPower (const double dedx) |
|
double | GetStoppingPower () |
|
bool | NewTrack (const double x0, const double y0, const double z0, const double t0, const double dx0, const double dy0, const double dz0) |
|
bool | GetCluster (double &xcls, double &ycls, double &zcls, double &tcls, int &n, double &e, double &extra) |
|
| Track () |
|
virtual | ~Track () |
|
virtual void | SetParticle (std::string part) |
|
void | SetEnergy (const double e) |
|
void | SetBetaGamma (const double bg) |
|
void | SetBeta (const double beta) |
|
void | SetGamma (const double gamma) |
|
void | SetMomentum (const double p) |
|
void | SetKineticEnergy (const double ekin) |
|
double | GetEnergy () const |
|
double | GetBetaGamma () const |
|
double | GetBeta () const |
|
double | GetGamma () const |
|
double | GetMomentum () const |
|
double | GetKineticEnergy () const |
|
void | SetSensor (Sensor *s) |
|
virtual bool | NewTrack (const double x0, const double y0, const double z0, const double t0, const double dx0, const double dy0, const double dz0)=0 |
|
virtual bool | GetCluster (double &xcls, double &ycls, double &zcls, double &tcls, int &n, double &e, double &extra)=0 |
|
virtual double | GetClusterDensity () |
|
virtual double | GetStoppingPower () |
|
void | EnablePlotting (ViewDrift *viewer) |
|
void | DisablePlotting () |
|
void | EnableDebugging () |
|
void | DisableDebugging () |
|
|
void | PlotNewTrack (const double x0, const double y0, const double z0) |
|
void | PlotCluster (const double x0, const double y0, const double z0) |
|
Definition at line 9 of file TrackSimple.hh.
◆ TrackSimple()
Garfield::TrackSimple::TrackSimple |
( |
| ) |
|
◆ ~TrackSimple()
Garfield::TrackSimple::~TrackSimple |
( |
| ) |
|
|
inline |
◆ GetCluster()
bool Garfield::TrackSimple::GetCluster |
( |
double & |
xcls, |
|
|
double & |
ycls, |
|
|
double & |
zcls, |
|
|
double & |
tcls, |
|
|
int & |
n, |
|
|
double & |
e, |
|
|
double & |
extra |
|
) |
| |
|
virtual |
Implements Garfield::Track.
Definition at line 101 of file TrackSimple.cc.
102 {
103
104 extra = 0.;
106
111 } else {
116 }
117
122
123 n = 1;
125
130 std::cout <<
className <<
"::GetCluster:\n";
131 std::cout << " Particle left the medium.\n";
132 }
133 return false;
134 }
135
136 return true;
137}
bool GetMedium(const double x, const double y, const double z, Medium *&medium)
◆ GetClusterDensity()
double Garfield::TrackSimple::GetClusterDensity |
( |
| ) |
|
|
virtual |
◆ GetStoppingPower()
double Garfield::TrackSimple::GetStoppingPower |
( |
| ) |
|
|
virtual |
◆ NewTrack()
bool Garfield::TrackSimple::NewTrack |
( |
const double |
x0, |
|
|
const double |
y0, |
|
|
const double |
z0, |
|
|
const double |
t0, |
|
|
const double |
dx0, |
|
|
const double |
dy0, |
|
|
const double |
dz0 |
|
) |
| |
|
virtual |
Implements Garfield::Track.
Definition at line 55 of file TrackSimple.cc.
57 {
58
59
61 std::cerr <<
className <<
"::NewTrack:\n";
62 std::cerr << " Sensor is not defined.\n";
64 return false;
65 }
66
67
70 std::cerr <<
className <<
"::NewTrack:\n";
71 std::cerr << " No medium at initial position.\n";
73 return false;
74 }
75
77
82
83
84 const double d =
sqrt(dx0 * dx0 + dy0 * dy0 + dz0 * dz0);
85 if (d < Small) {
86
89 double stheta =
sqrt(1. - ctheta * ctheta);
90 dx =
cos(phi) * stheta;
91 dy =
sin(phi) * stheta;
93 } else {
97 }
98 return true;
99}
DoubleAc cos(const DoubleAc &f)
DoubleAc sqrt(const DoubleAc &f)
DoubleAc sin(const DoubleAc &f)
◆ SetClusterDensity()
void Garfield::TrackSimple::SetClusterDensity |
( |
const double |
d | ) |
|
Definition at line 27 of file TrackSimple.cc.
27 {
28
29 if (d < Small) {
30 std::cerr <<
className <<
"::SetClusterDensity:\n";
31 std::cerr << " Cluster density (number of clusters per cm)"
32 << " must be positive.\n" << std::endl;
33 return;
34 }
35
37}
◆ SetEqualSpacing()
void Garfield::TrackSimple::SetEqualSpacing |
( |
| ) |
|
|
inline |
◆ SetExponentialSpacing()
void Garfield::TrackSimple::SetExponentialSpacing |
( |
| ) |
|
|
inline |
◆ SetStoppingPower()
void Garfield::TrackSimple::SetStoppingPower |
( |
const double |
dedx | ) |
|
Definition at line 41 of file TrackSimple.cc.
41 {
42
43 if (dedx < Small) {
44 std::cerr <<
className <<
"::SetStoppingPower:\n";
45 std::cerr << " Stopping power (average energy loss [eV] per cm)"
46 << " must be positive.\n";
47 return;
48 }
49
51}
◆ dx
double Garfield::TrackSimple::dx |
|
protected |
◆ dy
double Garfield::TrackSimple::dy |
|
protected |
◆ dz
double Garfield::TrackSimple::dz |
|
protected |
◆ eloss
double Garfield::TrackSimple::eloss |
|
protected |
◆ isReady
bool Garfield::TrackSimple::isReady |
|
protected |
◆ mfp
double Garfield::TrackSimple::mfp |
|
protected |
double Garfield::TrackSimple::t |
|
protected |
◆ useEqualSpacing
bool Garfield::TrackSimple::useEqualSpacing |
|
protected |
double Garfield::TrackSimple::x |
|
protected |
double Garfield::TrackSimple::y |
|
protected |
double Garfield::TrackSimple::z |
|
protected |
The documentation for this class was generated from the following files: