Exemplo n.º 1
0
        private void InternalInitialize(int iteration, int timestep, STSimDistributionProvider 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.STSimSample(
                    this.m_DistributionTypeId.Value, this.m_DistributionValue, this.m_DistributionSD, this.m_DistributionMin,
                    this.m_DistributionMax, IterationToUse, TimestepToUse, this.m_StratumId, this.m_SecondaryStratumId);
            }
            else
            {
                Debug.Assert(this.m_DistributionValue.HasValue);
                this.m_CurrentValue = this.m_DistributionValue.Value;
            }

            Debug.Assert(this.m_CurrentValue.HasValue);
        }
Exemplo n.º 2
0
        private double InternalSample(int iteration, int timestep, STSimDistributionProvider provider, DistributionFrequency frequency)
        {
            this.CheckDisabled();

            if (this.m_DistributionTypeId.HasValue)
            {
                if (this.m_DistributionFrequency == frequency || this.m_DistributionFrequency == DistributionFrequency.Always)
                {
                    this.m_CurrentValue = provider.STSimSample(
                        this.m_DistributionTypeId.Value, this.m_DistributionValue, this.m_DistributionSD, this.m_DistributionMin,
                        this.m_DistributionMax, iteration, timestep, this.m_StratumId, this.m_SecondaryStratumId);
                }
            }

            Debug.Assert(this.m_CurrentValue.HasValue);
            return(this.m_CurrentValue.Value);
        }