/// <summary>
        /// Extrapolates the linear decay of the log of the tail of the curve and integrates
        /// analitically from tMax to infinity to evaluate the steady state signal
        /// </summary>
        /// <param name="generator">NurbsGenerator</param>
        /// <param name="space_ref">spatial coordiante</param>
        /// <param name="op">optical Properties</param>
        /// <returns>Integral value of the curve extrapolated outside the time range</returns>
        private double ExtrapolateIntegralValueOutOfRange(INurbs generator, double space_ref, OpticalProperties op)
        {
            double area;
            double deltaT        = 0.01;//ns
            double scalingFactor = GetScalingFactor(op, 3);
            double lR2           = Math.Log10(generator.ComputeSurfacePoint(generator.TimeValues.MaxValue, space_ref));
            double lR1           = Math.Log10(generator.ComputeSurfacePoint(generator.TimeValues.MaxValue - deltaT, space_ref));
            double slope         = (lR2 - lR1) / (deltaT);
            double intercept     = -slope * generator.TimeValues.MaxValue + lR1;

            area = -Math.Pow(10.0, intercept + slope * generator.TimeValues.MaxValue)
                   * Math.Exp(-op.Mua * v * generator.TimeValues.MaxValue) / (slope - op.Mua);
            return(area);
        }
 /// <summary>
 /// Constructor used to create an istance of NurbsForwardSolver
 /// with the same stub NurbsGenerator for all the NurbsGenerators.
 /// Used for Unit Tests of the class.
 /// </summary>
 /// <param name="generator">stub NurbsGenerator</param>
 public NurbsForwardSolver(INurbs generator)
     : this(generator, generator)
 {
 }
 /// <summary>
 /// Constructor which creates an istance of NurbsForwardSolver setting
 /// the NurbsGenerators to the values passed as Input.
 /// </summary>
 /// <param name="rdGenerator">real domain NurbsGenerator</param>
 /// <param name="sfdGenerator">spatial frequancy domain generator</param>
 public NurbsForwardSolver(INurbs rdGenerator, INurbs sfdGenerator)
 {
     _rdGenerator  = rdGenerator;
     _sfdGenerator = sfdGenerator;
 }