Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
Garfield::DriftLineRKF Class Reference

Calculation of drift lines based on macroscopic transport coefficients using Runge-Kutta-Fehlberg integration. More...

#include <DriftLineRKF.hh>

Public Member Functions

 DriftLineRKF ()
 Default constructor.
 DriftLineRKF (Sensor *sensor)
 Constructor.
 ~DriftLineRKF ()
 Destructor.
void SetSensor (Sensor *s)
 Set the sensor.
void EnablePlotting (ViewDrift *view)
 Switch on drift line plotting.
void DisablePlotting ()
 Switch off drift line plotting.
void EnableSignalCalculation (const bool on=true)
 Switch calculation of induced currents on or off (default: enabled).
void SetSignalAveragingOrder (const unsigned int navg)
 Set the number of points to be used when averaging the delayed signal vector over a time bin in the Sensor class.
void UseWeightingPotential (const bool on=true)
 Use the weighting potential (as opposed to the weighting field) for calculating the induced signal.
void SetIntegrationAccuracy (const double eps)
 Set the accuracy of the Runge Kutta Fehlberg drift line integration.
void SetMaximumStepSize (const double ms)
 Set (explicitly) the maximum step size that is allowed.
void SetMaximumStepSize ()
 Try to set an upper limit to the allowable step size based on the feature size of the sensor.
void UnsetMaximumStepSize ()
 Do not apply an upper limit to the allowable step size.
void RejectKinks (const bool on=true)
 Request (or not) the drift line calculation to be aborted if the drift line makes a bend sharper than 90 degrees.
void SetElectronSignalScalingFactor (const double scale)
 Set multiplication factor for the signal induced by electrons.
void SetHoleSignalScalingFactor (const double scale)
 Set multiplication factor for the signal induced by holes.
void SetIonSignalScalingFactor (const double scale)
 Set multiplication factor for the signal induced by ions.
void EnableAvalanche (const bool on=true)
 Enable/disable simulation electron multiplication (default: on).
void EnableIonTail (const bool on=true)
 Enable/disable simulation of the ion tail (default: on).
void EnableNegativeIonTail (const bool on=true)
 Enable/disable simulation of the negative ion tail (default: off).
void SetGainFluctuationsFixed (const double gain=-1.)
 Do not randomize the avalanche size.
void SetGainFluctuationsPolya (const double theta, const double mean=-1., const bool quiet=false)
 Sample the avalanche size from a Polya distribution with shape parameter theta.
void EnableTownsendMap (const bool on=true)
 Retrieve the Townsend coefficient from the component.
void EnableVelocityMap (const bool on=true)
 Retrieve the drift velocity from the component.
bool DriftElectron (const double x, const double y, const double z, const double t, const size_t w=1)
 Simulate the drift line of an electron with a given starting point.
bool DriftHole (const double x, const double y, const double z, const double t, const size_t w=1)
 Simulate the drift line of a hole with a given starting point.
bool DriftIon (const double x, const double y, const double z, const double t, const size_t w=1)
 Simulate the drift line of an ion with a given starting point.
bool DriftPositron (const double x, const double y, const double z, const double t, const size_t w=1)
 Simulate the drift line of an electron with a given starting point, assuming that it has positive charge.
bool DriftNegativeIon (const double x, const double y, const double z, const double t, const size_t w=1)
 Simulate the drift line of an ion with a given starting point, assuming that it has negative charge.
void PrintDriftLine () const
 Print the trajectory of the most recent drift line.
void GetEndPoint (double &x, double &y, double &z, double &t, int &st) const
 Get the end point and status flag of the most recent drift line.
size_t GetNumberOfDriftLinePoints () const
 Get the number of points of the most recent drift line.
void GetDriftLinePoint (const size_t i, double &x, double &y, double &z, double &t) const
 Get the coordinates and time of a point along the most recent drift line.
double GetArrivalTimeSpread (const double eps=1.e-4) const
 Compute the sigma of the arrival time distribution for the current drift line by integrating the longitudinal diffusion coefficient.
double GetGain (const double eps=1.e-4) const
 Compute the multiplication factor for the current drift line.
