23#include <ql/methods/finitedifferences/operators/fdmhullwhiteop.hpp>
24#include <ql/methods/finitedifferences/solvers/fdm1dimsolver.hpp>
25#include <ql/methods/finitedifferences/solvers/fdmhullwhitesolver.hpp>
26#include <ql/methods/finitedifferences/stepconditions/fdmsnapshotcondition.hpp>
27#include <ql/models/shortrate/onefactormodels/hullwhite.hpp>
35 : model_(
std::move(model)), solverDesc_(
std::move(solverDesc)), schemeDesc_(schemeDesc) {
41 const ext::shared_ptr<FdmHullWhiteOp> op(
49 return solver_->interpolateAt(r);
void performCalculations() const override
FdmHullWhiteSolver(Handle< HullWhite > model, FdmSolverDesc solverDesc, const FdmSchemeDesc &schemeDesc=FdmSchemeDesc::Hundsdorfer())
ext::shared_ptr< Fdm1DimSolver > solver_
const FdmSolverDesc solverDesc_
const Handle< HullWhite > model_
Real valueAt(Real r) const
const FdmSchemeDesc schemeDesc_
Shared handle to an observable.
const ext::shared_ptr< T > & currentLink() const
dereferencing
virtual void calculate() const
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
const ext::shared_ptr< FdmMesher > mesher