1#ifndef G_COMPONENT_USER_H
2#define G_COMPONENT_USER_H
18 void ElectricField(
const double x,
const double y,
const double z,
double& ex,
19 double& ey,
double& ez,
Medium*& m,
int& status);
20 void ElectricField(
const double x,
const double y,
const double z,
double& ex,
21 double& ey,
double& ez,
double& v,
Medium*& m,
24 void MagneticField(
const double x,
const double y,
const double z,
25 double& bx,
double& by,
double& bz,
int& status);
26 void WeightingField(
const double x,
const double y,
const double z,
27 double& wx,
double& wy,
double& wz,
28 const std::string& label);
30 const std::string& label);
34 double&,
double&,
double&));
36 void SetPotential(
void (*f)(
const double,
const double,
const double,
40 double&,
double&,
double&,
44 double&,
const std::string));
47 double&,
double&,
double&));
51 void (*m_efield)(
const double,
const double,
const double,
double&,
double&,
55 void (*m_potential)(
const double,
const double,
const double,
double&);
58 void (*m_wfield)(
const double,
const double,
const double,
double&,
double&,
59 double&,
const std::string);
62 void (*m_wpot)(
const double,
const double,
const double,
double&,
66 void (*m_bfield)(
const double,
const double,
const double,
double&,
double&,
72 void UpdatePeriodicity();
Abstract base class for components.
Simple component with electric field given by a user function.
void SetWeightingField(void(*f)(const double, const double, const double, double &, double &, double &, const std::string))
Set the function to be called for calculating the weighting field.
void SetMagneticField(void(*f)(const double, const double, const double, double &, double &, double &))
Set the function to be called for calculating the magnetic field.
bool GetVoltageRange(double &vmin, double &vmax)
Calculate the voltage range [V].
void MagneticField(const double x, const double y, const double z, double &bx, double &by, double &bz, int &status)
void SetElectricField(void(*f)(const double, const double, const double, double &, double &, double &))
Set the function to be called for calculating the electric field.
void WeightingField(const double x, const double y, const double z, double &wx, double &wy, double &wz, const std::string &label)
ComponentUser()
Constructor.
double WeightingPotential(const double x, const double y, const double z, const std::string &label)
void ElectricField(const double x, const double y, const double z, double &ex, double &ey, double &ez, Medium *&m, int &status)
void SetPotential(void(*f)(const double, const double, const double, double &))
Set the function to be called for calculating the potential.
void SetWeightingPotential(void(*f)(const double, const double, const double, double &, const std::string))
Set the function to be called for calculating the weighting potential.
~ComponentUser()
Destructor.
Abstract base class for media.