double GetLoss (const double eps=1.e-4) const
 Compute the attachment loss factor for the current drift line.
double GetDriftTime () const
 Get the cumulative drift time.
double GetPathLength () const
 Get the cumulative path length.
void GetAvalancheSize (double &ne, double &ni) const
 Return the number of electrons and ions in the avalanche.
std::pair< double, double > GetAvalancheSize () const
 Return the number of electrons and ions in the avalanche.
bool FieldLine (const double xi, const double yi, const double zi, std::vector< std::array< float, 3 > > &xl, const bool electron=true) const
 Compute an electric field line.
void EnableDebugging (const bool on=true)
 Switch debugging messages on/off (default: off).

Private Types

enum class  GainFluctuations { None = 0 , Polya }

Private Member Functions

bool DriftLine (const std::array< double, 3 > &x0, const double t0, const Particle particle, std::vector< double > &ts, std::vector< std::array< double, 3 > > &xs, int &status) const
bool Avalanche (const Particle particle, const std::vector< std::array< double, 3 > > &xs, std::vector< double > &ne, std::vector< double > &ni, std::vector< double > &nn, double &scale) const
bool AddIonTail (const std::vector< double > &te, const std::vector< std::array< double, 3 > > &xe, const std::vector< double > &ni, const double scale) const
bool AddNegativeIonTail (const std::vector< double > &te, const std::vector< std::array< double, 3 > > &xe, const std::vector< double > &nn, const double scale) const
int GetField (const std::array< double, 3 > &x, double &ex, double &ey, double &ez, double &bx, double &by, double &bz, Medium *&medium) const
std::array< double, 3 > GetVelocity (const std::array< double, 3 > &x, const Particle particle, int &status) const
bool GetDiffusion (const std::array< double, 3 > &x, const Particle particle, double &dl, double &dt) const
double GetVar (const std::array< double, 3 > &x, const Particle particle) const
double GetAlpha (const std::array< double, 3 > &x, const Particle particle) const
double GetEta (const std::array< double, 3 > &x, const Particle particle) const
bool Terminate (const std::array< double, 3 > &xx0, const std::array< double, 3 > &xx1, const Particle particle, std::vector< double > &ts, std::vector< std::array< double, 3 > > &xs) const
bool DriftToWire (const double xw, const double yw, const double rw, const Particle particle, std::vector< double > &ts, std::vector< std::array< double, 3 > > &xs, int &stat) const
double ComputeSigma (const std::vector< std::array< double, 3 > > &x, const Particle particle, const double eps) const
double ComputeGain (const std::vector< std::array< double, 3 > > &x, const Particle particle, const double eps) const
double ComputeLoss (const std::vector< std::array< double, 3 > > &x, const Particle particle, const double eps) const
double IntegrateDiffusion (const std::array< double, 3 > &xi, const std::array< double, 3 > &xe, const Particle particle, const double tol) const
double IntegrateAlpha (const std::array< double, 3 > &xi, const std::array< double, 3 > &xe, const Particle particle, const double tol) const
double IntegrateEta (const std::array< double, 3 > &xi, const std::array< double, 3 > &xe, const Particle particle, const double tol) const
void ComputeSignal (const Particle particle, const double scale, const std::vector< double > &ts, const std::vector< std::array< double, 3 > > &xs, const std::vector< double > &ne) const
void Terminate (const std::array< double, 3 > &xx0, const std::array< double, 3 > &xx1, std::vector< std::array< float, 3 > > &xs) const

Static Private Member Functions

static double Charge (const Particle particle)

Private Attributes

