29 numberOfProducts_(innerProduct.numberOfProducts())
49 return innerProduct_->maxNumberOfCashFlowsPerProductPerStep();
59 std::vector<Size>& numberCashFlowsThisStep,
60 std::vector<std::vector<CashFlow> >& cashFlowsGenerated)
66 for (
Size j=0; j< numberCashFlowsThisStep[i]; ++j)
86 std::unique_ptr<MarketModelMultiProduct>
Curve state for market-model simulations
Market-model evolution description.
Size numberOfRates() const
market-model pathwise product
virtual const EvolutionDescription & evolution() const =0
std::vector< Size > suggestedNumeraires() const override
Clone< MarketModelPathwiseMultiProduct > innerProduct_
std::unique_ptr< MarketModelMultiProduct > clone() const override
returns a newly-allocated copy of itself
MultiProductPathwiseWrapper(const MarketModelPathwiseMultiProduct &innerProduct_)
std::vector< std::vector< MarketModelPathwiseMultiProduct::CashFlow > > cashFlowsGenerated_
bool nextTimeStep(const CurveState ¤tState, std::vector< Size > &numberCashFlowsThisStep, std::vector< std::vector< CashFlow > > &cashFlowsGenerated) override
return value indicates whether path is finished, TRUE means done
std::vector< Time > possibleCashFlowTimes() const override
const EvolutionDescription & evolution() const override
Size maxNumberOfCashFlowsPerProductPerStep() const override
Size numberOfProducts() const override
void reset() override
during simulation put product at start of path
std::size_t Size
size of a container
std::vector< std::vector< CashFlow > > cashFlowsGenerated_