Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Plot transport coefficients as function of electric and magnetic field. More...
#include <ViewMedium.hh>
Public Member Functions | |
ViewMedium () | |
Constructor. | |
~ViewMedium ()=default | |
Destructor. | |
void | SetMedium (Medium *m) |
Set the medium from which to retrieve the transport coefficients. | |
void | EnableAutoRangeX (const bool on=true) |
Try to choose the x-axis range based on the field grid. | |
void | SetRangeE (const double emin, const double emax, const bool logscale) |
Set the limits of the electric field. | |
void | SetRangeB (const double bmin, const double bmax, const bool logscale) |
Set the limits of the magnetic field. | |
void | SetRangeA (const double amin, const double amax, const bool logscale) |
Set the limits of the angle between electric and magnetic field. | |
void | EnableAutoRangeY (const bool on=true) |
Choose the y-axis range based on the function's minima/maxima. | |
void | SetRangeY (const double ymin, const double ymax, const bool logscale=false) |
Set the range of the function (velocity etc.) to be plotted. | |
void | SetElectricField (const double efield) |
Set the electric field to use when plotting as function of B or angle. | |
void | SetMagneticField (const double bfield) |
Set the magnetic field to use when plotting as function of E or angle. | |
void | SetAngle (const double angle) |
Set the angle to use when plotting as function of E or B. | |
void | PlotElectronVelocity (const char xaxis, const bool same=false) |
void | PlotHoleVelocity (const char xaxis, const bool same=false) |
void | PlotIonVelocity (const char xaxis, const bool same=false) |
void | PlotElectronDiffusion (const char xaxis, const bool same=false) |
void | PlotHoleDiffusion (const char xaxis, const bool same=false) |
void | PlotIonDiffusion (const char xaxis, const bool same=false) |
void | PlotElectronTownsend (const char xaxis, const bool same=false) |
void | PlotHoleTownsend (const char xaxis, const bool same=false) |
void | PlotElectronAttachment (const char xaxis, const bool same=false) |
void | PlotHoleAttachment (const char xaxis, const bool same=false) |
void | PlotElectronLorentzAngle (const char xaxis, const bool same=false) |
void | PlotElectronCrossSections () |
double | EvaluateFunction (double *pos, double *par) |
Public Member Functions inherited from Garfield::ViewBase | |
ViewBase ()=delete | |
Default constructor. | |
ViewBase (const std::string &name) | |
Constructor. | |
virtual | ~ViewBase () |
Destructor. | |
void | SetCanvas (TCanvas *c) |
Set the canvas to be painted on. | |
TCanvas * | GetCanvas () |
Retrieve the canvas. | |
void | EnableDebugging (const bool on=true) |
Switch on/off debugging output. | |
Additional Inherited Members | |
Protected Member Functions inherited from Garfield::ViewBase | |
std::string | FindUnusedFunctionName (const std::string &s) const |
std::string | FindUnusedHistogramName (const std::string &s) const |
Protected Attributes inherited from Garfield::ViewBase | |
std::string | m_className = "ViewBase" |
bool | m_debug = false |
TCanvas * | m_canvas = nullptr |
bool | m_hasExternalCanvas = false |
double | m_proj [3][3] |
Plot transport coefficients as function of electric and magnetic field.
Definition at line 19 of file ViewMedium.hh.
Definition at line 65 of file ViewMedium.hh.
Garfield::ViewMedium::ViewMedium | ( | ) |
|
default |
Destructor.
|
inline |
Try to choose the x-axis range based on the field grid.
Definition at line 30 of file ViewMedium.hh.
|
inline |
Choose the y-axis range based on the function's minima/maxima.
Definition at line 38 of file ViewMedium.hh.
double Garfield::ViewMedium::EvaluateFunction | ( | double * | pos, |
double * | par | ||
) |
Definition at line 406 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotElectronAttachment | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 136 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotElectronCrossSections | ( | ) |
Definition at line 151 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotElectronDiffusion | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 108 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotElectronLorentzAngle | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 146 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotElectronTownsend | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 126 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotElectronVelocity | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 89 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotHoleAttachment | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 141 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotHoleDiffusion | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 114 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotHoleTownsend | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 131 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotHoleVelocity | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 96 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotIonDiffusion | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 120 of file ViewMedium.cc.
void Garfield::ViewMedium::PlotIonVelocity | ( | const char | xaxis, |
const bool | same = false |
||
) |
Definition at line 103 of file ViewMedium.cc.
|
inline |
Set the angle to use when plotting as function of E or B.
Definition at line 48 of file ViewMedium.hh.
|
inline |
Set the electric field to use when plotting as function of B or angle.
Definition at line 44 of file ViewMedium.hh.
|
inline |
Set the magnetic field to use when plotting as function of E or angle.
Definition at line 46 of file ViewMedium.hh.
void Garfield::ViewMedium::SetMedium | ( | Medium * | m | ) |
Set the medium from which to retrieve the transport coefficients.
Definition at line 34 of file ViewMedium.cc.
void Garfield::ViewMedium::SetRangeA | ( | const double | amin, |
const double | amax, | ||
const bool | logscale | ||
) |
Set the limits of the angle between electric and magnetic field.
Definition at line 66 of file ViewMedium.cc.
void Garfield::ViewMedium::SetRangeB | ( | const double | bmin, |
const double | bmax, | ||
const bool | logscale | ||
) |
Set the limits of the magnetic field.
Definition at line 55 of file ViewMedium.cc.
void Garfield::ViewMedium::SetRangeE | ( | const double | emin, |
const double | emax, | ||
const bool | logscale | ||
) |
Set the limits of the electric field.
Definition at line 43 of file ViewMedium.cc.
void Garfield::ViewMedium::SetRangeY | ( | const double | ymin, |
const double | ymax, | ||
const bool | logscale = false |
||
) |
Set the range of the function (velocity etc.) to be plotted.
Definition at line 77 of file ViewMedium.cc.