32 void SetRangeE(
const double emin,
const double emax,
const bool logscale);
34 void SetRangeB(
const double bmin,
const double bmax,
const bool logscale);
36 void SetRangeA(
const double amin,
const double amax,
const bool logscale);
38 void SetRangeEN(
const double emin,
const double emax,
const bool logscale);
40 void SetRangeEP(
const double emin,
const double emax,
const bool logscale);
44 void SetRangeY(
const double ymin,
const double ymax,
45 const bool logscale =
false);
95 const bool same =
false) {
124 const bool same =
false) {
129 const bool same =
false) {
134 const bool same =
false) {
147 const bool same =
false) {
157 const bool same =
false) {
245 bool GetGrid(std::array<std::vector<double>, 3>& grid,
int& ie,
int& ib,
246 int& ia,
const Axis xaxis)
const;
ViewBase()=delete
Default constructor.
void PlotHoleTownsend(const char xaxis='e', const bool same=false)
Plot the Townsend coefficient for holes.
void PlotElectronVelocity(const char xaxis='e', const bool same=false)
Plot the drift velocity components of electrons in the medium.
void SetRangeY(const double ymin, const double ymax, const bool logscale=false)
Set the range of the function (velocity etc.) to be plotted.
void SetAngle(const double angle)
Set the angle to use when plotting as function of E or B.
void SetRangeB(const double bmin, const double bmax, const bool logscale)
Set the limits of the magnetic field.
void PlotElectronTownsend(const char xaxis='e', const bool same=false)
Plot the Townsend coefficient for electrons.
void PlotElectronReducedTownsendP(const char xaxis='p', const bool same=false)
Plot the Townsend coefficient for electrons.
void PlotAttachment(const std::string &carriers, const char xaxis)
Plot the attachment coefficient.
void PlotElectronAttachment(const char xaxis='e', const bool same=false)
Plot the attachment coefficient for electrons.
void SetLabels(const std::vector< std::string > &labels)
Set user-defined plot labels.
void PlotElectronVelocityFluxBulk(const char xaxis='e', const bool same=false)
Plot Flux and Bulk drift velocity.
void SetRangeEN(const double emin, const double emax, const bool logscale)
Set the limits of the reduced electric field (E/N).
std::vector< std::vector< double > > m_xGraph
double ConvertToEN(const double e0Vcm)
void SetMedium(Medium *m)
Set the medium from which to retrieve the transport coefficients.
std::vector< std::string > m_labels
void SetMagneticField(const double bfield)
Set the magnetic field to use when plotting as function of E or angle.
void PlotLorentzAngle(const Axis xaxis, const Charge particle, const bool same)
double UnConvertFromEP(const double e0VcmTorr)
void PlotAlphaEta(const std::string &carriers, const char xaxis)
Plot Townsend and attachment coefficients.
void PlotElectronTOFIonization(const char xaxis='e', const bool same=false)
Plot the TOF ionization rate.
void PlotElectronLorentzAngle(const char xaxis='e', const bool same=false)
Plot the angle between drift velocity and field.
void PlotElectronReducedTownsendN(const char xaxis='r', const bool same=false)
Plot the Townsend coefficient for electrons.
void PlotIonDiffusion(const char xaxis='e', const bool same=false)
Plot the diffusion coefficients of ions in the gas.
std::vector< Parameter > m_par
ViewMedium(Medium *medium)
Constructor.
void PlotHoleAttachment(const char xaxis='e', const bool same=false)
Plot the attachment coefficient for holes.
Axis GetAxis(const char xaxis) const
void PlotTownsend(const std::string &carriers, const char xaxis)
Plot the Townsend coefficient.
~ViewMedium()=default
Destructor.
void EnableExport(const std::string &txtfile)
void PlotHoleVelocity(const char xaxis='e', const bool same=false)
Plot the drift velocity components of holes in the medium.
void SetColours(const std::vector< short > &cols)
Set the (ROOT) colours to be used in the plots.
std::vector< Charge > m_q
void PlotDiffusion(const std::string &carriers, const char xaxis)
Plot the transverse and longitudinal diffusion coefficients.
double UnConvertFromEN(const double e0Td)
void ResetX(const Axis xaxis)
void PlotIonVelocity(const char xaxis='e', const bool same=false)
Plot the ion drift velocity in the gas.
void SetRangeEP(const double emin, const double emax, const bool logscale)
Set the limits of the reduced electric field (E/P).
void EnableAutoRangeY(const bool on=true)
Choose the y-axis range based on the function's minima/maxima.
void SetRangeE(const double emin, const double emax, const bool logscale)
Set the limits of the electric field.
bool GetGrid(std::array< std::vector< double >, 3 > &grid, int &ie, int &ib, int &ia, const Axis xaxis) const
void PlotVelocityFluxBulk(const Axis xaxis, const Charge particle, const bool same)
void SetElectricField(const double efield)
Set the electric field to use when plotting as function of B or angle.
double ConvertToEP(const double e0Vcm)
void PlotDiffusion(const Axis xaxis, const Charge particle, const bool same)
void PlotElectronDiffusion(const char xaxis='e', const bool same=false)
Plot the diffusion coefficients in the medium.
std::vector< double > m_xPlot
void Plot(const Axis xaxis, const Charge particle, const Parameter par, const bool same)
void PlotVelocity(const std::string &carriers, const char xaxis)
Plot the drift velocity components.
void SetRangeA(const double amin, const double amax, const bool logscale)
Set the limits of the angle between electric and magnetic field.
void EnableAutoRangeX(const bool on=true)
Try to choose the x-axis range based on the field grid.
void PlotVelocity(const Axis xaxis, const Charge particle, const bool same)
std::vector< std::vector< double > > m_yGraph
ViewMedium()
Default constructor.
void PlotElectronTOFAttachment(const char xaxis='e', const bool same=false)
Plot the TOF attachment rate.
std::vector< std::vector< double > > m_yPlot
void PlotHoleDiffusion(const char xaxis='e', const bool same=false)
Plot the diffusion coefficients of holes in the medium.
std::vector< short > m_colours