7 : m_className(
"ComponentBase"),
13 xMirrorPeriodic(false),
14 yMirrorPeriodic(false),
15 zMirrorPeriodic(false),
16 xAxiallyPeriodic(false),
17 yAxiallyPeriodic(false),
18 zAxiallyPeriodic(false),
19 xRotationSymmetry(false),
20 yRotationSymmetry(false),
21 zRotationSymmetry(false),
31 std::cerr <<
"ComponentBase::SetGeometry:\n";
32 std::cerr <<
" Geometry pointer is null.\n";
53 const double z,
double& wx,
double& wy,
54 double& wz,
const std::string label) {
57 std::cerr <<
" This function is not implemented.\n";
58 std::cerr <<
" Weighting field at (" << x <<
", " << y <<
", " << z
59 <<
") for electrode " << label <<
" cannot be calculated.\n";
66 const std::string label) {
69 std::cerr <<
m_className <<
"::WeightingPotential:\n";
70 std::cerr <<
" This function is not implemented.\n";
71 std::cerr <<
" Weighting potential at (" << x <<
", " << y <<
", " << z
72 <<
") for electrode " << label <<
" cannot be calculated.\n";
78 const double z,
double& bx,
double& by,
79 double& bz,
int& status) {
85 std::cout <<
" Magnetic field at (" << x <<
", " << y <<
", " << z
86 <<
") is (" << bx <<
", " << by <<
", " << bz <<
")\n";
100 double& xmax,
double& ymax,
double& zmax) {
108 const double ,
const double ,
109 const double ,
double& xc,
110 double& yc,
double& zc) {
120 double& yw,
double& rw) {
129 std::cout <<
" (" << x0 <<
", " << y0 <<
", " << z0 <<
") \n";
130 std::cout <<
" not trapped by a wire.\n";
GeometryBase * theGeometry
virtual bool IsInTrapRadius(double x0, double y0, double z0, double &xw, double &yw, double &rw)
void SetMagneticField(const double bx, const double by, const double bz)
virtual void MagneticField(const double x, const double y, const double z, double &bx, double &by, double &bz, int &status)
virtual bool IsWireCrossed(const double x0, const double y0, const double z0, const double x1, const double y1, const double z1, double &xc, double &yc, double &zc)
virtual bool GetBoundingBox(double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax)
virtual Medium * GetMedium(const double &x, const double &y, const double &z)
virtual void WeightingField(const double x, const double y, const double z, double &wx, double &wy, double &wz, const std::string label)
virtual double WeightingPotential(const double x, const double y, const double z, const std::string label)
virtual void SetGeometry(GeometryBase *geo)
virtual Medium * GetMedium(const double x, const double y, const double z) const =0
virtual bool GetBoundingBox(double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax)=0