package de.ivu.elect.business.hochrechnung.entity;

import org.apache.commons.math3.distribution.NormalDistribution;
import org.apache.commons.math3.random.RandomGenerator;

public class ZufaelligeGueltigeStimmenAnteileNormalverteilungKonfiguration {
  private static final double GUELTIGE_STIMMENANTEIL_MEAN = 0.97;
  private static final double GUELTIGE_STIMMENANTEIL_STANDARD_DEVIATION = 0.01;
  private static final double GUELTIGE_STIMMENANTEIL_MIN = 0.85;

  private final NormalDistribution normalDistributionFuerGueltigeStimmenanteil;
  public ZufaelligeGueltigeStimmenAnteileNormalverteilungKonfiguration(RandomGenerator randomGenerator) {
    normalDistributionFuerGueltigeStimmenanteil = new NormalDistribution(randomGenerator, getGueltigeStimmenanteilMean(), getGueltigeStimmenanteilStandardDeviation());
  }

  public NormalDistribution getNormalDistributionFuerGueltigeStimmenanteil() {
    return normalDistributionFuerGueltigeStimmenanteil;
  }

  private double getGueltigeStimmenanteilMean() {
    return GUELTIGE_STIMMENANTEIL_MEAN;
  }

  private double getGueltigeStimmenanteilStandardDeviation() {
    return GUELTIGE_STIMMENANTEIL_STANDARD_DEVIATION;
  }

  public double getGueltigeStimmenanteilMin() {
    return GUELTIGE_STIMMENANTEIL_MIN;
  }
}
