#include <MFGrid3D.h>
Public Member Functions | |
virtual Dimensions | dimensions (void) const |
virtual Indexes | index (const LocalPoint &p) const |
MFGrid3D (const GloballyPositioned< float > &vol) | |
virtual LocalPoint | nodePosition (int i, int j, int k) const |
Position of node in local frame. | |
virtual LocalVector | nodeValue (int i, int j, int k) const |
Field value at node. | |
virtual LocalVector | uncheckedValueInTesla (const LocalPoint &p) const =0 |
Interpolated field value at given point; does not check for exceptions. | |
virtual LocalVector | valueInTesla (const LocalPoint &p) const |
Interpolated field value at given point. | |
Protected Types | |
typedef Basic3DVector< float > | BVector |
typedef Grid3D | GridType |
Protected Member Functions | |
void | setGrid (const GridType &grid) |
Protected Attributes | |
GridType | grid_ |
Generic virtual implementation of a MFGrid for a 3D underlying regular grid.
Definition at line 18 of file MFGrid3D.h.
typedef Basic3DVector<float> MFGrid3D::BVector [protected] |
Definition at line 60 of file MFGrid3D.h.
typedef Grid3D MFGrid3D::GridType [protected] |
Definition at line 61 of file MFGrid3D.h.
MFGrid3D::MFGrid3D | ( | const GloballyPositioned< float > & | vol | ) | [inline, explicit] |
Definition at line 21 of file MFGrid3D.h.
: MFGrid(vol) {}
virtual Dimensions MFGrid3D::dimensions | ( | void | ) | const [inline, virtual] |
Implements MFGrid.
Definition at line 24 of file MFGrid3D.h.
References Dimensions::d, grid_, Grid3D::grida(), Grid3D::gridb(), Grid3D::gridc(), Dimensions::h, Grid1D::nodes(), tmp, and Dimensions::w.
virtual Indexes MFGrid3D::index | ( | const LocalPoint & | p | ) | const [inline, virtual] |
Reimplemented from MFGrid.
Definition at line 43 of file MFGrid3D.h.
References a, b, trackerHits::c, grid_, Grid3D::grida(), Grid3D::gridb(), Grid3D::gridc(), Indexes::i, Grid1D::index(), Indexes::j, Indexes::k, query::result, and MFGrid::toGridFrame().
virtual LocalPoint MFGrid3D::nodePosition | ( | int | i, |
int | j, | ||
int | k | ||
) | const [inline, virtual] |
Position of node in local frame.
Implements MFGrid.
Definition at line 33 of file MFGrid3D.h.
References MFGrid::fromGridFrame(), grid_, Grid3D::grida(), Grid3D::gridb(), Grid3D::gridc(), and Grid1D::node().
virtual LocalVector MFGrid3D::nodeValue | ( | int | i, |
int | j, | ||
int | k | ||
) | const [inline, virtual] |
Field value at node.
must check range here: FIX ME !!!!
Implements MFGrid.
Definition at line 38 of file MFGrid3D.h.
References grid_.
{ return MFGrid::LocalVector(grid_( i, j, k)); }
void MFGrid3D::setGrid | ( | const GridType & | grid | ) | [inline, protected] |
virtual LocalVector MFGrid3D::uncheckedValueInTesla | ( | const LocalPoint & | p | ) | const [pure virtual] |
Interpolated field value at given point; does not check for exceptions.
Implemented in RectangularCartesianMFGrid, RectangularCylindricalMFGrid, SpecialCylindricalMFGrid, TrapezoidalCartesianMFGrid, and TrapezoidalCylindricalMFGrid.
Referenced by valueInTesla().
MFGrid::LocalVector MFGrid3D::valueInTesla | ( | const LocalPoint & | p | ) | const [virtual] |
Interpolated field value at given point.
Implements MFGrid.
Definition at line 5 of file MFGrid3D.cc.
References MFGrid::fromGridFrame(), GridInterpolator3DException::limits(), and uncheckedValueInTesla().
{ try { return uncheckedValueInTesla( p); } catch ( GridInterpolator3DException& outside) { double *limits = outside.limits(); LocalPoint lower = fromGridFrame( limits[0], limits[1], limits[2]); LocalPoint upper = fromGridFrame( limits[3], limits[4], limits[5]); throw MagVolumeOutsideValidity( lower, upper); } }
GridType MFGrid3D::grid_ [protected] |
Definition at line 63 of file MFGrid3D.h.
Referenced by dimensions(), RectangularCylindricalMFGrid::dump(), RectangularCartesianMFGrid::dump(), TrapezoidalCartesianMFGrid::dump(), index(), nodePosition(), nodeValue(), RectangularCartesianMFGrid::RectangularCartesianMFGrid(), RectangularCylindricalMFGrid::RectangularCylindricalMFGrid(), setGrid(), SpecialCylindricalMFGrid::SpecialCylindricalMFGrid(), TrapezoidalCartesianMFGrid::TrapezoidalCartesianMFGrid(), TrapezoidalCylindricalMFGrid::TrapezoidalCylindricalMFGrid(), TrapezoidalCylindricalMFGrid::uncheckedValueInTesla(), TrapezoidalCartesianMFGrid::uncheckedValueInTesla(), RectangularCylindricalMFGrid::uncheckedValueInTesla(), SpecialCylindricalMFGrid::uncheckedValueInTesla(), and RectangularCartesianMFGrid::uncheckedValueInTesla().