/// <summary>
 /// Initializes a new instance of the <see cref="SmithWatermanGotohWindowedAffine"/> class with the specified parameters.
 /// </summary>
 /// <param name="gapCostFunction">The gap cost function to use.</param>
 /// <param name="costFunction">The substitution cost function to use.</param>
 /// <param name="affineGapWindowSize">Specifies the affinity gap window size.</param>
 public SmithWatermanGotohWindowedAffine(AbstractAffineGapCost gapCostFunction, AbstractSubstitutionCost costFunction, int affineGapWindowSize)
 {
     this.estimatedTimingConstant = 4.5000000682193786E-05;
     this.gGapFunction            = gapCostFunction;
     this.dCostFunction           = costFunction;
     this.windowSize = affineGapWindowSize;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SmithWatermanGotohWindowedAffine"/> class with the specified parameters.
 /// </summary>
 /// <param name="gapCostFunction">The gap cost function to use.</param>
 /// <param name="affineGapWindowSize">Specifies the affinity gap window size.</param>
 public SmithWatermanGotohWindowedAffine(AbstractAffineGapCost gapCostFunction, int affineGapWindowSize)
     : this(gapCostFunction, new SubCostRange5ToMinus3(), affineGapWindowSize)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SmithWatermanGotohWindowedAffine"/> class with the specified parameters.
 /// </summary>
 /// <param name="gapCostFunction">The gap cost function to use.</param>
 /// <param name="costFunction">The substitution cost function to use.</param>
 public SmithWatermanGotohWindowedAffine(AbstractAffineGapCost gapCostFunction, AbstractSubstitutionCost costFunction)
     : this(gapCostFunction, costFunction, 100)
 {
 }