/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.financial.provider.description.forex;
import com.opengamma.analytics.financial.model.volatility.surface.SmileDeltaTermStructureParametersStrikeInterpolation;
import com.opengamma.analytics.financial.provider.description.interestrate.MulticurveProviderDiscount;
import com.opengamma.util.money.Currency;
import com.opengamma.util.tuple.Pair;
/**
* Container for the discounting curves and volatility surface needed to price FX options.
*/
public class BlackForexSmileProviderDiscount extends BlackForexSmileProvider {
/**
* Constructor from exiting multicurveProvider and volatility model. The given provider and parameters are used for the new provider (the same maps are used, not copied).
* @param multicurves The multi-curves provider.
* @param smile Smile.
* @param currencyPair The currency pair.
*/
public BlackForexSmileProviderDiscount(final MulticurveProviderDiscount multicurves, final SmileDeltaTermStructureParametersStrikeInterpolation smile, final Pair<Currency, Currency> currencyPair) {
super(multicurves, smile, currencyPair);
}
@Override
public MulticurveProviderDiscount getMulticurveProvider() {
return (MulticurveProviderDiscount) super.getMulticurveProvider();
}
@Override
public BlackForexSmileProviderDiscount copy() {
final MulticurveProviderDiscount multicurveProvider = getMulticurveProvider().copy();
return new BlackForexSmileProviderDiscount(multicurveProvider, getVolatility(), getCurrencyPair());
}
}