OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <VectorMap.h>
Public Member Functions | |
virtual void | function (const double *point, double *value) const =0 |
virtual void | function (const Mesh::Iterator &point, double *value) const |
virtual void | functionAppend (const std::vector< std::vector< double > > &point_vec, std::vector< std::vector< double > > &value_vec) const |
virtual bool | checkPoint (const std::vector< double > &point) const |
virtual bool | checkValue (const std::vector< double > &value) const |
virtual unsigned int | getPointDimension () const =0 |
virtual unsigned int | getValueDimension () const =0 |
virtual VectorMap * | clone () const =0 |
virtual | ~VectorMap () |
virtual Mesh * | getMesh () const |
VectorMap is an abstract class that defines mapping from one vector to another.
VectorMap is base class primarily envisaged for mesh interpolation that defines interfaces to get interpolated data at a given point, access the mesh, etc.
Input and output dimensions (vector lengths) are arbitrary.
Definition at line 46 of file VectorMap.h.
|
inlinevirtual |
Destructor
Definition at line 88 of file VectorMap.h.
|
inlinevirtual |
Return true if point.size() is the same as this->PointDimension()
Definition at line 95 of file VectorMap.h.
|
inlinevirtual |
Return true if value.size() is the same as this->ValueDimension()
Definition at line 99 of file VectorMap.h.
|
pure virtual |
Clone() is like a copy constructor - but copies the child class
Implemented in interpolation::Interpolator3dGridTo1d, interpolation::TriLinearInterpolator, interpolation::PolynomialPatch, and interpolation::Interpolator3dGridTo3d.
|
pure virtual |
Pure virtual function to fill the array value with data evaluated at point.
Implemented in interpolation::PolynomialPatch.
Referenced by interpolation::Interpolator3dGridTo1d::function(), interpolation::Interpolator3dGridTo3d::function(), interpolation::TriLinearInterpolator::function(), and SectorMagneticFieldMap::getFieldstrength().
|
inlinevirtual |
Fill the array value with function data at a point on the mesh.
Implemented for default case where Mesh point dimension is the same as this point dimension (usual case). No default checking for array sizes.
Reimplemented in interpolation::TriLinearInterpolator, interpolation::Interpolator3dGridTo3d, and interpolation::Interpolator3dGridTo1d.
Definition at line 103 of file VectorMap.h.
References getPointDimension(), and interpolation::Mesh::Iterator::getPosition().
|
inlinevirtual |
Calculate F, appending output values to value_vec.
For each item in point_vec not in value_vec, calculate value_vec (urgh)
Definition at line 109 of file VectorMap.h.
References getValueDimension().
|
inlinevirtual |
Return the mesh used by the vector map or NULL if no mesh
Reimplemented in interpolation::PolynomialPatch, interpolation::Interpolator3dGridTo3d, and interpolation::Interpolator3dGridTo1d.
Definition at line 91 of file VectorMap.h.
Referenced by SectorMagneticFieldMap::getDeltaPhi(), SectorMagneticFieldMap::SectorMagneticFieldMap(), and SectorMagneticFieldMap::setInterpolator().
|
pure virtual |
Return the dimension of the point (input)
Implemented in interpolation::PolynomialPatch, interpolation::Interpolator3dGridTo3d, and interpolation::Interpolator3dGridTo1d.
Referenced by function(), and SectorMagneticFieldMap::setInterpolator().
|
pure virtual |
Return the dimension of the value (output)
Implemented in interpolation::PolynomialPatch, interpolation::Interpolator3dGridTo3d, and interpolation::Interpolator3dGridTo1d.
Referenced by functionAppend(), and SectorMagneticFieldMap::setInterpolator().