public SwaptionVolatilityDiscrete(List<Date> optionDates,
List<Period> swapTenors,
Date referenceDate,
Calendar cal,
BusinessDayConvention bdc,
DayCounter dc)
: base(referenceDate, cal, bdc, dc)
{
nOptionTenors_ = optionDates.Count ;
optionTenors_ = new InitializedList<Period>(nOptionTenors_);
optionDates_=optionDates;
optionTimes_ = new InitializedList<double>(nOptionTenors_);
optionDatesAsReal_ = new InitializedList<double>(nOptionTenors_);
nSwapTenors_ = swapTenors.Count;
swapTenors_=swapTenors;
swapLengths_ = new InitializedList<double>(nSwapTenors_);
checkOptionDates();
initializeOptionTimes();
checkSwapTenors();
initializeSwapLengths();
optionInterpolator_ = new LinearInterpolation(optionTimes_,
optionTimes_.Count,
optionDatesAsReal_);
optionInterpolator_.update();
optionInterpolator_.enableExtrapolation();
}