private void InternalInitialize(int iteration, int timestep, EPDistributionProvider provider) { this.CheckDisabled(); if (this.m_DistributionTypeId.HasValue) { int IterationToUse = iteration; int TimestepToUse = timestep; if (this.m_Iteration.HasValue) { IterationToUse = this.m_Iteration.Value; } if (this.m_Timestep.HasValue) { TimestepToUse = this.m_Timestep.Value; } this.m_CurrentValue = provider.EPSample( this.m_DistributionTypeId.Value, this.m_DistributionValue, this.m_DistributionSD, this.m_DistributionMin, this.m_DistributionMax, IterationToUse, TimestepToUse, this.m_JurisdictionId); } else { Debug.Assert(this.m_DistributionValue.HasValue); this.m_CurrentValue = this.m_DistributionValue.Value; } Debug.Assert(this.m_CurrentValue.HasValue); }
private double InternalSample(int iteration, int timestep, EPDistributionProvider provider, DistributionFrequency frequency) { this.CheckDisabled(); if (this.m_DistributionTypeId.HasValue) { if (this.m_DistributionFrequency == frequency || this.m_DistributionFrequency == DistributionFrequency.Always) { this.m_CurrentValue = provider.EPSample( this.m_DistributionTypeId.Value, this.m_DistributionValue, this.m_DistributionSD, this.m_DistributionMin, this.m_DistributionMax, iteration, timestep, this.m_JurisdictionId); } } Debug.Assert(this.m_CurrentValue.HasValue); return(this.m_CurrentValue.Value); }