private double getSkinVolume(IMuSigma muSigmaSkin, double[] organVolumes, Func <IMuSigma, double> generateVolumeFunction)
        {
            double skinScaleFactor = getSkinScaleFactor(organWeightsFrom(organVolumes).Sum());
            double mu    = muSigmaSkin.Mean;
            double sigma = muSigmaSkin.Deviation;

            try
            {
                muSigmaSkin.Mean      *= skinScaleFactor;
                muSigmaSkin.Deviation *= skinScaleFactor;
                return(generateVolumeFunction(muSigmaSkin));
            }
            finally
            {
                muSigmaSkin.Mean      = mu;
                muSigmaSkin.Deviation = sigma;
            }
        }
 private double getOrganVolumeForIndividual(IMuSigma muSigma)
 {
     return(muSigma.GenerateRandomValueForIndividual(_randomGenerator));
 }
 private double getOrganVolumeForPopulation(IMuSigma muSigma)
 {
     return(muSigma.GenerateRandomValueForPopulation(_randomGenerator));
 }
 private double getDefaultSkinWeight(IMuSigma muSigmaSkin)
 {
     return(muSigmaSkin.DefaultValue * getSkinScaleFactor(_objectiveWeight));
 }