/// <summary>
 /// Computes the price of an option in the normally distributed assets hypothesis (Bachelier model).
 /// The first order price derivatives are also provided.
 /// </summary>
 /// <param name="option">  the option description </param>
 /// <param name="data">  the model data </param>
 /// <returns> a <seealso cref="ValueDerivatives"/> with the price in the value and the derivatives with
 ///  respect to [0] the forward, [1] the volatility and [2] the strike </returns>
 public ValueDerivatives getPriceAdjoint(EuropeanVanillaOption option, NormalFunctionData data)
 {
     ArgChecker.notNull(option, "option");
     ArgChecker.notNull(data, "data");
     return(NormalFormulaRepository.priceAdjoint(data.Forward, option.Strike, option.TimeToExpiry, data.NormalVolatility, data.Numeraire, option.PutCall));
 }