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); }
public TransitionAdjacencyMultiplierMap( Scenario scenario, TransitionAdjacencyMultiplierCollection multipliers, STSimDistributionProvider distributionProvider, int minimumIteration, int minimumTimestep) : base(scenario) { this.m_DistributionProvider = distributionProvider; foreach (TransitionAdjacencyMultiplier Item in multipliers) { this.AddMultiplier(Item); } foreach (TransitionAdjacencyMultiplierMapEntry e in this.m_AllEntries) { if (e.Items.Count == 1) { TransitionAdjacencyMultiplier t1 = e.Items.First().Value; TransitionAdjacencyMultiplier t2 = new TransitionAdjacencyMultiplier( t1.TransitionGroupId, t1.Iteration, t1.Timestep, t1.StratumId, t1.SecondaryStratumId, t1.TertiaryStratumId, 0.0, 0.0, t1.DistributionTypeId, t1.DistributionFrequency, t1.DistributionSD, t1.DistributionMin, t1.DistributionMax); t2.Initialize(minimumIteration, minimumTimestep, this.m_DistributionProvider); e.Map.Add(0.0, t2); e.Items.Add(0.0, t2); } } }
public TransitionSlopeMultiplierMap( Scenario scenario, TransitionSlopeMultiplierCollection multipliers, STSimDistributionProvider distributionProvider) : base(scenario) { this.m_DistributionProvider = distributionProvider; foreach (TransitionSlopeMultiplier Item in multipliers) { this.AddSlopeMultiplier(Item); } }
internal StateAttributeValueMap( Scenario scenario, STSimDistributionProvider provider, StateAttributeValueCollection items) : base(scenario) { this.m_Project = scenario.Project; this.m_DistributionProvider = provider; foreach (StateAttributeValue item in items) { this.AddAttributeValue(item); } }
public TransitionAttributeValueMap( Scenario scenario, STSimDistributionProvider provider, TransitionAttributeValueCollection transitionAttributes) : base(scenario) { this.m_Project = scenario.Project; this.m_DistributionProvider = provider; foreach (TransitionAttributeValue ta in transitionAttributes) { this.AddAttributeValue(ta); } }
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); }
public TransitionMultiplierValueMap( Scenario scenario, TransitionMultiplierValueCollection multipliers, STSimDistributionProvider distributionProvider) : base(scenario) { this.m_DistributionProvider = distributionProvider; foreach (TransitionMultiplierValue item in multipliers) { this.AddMultiplier(item); } foreach (List <TransitionMultiplierValue> l in this.m_AllLists) { l.Sort((TransitionMultiplierValue tm1, TransitionMultiplierValue tm2) => { int cmp = tm1.AgeMin.CompareTo(tm2.AgeMin); if (cmp != 0) { return(cmp); } cmp = tm1.AgeMax.CompareTo(tm2.AgeMax); if (cmp != 0) { return(cmp); } cmp = tm1.TSTMin.CompareTo(tm2.TSTMin); if (cmp != 0) { return(cmp); } return(tm1.TSTMax.CompareTo(tm2.TSTMax)); }); } }
public double Sample(int iteration, int timestep, STSimDistributionProvider provider, DistributionFrequency frequency) { return(this.InternalSample(iteration, timestep, provider, frequency)); }
public void Initialize(int iteration, int timestep, STSimDistributionProvider provider) { this.InternalInitialize(iteration, timestep, provider); }
public STSimDistributionBaseExpander(STSimDistributionProvider provider) { this.m_Provider = provider; this.FillUserDistributionMaps(); }
public TransitionMultiplierType(int?transitionMultiplierTypeId, Scenario scenario, STSimDistributionProvider provider) { this.m_TransitionMultiplierTypeId = transitionMultiplierTypeId; this.m_Scenario = scenario; this.m_Provider = provider; }