/// <summary>
 /// Vectorized ROfFx. Solves SDA using Cuccia et al JBO, March/April 2009
 /// </summary>
 /// <param name="ops">set of optical properties of the medium</param>
 /// <param name="fxs">spatial frequencies (1/mm)</param>
 /// <returns></returns>
 public override IEnumerable <double> ROfFx(
     IEnumerable <OpticalProperties> ops, IEnumerable <double> fxs)
 {
     foreach (var op in ops)
     {
         DiffusionParameters dp = DiffusionParameters.Create(op, this.ForwardModel);
         foreach (var fx in fxs)
         {
             yield return(SFDDiffusionForwardSolver.StationaryOneDimensionalSpatialFrequencyFluence(
                              dp, fx, 0.0) / 2 / dp.A); // this is not the true mathematical derivation given the source condition! but is the WIDELY used in the lit
         }
     }
 }
 public override IEnumerable <double> FluenceOfFxAndZ(
     IEnumerable <OpticalProperties> ops,
     IEnumerable <double> fxs,
     IEnumerable <double> zs)
 {
     foreach (var op in ops)
     {
         DiffusionParameters dp = DiffusionParameters.Create(op, this.ForwardModel);
         foreach (var fx in fxs)
         {
             foreach (var z in zs)
             {
                 yield return(SFDDiffusionForwardSolver.StationaryOneDimensionalSpatialFrequencyFluence(
                                  dp, fx, z));
             }
         }
     }
 }