std::string m_className = "DriftLineRKF"
Sensor * m_sensor = nullptr
Particle m_particle = Particle::Electron
double m_maxStepSize = 0.
double m_accuracy = 1.e-8
bool m_rejectKinks = true
bool m_useStepSizeLimit = false
ViewDriftm_view = nullptr
std::vector< std::array< double, 3 > > m_x
std::vector< double > m_t
int m_status = 0
bool m_doSignal = true
unsigned int m_navg = 2
bool m_useWeightingPotential = true
double m_scaleE = 1.
double m_scaleH = 1.
double m_scaleI = 1.
bool m_useVelocityMap = false
bool m_useTownsendMap = false
bool m_doAvalanche = true
GainFluctuations m_gainFluctuations = GainFluctuations::None
double m_theta = 0.
double m_gain = -1.
bool m_doIonTail = true
bool m_doIonTailAuto = true
bool m_doNegativeIonTail = false
double m_nE = 0.
double m_nI = 0.
bool m_debug = false

Detailed Description

Calculation of drift lines based on macroscopic transport coefficients using Runge-Kutta-Fehlberg integration.

Definition at line 18 of file DriftLineRKF.hh.

Member Enumeration Documentation

◆ GainFluctuations

enum class Garfield::DriftLineRKF::GainFluctuations
strongprivate
Enumerator
None 
Polya 

Definition at line 203 of file DriftLineRKF.hh.

203{ None = 0, Polya };

Constructor & Destructor Documentation

◆ DriftLineRKF() [1/2]

Garfield::DriftLineRKF::DriftLineRKF ( )
inline

Default constructor.

Definition at line 21 of file DriftLineRKF.hh.

21: DriftLineRKF(nullptr) {}
DriftLineRKF()
Default constructor.

◆ DriftLineRKF() [2/2]

Garfield::DriftLineRKF::DriftLineRKF ( Sensor * sensor)

Constructor.

◆ ~DriftLineRKF()

Garfield::DriftLineRKF::~DriftLineRKF ( )
inline

Destructor.

Definition at line 25 of file DriftLineRKF.hh.

25{}

Member Function Documentation

◆ AddIonTail()

bool Garfield::DriftLineRKF::AddIonTail ( const std::vector< double > & te,
const std::vector< std::array< double, 3 > > & xe,
const std::vector< double > & ni,
const double scale ) const
private

◆ AddNegativeIonTail()

bool Garfield::DriftLineRKF::AddNegativeIonTail ( const std::vector< double > & te,
const std::vector< std::array< double, 3 > > & xe,
const std::vector< double > & nn,
const double scale ) const
private

◆ Avalanche()

bool Garfield::DriftLineRKF::Avalanche ( const Particle particle,
const std::vector< std::array< double, 3 > > & xs,
std::vector< double > & ne,
std::vector< double > & ni,
std::vector< double > & nn,
double & scale ) const
private

◆ Charge()

double Garfield::DriftLineRKF::Charge ( const Particle particle)
inlinestaticprivate

Definition at line 301 of file DriftLineRKF.hh.

301 {
302 if (particle == Particle::Electron || particle == Particle::NegativeIon) {
303 return -1.;
304 }
305 return 1.;
306 }

◆ ComputeGain()

double Garfield::DriftLineRKF::ComputeGain ( const std::vector< std::array< double, 3 > > & x,
const Particle particle,
const double eps ) const
private

◆ ComputeLoss()

double Garfield::DriftLineRKF::ComputeLoss ( const std::vector< std::array< double, 3 > > & x,
const Particle particle,
const double eps ) const
private

◆ ComputeSigma()

double Garfield::DriftLineRKF::ComputeSigma ( const std::vector< std::array< double, 3 > > & x,
const Particle particle,
const double eps ) const
private

◆ ComputeSignal()

void Garfield::DriftLineRKF::ComputeSignal ( const Particle particle,
const double scale,
const std::vector< double > & ts,
const std::vector< std::array< double, 3 > > & xs,
const std::vector< double > & ne ) const
private

◆ DisablePlotting()

void Garfield::DriftLineRKF::DisablePlotting ( )

Switch off drift line plotting.

◆ DriftElectron()

bool Garfield::DriftLineRKF::DriftElectron ( const double x,
const double y,
const double z,
const double t,
const size_t w = 1 )

Simulate the drift line of an electron with a given starting point.

◆ DriftHole()

bool Garfield::DriftLineRKF::DriftHole ( const double x,
const double y,
const double z,
const double t,
const size_t w = 1 )

