1#ifndef COMPONENT_USER_MAP_BASE_H
2#define COMPONENT_USER_MAP_BASE_H
16 void ElectricField(
const double x,
const double y,
const double z,
double& ex,
17 double& ey,
double& ez,
Medium*& m,
int& status);
18 void ElectricField(
const double x,
const double y,
const double z,
double& ex,
19 double& ey,
double& ez,
double& v,
Medium*& m,
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);
41 double& u2x,
double& u3x,
double& u1y,
42 double& u2y,
double& u3y,
double& u1z,
43 double& u2z,
double& u3z,
50 double& u2x,
double& u3x,
double& u1y,
51 double& u2y,
double& u3y,
double& u1z,
52 double& u2z,
double& u3z,
55 MapCoordinates(p1, p2, p3, u1x, u2x, u3x, u1y, u2y, u3y, u1z, u2z, u3z,
63 void UnmapField(
const double e1,
const double e2,
const double e3,
64 const double u1x,
const double u2x,
const double u3x,
65 const double u1y,
const double u2y,
const double u3y,
66 const double u1z,
const double u2z,
const double u3z,
67 double& ex,
double& ey,
double& ez)
const {
68 ex = u1x * e1 + u2x * e2 + u3x * e3;
69 ey = u1y * e1 + u2y * e2 + u3y * e3;
70 ez = u1z * e1 + u2z * e2 + u3z * e3;
Abstract base class for components.
Medium * GetMedium(const double x, const double y, const double z)
Get the medium at a given location (x, y, z).
void Reset()
Reset the component.
bool GetVoltageRange(double &vmin, double &vmax)
Calculate the voltage range [V].
void UnmapField(const double e1, const double e2, const double e3, const double u1x, const double u2x, const double u3x, const double u1y, const double u2y, const double u3y, const double u1z, const double u2z, const double u3z, double &ex, double &ey, double &ez) const
void ElectricField(const double x, const double y, const double z, double &ex, double &ey, double &ez, Medium *&m, int &status)
void WeightingField(const double x, const double y, const double z, double &wx, double &wy, double &wz, const std::string &label)
void UpdatePeriodicity()
Verify periodicities.
virtual ~ComponentUserMapBase()
double WeightingPotential(const double x, const double y, const double z, const std::string &label)
virtual void MapCoordinates(double &p1, double &p2, double &p3, double &u1x, double &u2x, double &u3x, double &u1y, double &u2y, double &u3y, double &u1z, double &u2z, double &u3z, ComponentBase *&pComponent)=0
virtual void MapCoordinates(double &p1, double &p2, double &p3, double &u1x, double &u2x, double &u3x, double &u1y, double &u2y, double &u3y, double &u1z, double &u2z, double &u3z, ComponentBase *&pComponent, std::string &label)
Abstract base class for media.