package org.opensha2.calc; /** * Identifiers for commonly used values of Vs30. These correspond to the NEHERP * site classes that have histroically been supported by the NSHMp in hazard * calculations. * * @author Peter Powers */ public enum Vs30 { /** NEHRP site class A. */ VS_2000("Site class A"), /** NEHRP site class B. */ VS_1150("Site class B"), /** NEHRP B/C boundary site class. */ VS_760("B/C boundary"), /** NEHRP site class C. */ VS_537("Site class C"), /** NEHRP C/D boundary site class. */ VS_360("C/D boundary"), /** NEHRP site class D. */ VS_259("Site class D"), /** NEHRP D/E boundary site class. */ VS_180("D/E boundary"); private String label; private double value; private Vs30(String label) { this.label = label; this.value = Double.valueOf(name().substring(3)); } @Override public String toString() { return this.name().substring(3) + " m/s (" + label + ")"; } /** * Return the Vs30 value for this identifier. */ public double value() { return value; } /** * Create a Vs30 constant from a Vs30 {@code value}. * @param value to process */ public static Vs30 fromValue(double value) { String name = "VS_" + (int) value; return Enum.valueOf(Vs30.class, name); } }