/src/main/java/net/finmath/montecarlo/hybridassetinterestrate/products/WorstOfExpressCertificate.java
final RandomVariable worstPerformance = getValue( model, triggerPerformanceLevel[triggerIndex], strikeLevels) ;
final RandomVariable worstPerformance = getWorstPerformance ( model, exerciseDates[triggerIndex], strikeLevels ) ;
} public double getValue(final double evaluationTime, final HybridAssetLIBORModelMonteCarloSimulation model) throws CalculationException { final RandomVariable zero = model.getRandomVariableForConstant(0.0); RandomVariable values = model.getRandomVariableForConstant(0.0); RandomVariable exerciseIndicator = model.getRandomVariableForConstant(1.0); for(int triggerIndex=0; triggerIndex<exerciseDates.length; triggerIndex++) { <extra_id_0> final RandomVariable trigger = worstPerformance.sub(triggerPerformanceLevel[triggerIndex]); RandomVariable payment = exerciseIndicator.mult(redemption[triggerIndex]); payment = payment.div(model.getNumeraire(exerciseDates[triggerIndex])); values = values.add(trigger.choose(payment, new Scalar(0.0))); exerciseIndicator = trigger.choose(zero, exerciseIndicator); }