// 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 Rayleigh N Hydra-Ring variable related data.
///
public class RayleighNHydraRingVariable : HydraRingVariable2
{
private readonly double parameter1;
private readonly double parameter2;
///
/// 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 parameter1 value of the variable.
/// The parameter2 value of the variable.
public RayleighNHydraRingVariable(int variableId, HydraRingDeviationType deviationType,
double parameter1, double parameter2)
: base(variableId, deviationType)
{
this.parameter1 = parameter1;
this.parameter2 = parameter2;
}
public override double Parameter1
{
get
{
return parameter1;
}
}
public override double? Parameter2
{
get
{
return DeviationType == HydraRingDeviationType.Standard
? parameter2
: base.Parameter2;
}
}
public override double CoefficientOfVariation
{
get
{
return DeviationType == HydraRingDeviationType.Variation
? parameter2
: base.CoefficientOfVariation;
}
}
public override HydraRingDistributionType DistributionType
{
get
{
return HydraRingDistributionType.RayleighN;
}
}
}
}