1 package org.djunits.unit;
2
3 import static org.djunits.unit.unitsystem.UnitSystem.IMPERIAL;
4 import static org.djunits.unit.unitsystem.UnitSystem.MTS;
5 import static org.djunits.unit.unitsystem.UnitSystem.OTHER;
6 import static org.djunits.unit.unitsystem.UnitSystem.SI_ACCEPTED;
7 import static org.djunits.unit.unitsystem.UnitSystem.SI_BASE;
8 import static org.djunits.unit.unitsystem.UnitSystem.SI_DERIVED;
9 import static org.djunits.unit.unitsystem.UnitSystem.US_CUSTOMARY;
10
11 import org.djunits.unit.unitsystem.UnitSystem;
12
13
14
15
16
17
18
19
20
21
22
23
24 public class MassUnit extends LinearUnit<MassUnit>
25 {
26
27 private static final long serialVersionUID = 20140607L;
28
29
30 public static final MassUnit SI;
31
32
33 public static final MassUnit KILOGRAM;
34
35
36 public static final MassUnit FEMTOGRAM;
37
38
39 public static final MassUnit PICOGRAM;
40
41
42 public static final MassUnit NANOGRAM;
43
44
45 public static final MassUnit MICROGRAM;
46
47
48 public static final MassUnit MILLIGRAM;
49
50
51 public static final MassUnit GRAM;
52
53
54 public static final MassUnit MEGAGRAM;
55
56
57 public static final MassUnit GIGAGRAM;
58
59
60 public static final MassUnit TERAGRAM;
61
62
63 public static final MassUnit PETAGRAM;
64
65
66 public static final MassUnit POUND;
67
68
69 public static final MassUnit OUNCE;
70
71
72 public static final MassUnit TON_LONG;
73
74
75 public static final MassUnit TON_SHORT;
76
77
78 public static final MassUnit TON_METRIC;
79
80
81 public static final MassUnit TONNE;
82
83
84 public static final MassUnit DALTON;
85
86
87 public static final MassUnit MICROELECTRONVOLT;
88
89
90 public static final MassUnit MILLIELECTRONVOLT;
91
92
93
94
95
96 public static final MassUnit KILOELECTRONVOLT;
97
98
99 public static final MassUnit MEGAELECTRONVOLT;
100
101
102 public static final MassUnit GIGAELECTRONVOLT;
103
104
105 public static final MassUnit TERAELECTRONVOLT;
106
107
108 public static final MassUnit PETAELECTRONVOLT;
109
110
111 public static final MassUnit EXAELECTRONVOLT;
112
113 static
114 {
115 SI = new MassUnit("MassUnit.kilogram", "MassUnit.kg", SI_BASE);
116 KILOGRAM = SI;
117 GRAM = new MassUnit("MassUnit.gram", "MassUnit.g", SI_BASE, KILOGRAM, 0.001, true);
118 FEMTOGRAM = new MassUnit("MassUnit.femtogram", "MassUnit.fg", SI_DERIVED, GRAM, 1.0E-15, true);
119 PICOGRAM = new MassUnit("MassUnit.picogram", "MassUnit.pg", SI_DERIVED, GRAM, 1.0E-12, true);
120 NANOGRAM = new MassUnit("MassUnit.nanogram", "MassUnit.ng", SI_DERIVED, GRAM, 1.0E-9, true);
121 MICROGRAM = new MassUnit("MassUnit.microgram", "MassUnit.mug", SI_DERIVED, GRAM, 1.0E-6, true);
122 MILLIGRAM = new MassUnit("MassUnit.milligram", "MassUnit.mg", SI_DERIVED, GRAM, 0.001, true);
123 MEGAGRAM = new MassUnit("MassUnit.megagram", "MassUnit.Mg", SI_DERIVED, GRAM, 1.0E6, true);
124 GIGAGRAM = new MassUnit("MassUnit.gigagram", "MassUnit.Gg", SI_DERIVED, GRAM, 1.0E9, true);
125 TERAGRAM = new MassUnit("MassUnit.teragram", "MassUnit.Tg", SI_DERIVED, GRAM, 1.0E12, true);
126 PETAGRAM = new MassUnit("MassUnit.petagram", "MassUnit.Pg", SI_DERIVED, GRAM, 1.0E15, true);
127 POUND = new MassUnit("MassUnit.pound", "MassUnit.lb", IMPERIAL, KILOGRAM, 0.45359237, true);
128 OUNCE = new MassUnit("MassUnit.ounce", "MassUnit.oz", IMPERIAL, POUND, 1.0 / 16.0, true);
129 TON_LONG = new MassUnit("MassUnit.long_ton", "MassUnit.long_tn", IMPERIAL, POUND, 2240.0, true);
130 TON_SHORT = new MassUnit("MassUnit.short_ton", "MassUnit.sh_tn", US_CUSTOMARY, POUND, 2000.0, true);
131 TON_METRIC = new MassUnit("MassUnit.metric_ton", "MassUnit.t", SI_ACCEPTED, KILOGRAM, 1000.0, true);
132 TONNE = new MassUnit("MassUnit.tonne_(mts)", "MassUnit.t_(mts)", MTS, KILOGRAM, 1000.0, true);
133 DALTON = new MassUnit("MassUnit.dalton", "MassUnit.Da", SI_ACCEPTED, KILOGRAM, 1.6605388628E-27, true);
134 ELECTRONVOLT = new MassUnit("MassUnit.electronvolt", "MassUnit.eV", OTHER, KILOGRAM, 1.782661907E-36, true);
135 MICROELECTRONVOLT = new MassUnit("MassUnit.microelectronvolt", "MassUnit.mueV", OTHER, ELECTRONVOLT, 1.0E-6, true);
136 MILLIELECTRONVOLT = new MassUnit("MassUnit.millielectronvolt", "MassUnit.meV", OTHER, ELECTRONVOLT, 1.0E-3, true);
137 KILOELECTRONVOLT = new MassUnit("MassUnit.kiloelectronvolt", "MassUnit.keV", OTHER, ELECTRONVOLT, 1.0E3, true);
138 MEGAELECTRONVOLT = new MassUnit("MassUnit.megaelectronvolt", "MassUnit.MeV", OTHER, ELECTRONVOLT, 1.0E6, true);
139 GIGAELECTRONVOLT = new MassUnit("MassUnit.gigaelectronvolt", "MassUnit.GeV", OTHER, ELECTRONVOLT, 1.0E9, true);
140 TERAELECTRONVOLT = new MassUnit("MassUnit.teraelectronvolt", "MassUnit.TeV", OTHER, ELECTRONVOLT, 1.0E12, true);
141 PETAELECTRONVOLT = new MassUnit("MassUnit.petaelectronvolt", "MassUnit.PeV", OTHER, ELECTRONVOLT, 1.0E15, true);
142 EXAELECTRONVOLT = new MassUnit("MassUnit.exaelectronvolt", "MassUnit.EeV", OTHER, ELECTRONVOLT, 1.0E18, true);
143 }
144
145
146
147
148
149
150
151 private MassUnit(final String nameKey, final String abbreviationKey, final UnitSystem unitSystem)
152 {
153 super(nameKey, abbreviationKey, unitSystem, true);
154 }
155
156
157
158
159
160
161
162
163
164
165
166 private MassUnit(final String nameOrNameKey, final String abbreviationOrAbbreviationKey, final UnitSystem unitSystem,
167 final MassUnit referenceUnit, final double scaleFactorToReferenceUnit, final boolean standardUnit)
168 {
169 super(nameOrNameKey, abbreviationOrAbbreviationKey, unitSystem, referenceUnit, scaleFactorToReferenceUnit,
170 standardUnit);
171 }
172
173
174
175
176
177
178
179
180
181 public MassUnit(final String name, final String abbreviation, final UnitSystem unitSystem, final MassUnit referenceUnit,
182 final double scaleFactorToReferenceUnit)
183 {
184 this(name, abbreviation, unitSystem, referenceUnit, scaleFactorToReferenceUnit, false);
185 }
186
187
188 @Override
189 public final MassUnit getStandardUnit()
190 {
191 return KILOGRAM;
192 }
193
194
195 @Override
196 public final String getSICoefficientsString()
197 {
198 return "kg";
199 }
200
201 }