class SmileDeltaParameters {

  public double[] getStrike(final double forward) {
    final int nbDelta = _delta.length;
    final double[] strike = new double[2 * nbDelta + 1];
    strike[nbDelta] = forward * Math.exp(_volatility[nbDelta] * _volatility[nbDelta] * _timeToExpiry / 2.0);
    for (int loopdelta = 0; loopdelta < nbDelta; loopdelta++) {
      strike[loopdelta] = BlackFormulaRepository.impliedStrike(-_delta[loopdelta], false, forward, _timeToExpiry, _volatility[loopdelta]); // Put
      strike[2 * nbDelta - loopdelta] = BlackFormulaRepository.impliedStrike(_delta[loopdelta], true, forward, _timeToExpiry, _volatility[2 * nbDelta - loopdelta]); // Call
    }
    return strike;
  }

  public  SmileDeltaParameters(final double timeToExpiration, final double[] delta, final double[] volatility);
  public  SmileDeltaParameters(final double timeToExpiry, final double atm, final double[] delta, final double[] riskReversal, final double[] strangle);

}