Beispiel #1
0
        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);
        }
Beispiel #2
0
        private void CreateDistributionProvider()
        {
            Debug.Assert(this.m_DistributionProvider == null);

            this.m_DistributionProvider = new EPDistributionProvider(
                this.ResultScenario,
                this.m_RandomGenerator);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 public EPDistributionBaseExpander(EPDistributionProvider provider)
 {
     this.m_Provider = provider;
     this.FillUserDistributionMaps();
 }
Beispiel #5
0
 public double Sample(int iteration, int timestep, EPDistributionProvider provider, DistributionFrequency frequency)
 {
     return(this.InternalSample(iteration, timestep, provider, frequency));
 }
Beispiel #6
0
 public void Initialize(int iteration, int timestep, EPDistributionProvider provider)
 {
     this.InternalInitialize(iteration, timestep, provider);
 }