Simulate the drift line of a hole with a given starting point.

◆ DriftIon()

bool Garfield::DriftLineRKF::DriftIon ( const double x,
const double y,
const double z,
const double t,
const size_t w = 1 )

Simulate the drift line of an ion with a given starting point.

◆ DriftLine()

bool Garfield::DriftLineRKF::DriftLine ( const std::array< double, 3 > & x0,
const double t0,
const Particle particle,
std::vector< double > & ts,
std::vector< std::array< double, 3 > > & xs,
int & status ) const
private

◆ DriftNegativeIon()

bool Garfield::DriftLineRKF::DriftNegativeIon ( const double x,
const double y,
const double z,
const double t,
const size_t w = 1 )

Simulate the drift line of an ion with a given starting point, assuming that it has negative charge.

◆ DriftPositron()

bool Garfield::DriftLineRKF::DriftPositron ( const double x,
const double y,
const double z,
const double t,
const size_t w = 1 )

Simulate the drift line of an electron with a given starting point, assuming that it has positive charge.

◆ DriftToWire()

bool Garfield::DriftLineRKF::DriftToWire ( const double xw,
const double yw,
const double rw,
const Particle particle,
std::vector< double > & ts,
std::vector< std::array< double, 3 > > & xs,
int & stat ) const
private

◆ EnableAvalanche()

void Garfield::DriftLineRKF::EnableAvalanche ( const bool on = true)
inline

Enable/disable simulation electron multiplication (default: on).

Definition at line 70 of file DriftLineRKF.hh.

◆ EnableDebugging()

void Garfield::DriftLineRKF::EnableDebugging ( const bool on = true)
inline

Switch debugging messages on/off (default: off).

Definition at line 152 of file DriftLineRKF.hh.

152{ m_debug = on; }

◆ EnableIonTail()

void Garfield::DriftLineRKF::EnableIonTail ( const bool on = true)
inline

Enable/disable simulation of the ion tail (default: on).

Definition at line 72 of file DriftLineRKF.hh.

72 {
73 m_doIonTail = on;
74 m_doIonTailAuto = false;
75 }

◆ EnableNegativeIonTail()

void Garfield::DriftLineRKF::EnableNegativeIonTail ( const bool on = true)
inline

Enable/disable simulation of the negative ion tail (default: off).

Definition at line 77 of file DriftLineRKF.hh.

◆ EnablePlotting()

void Garfield::DriftLineRKF::EnablePlotting ( ViewDrift * view)

Switch on drift line plotting.

◆ EnableSignalCalculation()

void Garfield::DriftLineRKF::EnableSignalCalculation ( const bool on = true)
inline

Switch calculation of induced currents on or off (default: enabled).

Definition at line 36 of file DriftLineRKF.hh.

◆ EnableTownsendMap()

void Garfield::DriftLineRKF::EnableTownsendMap ( const bool on = true)
inline

Retrieve the Townsend coefficient from the component.

Definition at line 86 of file DriftLineRKF.hh.

◆ EnableVelocityMap()

void Garfield::DriftLineRKF::EnableVelocityMap ( const bool on = true)
inline

Retrieve the drift velocity from the component.

Definition at line 88 of file DriftLineRKF.hh.

◆ FieldLine()

bool Garfield::DriftLineRKF::FieldLine ( const double xi,
const double yi,
const double zi,
std::vector< std::array< float, 3 > > & xl,
const bool electron = true ) const

Compute an electric field line.

Parameters
xi,yi,zistarting point
xlpoints along the field line
electronflag to set the direction in which to follow the field

◆ GetAlpha()

double Garfield::DriftLineRKF::GetAlpha ( const std::array< double, 3 > & x,
const Particle particle ) const
private

◆ GetArrivalTimeSpread()

double Garfield::DriftLineRKF::GetArrivalTimeSpread ( const double eps = 1.e-4) const

Compute the sigma of the arrival time distribution for the current drift line by integrating the longitudinal diffusion coefficient.

◆ GetAvalancheSize() [1/2]

std::pair< double, double > Garfield::DriftLineRKF::GetAvalancheSize ( ) const
inline

