38 void SetArea(
const double xmin,
const double ymin,
39 const double xmax,
const double ymax);
47 void SetPlane(
const double fx,
const double fy,
const double fz,
48 const double x0,
const double y0,
const double z0);
52 void Rotate(
const double angle);
78 void Plot(
const std::string& option =
"v",
79 const std::string& drawopt =
"arr");
85 void PlotProfile(
const double x0,
const double y0,
const double z0,
86 const double x1,
const double y1,
const double z1,
87 const std::string& option =
"v");
94 const std::string& option);
100 const std::string& option) {
109 const std::string& option,
110 const std::string& drawopt);
119 const double x0,
const double y0,
const double z0,
120 const double x1,
const double y1,
const double z1,
121 const std::string& option =
"v");
156 std::string m_className;
158 static const unsigned int m_nMaxContours = 50;
172 double m_project[3][3];
174 char m_xLabel[50], m_yLabel[50], m_description[50];
178 double m_xmin, m_ymin;
179 double m_xmax, m_ymax;
182 double m_vmin, m_vmax;
183 double m_emin, m_emax;
184 double m_wmin, m_wmax;
187 unsigned int m_nContours;
189 unsigned int m_nSamples1d;
190 unsigned int m_nSamples2dX, m_nSamples2dY;
192 std::string m_electrode;
196 bool m_hasExternalCanvas;
205 void CreateFunction();
206 bool SetupFunction(
const std::string& option,
TF2*& f,
const bool contour,
207 const bool wfield =
false);
208 bool SetupProfile(
const double x0,
const double y0,
const double z0,
209 const double x1,
const double y1,
const double z1,
210 const std::string& option,
TF1*& f,
const bool wfield);
212 PlotType GetPlotType(
const std::string& option, std::string& title)
const;
213 std::string FindUnusedFunctionName(
const std::string& s);
Abstract base class for components.
Visualize the potential or electric field of a component or sensor.
void SetPlane(const double fx, const double fy, const double fz, const double x0, const double y0, const double z0)
void SetElectricFieldRange(const double emin, const double emax)
Set the plot limits for the electric field.
double Evaluate2D(double *pos, double *par)
void PlotWeightingField(const std::string &label, const std::string &option, const std::string &drawopt)
void PlotProfileWeightingField(const std::string &label, const double x0, const double y0, const double z0, const double x1, const double y1, const double z1, const std::string &option="v")
void SetNumberOfSamples2d(const unsigned int nx, const unsigned int ny)
Set the number of points used for drawing 2D functions.
void Rotate(const double angle)
Rotate the viewing plane (angle in radian).
void EnableAcknowledgeStatus(const double v0=0.)
void SetArea()
Set the viewing area based on the bounding box of the sensor/component.
void DisableAcknowledgeStatus()
Ignore the status flag returned by the sensor/component.
void SetComponent(ComponentBase *c)
Set the component from which to retrieve the field.
void SetNumberOfSamples1d(const unsigned int n)
Set the number of points used for drawing 1D functions.
void SetVoltageRange(const double vmin, const double vmax)
Set the plot limits for the potential.
void PlotContour(const std::string &option="v")
void PlotSurface(const std::string &option="v")
void Plot(const std::string &option="v", const std::string &drawopt="arr")
void SetNumberOfContours(const unsigned int n)
Set the number of contour levels (at most 50).
void EnableAutoRange(const bool on=true)
void EnableDebugging(const bool on=true)
Switch on/off debugging output.
void SetWeightingFieldRange(const double wmin, const double wmax)
Set the plot limits for the weighting field.
void PlotSurfaceWeightingField(const std::string &label, const std::string &option)
void SetSensor(Sensor *s)
Set the sensor from which to retrieve the field.
void SetDefaultProjection()
Set the default viewing plane ( - at ).
double EvaluateProfile(double *pos, double *par)
void PlotContourWeightingField(const std::string &label, const std::string &option)
void PlotProfile(const double x0, const double y0, const double z0, const double x1, const double y1, const double z1, const std::string &option="v")
void SetCanvas(TCanvas *c)
Set the canvas to be painted on.