Toast++  1.0.2 (r.539)
Forward and inverse modelling in optical tomography
raster_cp.h
1 // -*-C++-*-
2 
3 #ifndef __RASTER_CP_H
4 #define __RASTER_CP_H
5 
10 #include "raster.h"
11 
12 // =========================================================================
16 class STOASTLIB Raster_CubicPixel: public Raster {
17 public:
31  Raster_CubicPixel (const IVector &_bdim, const IVector &_gdim, Mesh *mesh,
32  RDenseMatrix *bb = 0);
33 
38 
44  double Value_nomask (const Point &p, int i, bool is_solidx=true) const;
45 
54  void Map_GridToBasis (const RVector &gvec, RVector &bvec) const;
55 
61  void Map_GridToBasis (const CVector &gvec, CVector &bvec) const;
62 
71  void Map_BasisToGrid (const RVector &bvec, RVector &gvec) const;
72 
81  void Map_BasisToGrid (const CVector &bvec, CVector &gvec) const;
82 
83 
84 protected:
90  double Value (int basisidx, const Point &p);
91 
97  double Value (const IVector &basisgrd, const Point &p);
98 
99 private:
100  RVector ibgrid;
101  RVector iggrid;
104 };
105 
106 #endif // !__RASTER_CP_H
Virtual base class for sparse matrix types.
Definition: gsmatrix.h:47
virtual double Value(const Point &p, int i) const
Value of basis function b_i at point p Identical to Value_nomask, but returns zero if p is outside th...
virtual void Map_BasisToGrid(const RVector &bvec, RVector &gvec) const =0
Map a real-valued field from basis to grid representation.
Finite-element mesh management.
Definition: mesh.h:145
Base class for mapping between mesh and an independent basis representation.
Definition: raster.h:20
Definition: point.h:18
virtual void Map_GridToBasis(const RVector &gvec, RVector &bvec) const =0
Map a real-valued field from grid to basis representation.
Cubic pixel basis representation.
Definition: raster_cp.h:16
virtual double Value_nomask(const Point &p, int i, bool is_solidx=true) const =0
Value of basis function b_i at point p This does not check for mesh support.