Return the number of electrons and ions in the avalanche.

Definition at line 138 of file DriftLineRKF.hh.

138 {
139 return std::make_pair(m_nE, m_nI);
140 }

◆ GetAvalancheSize() [2/2]

void Garfield::DriftLineRKF::GetAvalancheSize ( double & ne,
double & ni ) const
inline

Return the number of electrons and ions in the avalanche.

Definition at line 133 of file DriftLineRKF.hh.

133 {
134 ne = m_nE;
135 ni = m_nI;
136 }

◆ GetDiffusion()

bool Garfield::DriftLineRKF::GetDiffusion ( const std::array< double, 3 > & x,
const Particle particle,
double & dl,
double & dt ) const
private

◆ GetDriftLinePoint()

void Garfield::DriftLineRKF::GetDriftLinePoint ( const size_t i,
double & x,
double & y,
double & z,
double & t ) const

Get the coordinates and time of a point along the most recent drift line.

◆ GetDriftTime()

double Garfield::DriftLineRKF::GetDriftTime ( ) const
inline

Get the cumulative drift time.

Definition at line 126 of file DriftLineRKF.hh.

126 {
127 return m_t.empty() ? 0. : m_t.back() - m_t.front();
128 }
std::vector< double > m_t

◆ GetEndPoint()

void Garfield::DriftLineRKF::GetEndPoint ( double & x,
double & y,
double & z,
double & t,
int & st ) const

Get the end point and status flag of the most recent drift line.

◆ GetEta()

double Garfield::DriftLineRKF::GetEta ( const std::array< double, 3 > & x,
const Particle particle ) const
private

◆ GetField()

int Garfield::DriftLineRKF::GetField ( const std::array< double, 3 > & x,
double & ex,
double & ey,
double & ez,
double & bx,
double & by,
double & bz,
Medium *& medium ) const
private

◆ GetGain()

double Garfield::DriftLineRKF::GetGain ( const double eps = 1.e-4) const

Compute the multiplication factor for the current drift line.

◆ GetLoss()

double Garfield::DriftLineRKF::GetLoss ( const double eps = 1.e-4) const

Compute the attachment loss factor for the current drift line.

◆ GetNumberOfDriftLinePoints()

size_t Garfield::DriftLineRKF::GetNumberOfDriftLinePoints ( ) const
inline

Get the number of points of the most recent drift line.

Definition at line 113 of file DriftLineRKF.hh.

113{ return m_x.size(); }
std::vector< std::array< double, 3 > > m_x

◆ GetPathLength()

double Garfield::DriftLineRKF::GetPathLength ( ) const

Get the cumulative path length.

◆ GetVar()

double Garfield::DriftLineRKF::GetVar ( const std::array< double, 3 > & x,
const Particle particle ) const
private

◆ GetVelocity()

std::array< double, 3 > Garfield::DriftLineRKF::GetVelocity ( const std::array< double, 3 > & x,
const Particle particle,
int & status ) const
private

◆ IntegrateAlpha()

double Garfield::DriftLineRKF::IntegrateAlpha ( const std::array< double, 3 > & xi,
const std::array< double, 3 > & xe,
const Particle particle,
const double tol ) const
private

◆ IntegrateDiffusion()

double Garfield::DriftLineRKF::IntegrateDiffusion ( const std::array< double, 3 > & xi,
const std::array< double, 3 > & xe,
const Particle particle,
const double tol ) const
private

◆ IntegrateEta()

double Garfield::DriftLineRKF::IntegrateEta ( const std::array< double, 3 > & xi,
const std::array< double, 3 > & xe,
const Particle particle,
const double tol ) const
private

◆ PrintDriftLine()

void Garfield::DriftLineRKF::PrintDriftLine ( ) const

Print the trajectory of the most recent drift line.

◆ RejectKinks()

void Garfield::DriftLineRKF::RejectKinks ( const bool on = true)
inline

Request (or not) the drift line calculation to be aborted if the drift line makes a bend sharper than 90 degrees.

Definition at line 60 of file DriftLineRKF.hh.

