// Copyright (C) Stichting Deltares 2016. All rights reserved.
//
// This file is part of Ringtoets.
//
// Ringtoets is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
//
// All names, logos, and references to "Deltares" are registered trademarks of
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
namespace Ringtoets.HydraRing.Calculation.Data
{
///
/// Class for Normal Hydra-Ring variable related data.
///
public class NormalHydraRingVariable : HydraRingVariable2
{
private readonly double mean;
private readonly double variance;
///
/// Creates a new instance of .
///
/// The Hydra-Ring id corresponding to the variable that is considered.
/// The deviation type in case the variable is random.
/// The mean value of the variable.
/// The variance value of the variable.
public NormalHydraRingVariable(int variableId, HydraRingDeviationType deviationType,
double mean, double variance)
: base(variableId, deviationType)
{
this.mean = mean;
this.variance = variance;
}
public override double Parameter1
{
get
{
return mean;
}
}
public override double? Parameter2
{
get
{
return DeviationType == HydraRingDeviationType.Standard
? variance
: base.Parameter2;
}
}
public override double CoefficientOfVariation
{
get
{
return DeviationType == HydraRingDeviationType.Variation
? variance
: base.CoefficientOfVariation;
}
}
public override HydraRingDistributionType DistributionType
{
get
{
return HydraRingDistributionType.Normal;
}
}
}
}