RVL::OpFO< Scalar > Class Template Reference

Standard construction of an op, given spaces for domain and range and several FunctionObject instances implementing the various apply operations: in the notation of the main constructor OpFO::OpFO, the first FunctionObject argument (f) is used to implement OpFO::apply, the second (dff) to implement OpFO::applyDeriv, and the third (dfa) to implement OpFO::applyAdjDeriv. More...

#include <op.hh>

Inheritance diagram for RVL::OpFO< Scalar >:

RVL::Operator< Scalar > RVL::Writeable List of all members.

Public Member Functions

 OpFO (const OpFO< Scalar > &A)
 OpFO (Space< Scalar > const &_dom, Space< Scalar > const &_rng, FunctionObject &_f, FunctionObject &_dff, FunctionObject &_dfa)
 OpFO (Space< Scalar > const &_dom, Space< Scalar > const &_rng, FunctionObject &_f, FunctionObject &_dff, FunctionObject &_dfa, std::vector< RVL::Vector< Scalar > const * > par)
 ~OpFO ()
Operator< Scalar > * clone () const
const Space< Scalar > & getDomain () const
const Space< Scalar > & getRange () const
ostream & write (ostream &str) const

Protected Member Functions

void apply (const Vector< Scalar > &x, Vector< Scalar > &y) const
void applyDeriv (const Vector< Scalar > &x, const Vector< Scalar > &dx, Vector< Scalar > &z) const
void applyAdjDeriv (const Vector< Scalar > &x, const Vector< Scalar > &y, Vector< Scalar > &z) const

Detailed Description

template<class Scalar>
class RVL::OpFO< Scalar >

Standard construction of an op, given spaces for domain and range and several FunctionObject instances implementing the various apply operations: in the notation of the main constructor OpFO::OpFO, the first FunctionObject argument (f) is used to implement OpFO::apply, the second (dff) to implement OpFO::applyDeriv, and the third (dfa) to implement OpFO::applyAdjDeriv.

Major Change 29.04.10: added alternate form of constructor to transfer RVL::Vector parameters to internal data. Permits use of FOs depending on additional data encapsulated in RVL::Vectors, apart from domain and range. Non-Vector parameters should be written into the FO classes.

Not intended for subclassing - key functions are not virtual.

Definition at line 2473 of file op.hh.


Constructor & Destructor Documentation

template<class Scalar>
RVL::OpFO< Scalar >::OpFO ( const OpFO< Scalar > &  A  ) 

Definition at line 2533 of file op.hh.

template<class Scalar>
RVL::OpFO< Scalar >::OpFO ( Space< Scalar > const &  _dom,
Space< Scalar > const &  _rng,
FunctionObject _f,
FunctionObject _dff,
FunctionObject _dfa 
)

Definition at line 2538 of file op.hh.

template<class Scalar>
RVL::OpFO< Scalar >::OpFO ( Space< Scalar > const &  _dom,
Space< Scalar > const &  _rng,
FunctionObject _f,
FunctionObject _dff,
FunctionObject _dfa,
std::vector< RVL::Vector< Scalar > const * >  par 
)

Definition at line 2546 of file op.hh.

template<class Scalar>
RVL::OpFO< Scalar >::~OpFO (  ) 

Definition at line 2557 of file op.hh.


Member Function Documentation

template<class Scalar>
void RVL::OpFO< Scalar >::apply ( const Vector< Scalar > &  x,
Vector< Scalar > &  y 
) const [protected, virtual]

Implements RVL::Operator< Scalar >.

Definition at line 2490 of file op.hh.

References RVL::Vector< Scalar >::eval().

template<class Scalar>
void RVL::OpFO< Scalar >::applyDeriv ( const Vector< Scalar > &  x,
const Vector< Scalar > &  dx,
Vector< Scalar > &  z 
) const [protected, virtual]

Implements RVL::Operator< Scalar >.

Definition at line 2502 of file op.hh.

References RVL::Vector< Scalar >::eval().

template<class Scalar>
void RVL::OpFO< Scalar >::applyAdjDeriv ( const Vector< Scalar > &  x,
const Vector< Scalar > &  y,
Vector< Scalar > &  z 
) const [protected, virtual]

Implements RVL::Operator< Scalar >.

Definition at line 2516 of file op.hh.

References RVL::Vector< Scalar >::eval().

template<class Scalar>
Operator<Scalar>* RVL::OpFO< Scalar >::clone (  )  const [virtual]

Implements RVL::Operator< Scalar >.

Definition at line 2561 of file op.hh.

template<class Scalar>
const Space<Scalar>& RVL::OpFO< Scalar >::getDomain (  )  const [virtual]

Implements RVL::Operator< Scalar >.

Definition at line 2564 of file op.hh.

template<class Scalar>
const Space<Scalar>& RVL::OpFO< Scalar >::getRange (  )  const [virtual]

Implements RVL::Operator< Scalar >.

Definition at line 2565 of file op.hh.

template<class Scalar>
ostream& RVL::OpFO< Scalar >::write ( ostream &  str  )  const [virtual]

Implements RVL::Writeable.

Definition at line 2567 of file op.hh.

References RVL::FunctionObject::write().


The documentation for this class was generated from the following file:
Generated on 5 Jan 2017 for RVL by  doxygen 1.4.7