◆ SetElectronSignalScalingFactor()

void Garfield::DriftLineRKF::SetElectronSignalScalingFactor ( const double scale)
inline

Set multiplication factor for the signal induced by electrons.

Definition at line 63 of file DriftLineRKF.hh.

63{ m_scaleE = scale; }

◆ SetGainFluctuationsFixed()

void Garfield::DriftLineRKF::SetGainFluctuationsFixed ( const double gain = -1.)

Do not randomize the avalanche size.

◆ SetGainFluctuationsPolya()

void Garfield::DriftLineRKF::SetGainFluctuationsPolya ( const double theta,
const double mean = -1.,
const bool quiet = false )

Sample the avalanche size from a Polya distribution with shape parameter theta.

◆ SetHoleSignalScalingFactor()

void Garfield::DriftLineRKF::SetHoleSignalScalingFactor ( const double scale)
inline

Set multiplication factor for the signal induced by holes.

Definition at line 65 of file DriftLineRKF.hh.

65{ m_scaleH = scale; }

◆ SetIntegrationAccuracy()

void Garfield::DriftLineRKF::SetIntegrationAccuracy ( const double eps)

Set the accuracy of the Runge Kutta Fehlberg drift line integration.

◆ SetIonSignalScalingFactor()

void Garfield::DriftLineRKF::SetIonSignalScalingFactor ( const double scale)
inline

Set multiplication factor for the signal induced by ions.

Definition at line 67 of file DriftLineRKF.hh.

67{ m_scaleI = scale; }

◆ SetMaximumStepSize() [1/2]

void Garfield::DriftLineRKF::SetMaximumStepSize ( )

Try to set an upper limit to the allowable step size based on the feature size of the sensor.

◆ SetMaximumStepSize() [2/2]

void Garfield::DriftLineRKF::SetMaximumStepSize ( const double ms)

Set (explicitly) the maximum step size that is allowed.

◆ SetSensor()

void Garfield::DriftLineRKF::SetSensor ( Sensor * s)

Set the sensor.

◆ SetSignalAveragingOrder()

void Garfield::DriftLineRKF::SetSignalAveragingOrder ( const unsigned int navg)
inline

Set the number of points to be used when averaging the delayed signal vector over a time bin in the Sensor class.

The averaging is done with a $2\times navg + 1$ point Newton-Raphson integration. Default: 2.

Definition at line 41 of file DriftLineRKF.hh.

41{ m_navg = navg; }

◆ Terminate() [1/2]

bool Garfield::DriftLineRKF::Terminate ( const std::array< double, 3 > & xx0,
const std::array< double, 3 > & xx1,
const Particle particle,
std::vector< double > & ts,
std::vector< std::array< double, 3 > > & xs ) const
private

◆ Terminate() [2/2]

void Garfield::DriftLineRKF::Terminate ( const std::array< double, 3 > & xx0,
const std::array< double, 3 > & xx1,
std::vector< std::array< float, 3 > > & xs ) const
private

◆ UnsetMaximumStepSize()

void Garfield::DriftLineRKF::UnsetMaximumStepSize ( )
inline

Do not apply an upper limit to the allowable step size.

Definition at line 57 of file DriftLineRKF.hh.

◆ UseWeightingPotential()

void Garfield::DriftLineRKF::UseWeightingPotential ( const bool on = true)
inline

Use the weighting potential (as opposed to the weighting field) for calculating the induced signal.

By default, the weighting potential is used.

Definition at line 45 of file DriftLineRKF.hh.

45 {
47 }

Member Data Documentation

◆ m_accuracy

double Garfield::DriftLineRKF::m_accuracy = 1.e-8
private

Definition at line 166 of file DriftLineRKF.hh.

◆ m_className

std::string Garfield::DriftLineRKF::m_className = "DriftLineRKF"
private

Definition at line 155 of file DriftLineRKF.hh.

◆ m_debug

bool Garfield::DriftLineRKF::m_debug = false
private

Definition at line 221 of file DriftLineRKF.hh.

◆ m_doAvalanche

