@Override
	public NormalLikeDistribution[] getOrderDistributions(double mean, double sd) {
		double[] divisors = new double[numberOfOrderPeriods];
		double sum = 0;
		
		
		for (int i = 0; i < numberOfOrderPeriods;i++){
			divisors[i] = i+1;
			sum += i+1;
		}
	
		
		
		RealSinglePointDistribution emptyOrder = new RealSinglePointDistribution(0);
		
		NormalLikeDistribution[] orderDistributions = new NormalLikeDistribution[numberOfOrderPeriods+offSet];
		for (int i = 0; i < orderDistributions.length; i++){
			if (i < offSet) orderDistributions[i] = emptyOrder;
			else {
				double orderMean = (divisors[i-offSet]/(sum*1.0))*mean;
				double orderSd = Math.sqrt(((divisors[i-offSet]/(sum*1.0))*(sd*sd)));
				orderDistributions[i] = new NormalDistribution(orderMean, orderSd);
			}
		}
		return orderDistributions;
	}