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.kg", SI_BASE);
116 KILOGRAM = SI;
117 GRAM = new MassUnit("MassUnit.g", SI_BASE, KILOGRAM, 0.001);
118 FEMTOGRAM = new MassUnit("MassUnit.fg", SI_DERIVED, GRAM, 1.0E-15);
119 PICOGRAM = new MassUnit("MassUnit.pg", SI_DERIVED, GRAM, 1.0E-12);
120 NANOGRAM = new MassUnit("MassUnit.ng", SI_DERIVED, GRAM, 1.0E-9);
121 MICROGRAM = new MassUnit("MassUnit.mug", SI_DERIVED, GRAM, 1.0E-6);
122 MILLIGRAM = new MassUnit("MassUnit.mg", SI_DERIVED, GRAM, 0.001);
123 MEGAGRAM = new MassUnit("MassUnit.Mg", SI_DERIVED, GRAM, 1.0E6);
124 GIGAGRAM = new MassUnit("MassUnit.Gg", SI_DERIVED, GRAM, 1.0E9);
125 TERAGRAM = new MassUnit("MassUnit.Tg", SI_DERIVED, GRAM, 1.0E12);
126 PETAGRAM = new MassUnit("MassUnit.Pg", SI_DERIVED, GRAM, 1.0E15);
127 POUND = new MassUnit("MassUnit.lb", IMPERIAL, KILOGRAM, 0.45359237);
128 OUNCE = new MassUnit("MassUnit.oz", IMPERIAL, POUND, 1.0 / 16.0);
129 TON_LONG = new MassUnit("MassUnit.long_tn", IMPERIAL, POUND, 2240.0);
130 TON_SHORT = new MassUnit("MassUnit.sh_tn", US_CUSTOMARY, POUND, 2000.0);
131 TON_METRIC = new MassUnit("MassUnit.t", SI_ACCEPTED, KILOGRAM, 1000.0);
132 TONNE = new MassUnit("MassUnit.t_(mts)", MTS, KILOGRAM, 1000.0);
133 DALTON = new MassUnit("MassUnit.Da", SI_ACCEPTED, KILOGRAM, 1.6605388628E-27);
134 ELECTRONVOLT = new MassUnit("MassUnit.eV", OTHER, KILOGRAM, 1.782661907E-36);
135 MICROELECTRONVOLT = new MassUnit("MassUnit.mueV", OTHER, ELECTRONVOLT, 1.0E-6);
136 MILLIELECTRONVOLT = new MassUnit("MassUnit.meV", OTHER, ELECTRONVOLT, 1.0E-3);
137 KILOELECTRONVOLT = new MassUnit("MassUnit.keV", OTHER, ELECTRONVOLT, 1.0E3);
138 MEGAELECTRONVOLT = new MassUnit("MassUnit.MeV", OTHER, ELECTRONVOLT, 1.0E6);
139 GIGAELECTRONVOLT = new MassUnit("MassUnit.GeV", OTHER, ELECTRONVOLT, 1.0E9);
140 TERAELECTRONVOLT = new MassUnit("MassUnit.TeV", OTHER, ELECTRONVOLT, 1.0E12);
141 PETAELECTRONVOLT = new MassUnit("MassUnit.PeV", OTHER, ELECTRONVOLT, 1.0E15);
142 EXAELECTRONVOLT = new MassUnit("MassUnit.EeV", OTHER, ELECTRONVOLT, 1.0E18);
143 }
144
145
146
147
148
149
150 private MassUnit(final String abbreviationKey, final UnitSystem unitSystem)
151 {
152 super(abbreviationKey, unitSystem);
153 }
154
155
156
157
158
159
160
161
162
163 private MassUnit(final String abbreviationKey, final UnitSystem unitSystem, final MassUnit referenceUnit,
164 final double scaleFactorToReferenceUnit)
165 {
166 super(abbreviationKey, unitSystem, referenceUnit, scaleFactorToReferenceUnit);
167 }
168
169
170
171
172
173
174
175
176
177
178 public MassUnit(final String name, final String abbreviation, final UnitSystem unitSystem, final MassUnit referenceUnit,
179 final double scaleFactorToReferenceUnit)
180 {
181 super(name, abbreviation, unitSystem, referenceUnit, scaleFactorToReferenceUnit);
182 }
183
184
185 @Override
186 public final MassUnit getStandardUnit()
187 {
188 return KILOGRAM;
189 }
190
191
192 @Override
193 public final String getSICoefficientsString()
194 {
195 return "kg";
196 }
197
198 }