bool Garfield::DriftLineRKF::m_doAvalanche = true
private

Definition at line 202 of file DriftLineRKF.hh.

◆ m_doIonTail

bool Garfield::DriftLineRKF::m_doIonTail = true
private

Definition at line 212 of file DriftLineRKF.hh.

◆ m_doIonTailAuto

bool Garfield::DriftLineRKF::m_doIonTailAuto = true
private

Definition at line 214 of file DriftLineRKF.hh.

◆ m_doNegativeIonTail

bool Garfield::DriftLineRKF::m_doNegativeIonTail = false
private

Definition at line 216 of file DriftLineRKF.hh.

◆ m_doSignal

bool Garfield::DriftLineRKF::m_doSignal = true
private

Definition at line 183 of file DriftLineRKF.hh.

◆ m_gain

double Garfield::DriftLineRKF::m_gain = -1.
private

Definition at line 209 of file DriftLineRKF.hh.

◆ m_gainFluctuations

GainFluctuations Garfield::DriftLineRKF::m_gainFluctuations = GainFluctuations::None
private

Definition at line 205 of file DriftLineRKF.hh.

◆ m_maxStepSize

double Garfield::DriftLineRKF::m_maxStepSize = 0.
private

Definition at line 164 of file DriftLineRKF.hh.

◆ m_navg

unsigned int Garfield::DriftLineRKF::m_navg = 2
private

Definition at line 185 of file DriftLineRKF.hh.

◆ m_nE

double Garfield::DriftLineRKF::m_nE = 0.
private

Definition at line 218 of file DriftLineRKF.hh.

◆ m_nI

double Garfield::DriftLineRKF::m_nI = 0.
private

Definition at line 218 of file DriftLineRKF.hh.

◆ m_particle

Particle Garfield::DriftLineRKF::m_particle = Particle::Electron
private

Definition at line 161 of file DriftLineRKF.hh.

◆ m_rejectKinks

bool Garfield::DriftLineRKF::m_rejectKinks = true
private

Definition at line 168 of file DriftLineRKF.hh.

◆ m_scaleE

double Garfield::DriftLineRKF::m_scaleE = 1.
private

Definition at line 190 of file DriftLineRKF.hh.

◆ m_scaleH

double Garfield::DriftLineRKF::m_scaleH = 1.
private

Definition at line 192 of file DriftLineRKF.hh.

◆ m_scaleI

double Garfield::DriftLineRKF::m_scaleI = 1.
private

Definition at line 194 of file DriftLineRKF.hh.

◆ m_sensor

Sensor* Garfield::DriftLineRKF::m_sensor = nullptr
private

Definition at line 158 of file DriftLineRKF.hh.

◆ m_status

int Garfield::DriftLineRKF::m_status = 0
private

Definition at line 180 of file DriftLineRKF.hh.

◆ m_t

std::vector<double> Garfield::DriftLineRKF::m_t
private

Definition at line 178 of file DriftLineRKF.hh.

◆ m_theta

double Garfield::DriftLineRKF::m_theta = 0.
private

Definition at line 207 of file DriftLineRKF.hh.

◆ m_useStepSizeLimit

bool Garfield::DriftLineRKF::m_useStepSizeLimit = false
private

Definition at line 170 of file DriftLineRKF.hh.

◆ m_useTownsendMap

bool Garfield::DriftLineRKF::m_useTownsendMap = false
private

Definition at line 199 of file DriftLineRKF.hh.

◆ m_useVelocityMap

bool Garfield::DriftLineRKF::m_useVelocityMap = false
private

Definition at line 197 of file DriftLineRKF.hh.

◆ m_useWeightingPotential

bool Garfield::DriftLineRKF::m_useWeightingPotential = true
private

Definition at line 187 of file DriftLineRKF.hh.

◆ m_view

ViewDrift* Garfield::DriftLineRKF::m_view = nullptr
private

Definition at line 173 of file DriftLineRKF.hh.

◆ m_x

std::vector<std::array<double, 3> > Garfield::DriftLineRKF::m_x
private

Definition at line 176 of file DriftLineRKF.hh.


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