Skip to content

Commit 6cfc0d9

Browse files
committed
Set as many values as possible during construction
1 parent f0265eb commit 6cfc0d9

4 files changed

+76
-89
lines changed

pynch/ame_mass_parse.py

+15-18
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,23 @@ def _read_line(self, line: str) -> dict:
2525
if line.find("#") != -1:
2626
line = line.replace("#", " ")
2727

28-
data = {"TableYear": self.year}
29-
data["A"] = self._read_as_int(line, self.START_A, self.END_A)
30-
data["Z"] = self._read_as_int(line, self.START_Z, self.END_Z)
28+
data = {
29+
"TableYear": self.year,
30+
"A": self._read_as_int(line, self.START_A, self.END_A),
31+
"Z": self._read_as_int(line, self.START_Z, self.END_Z),
32+
"AMEMassExcess": self._read_as_float(line, self.START_ME, self.END_ME),
33+
"AMEMassExcessError": self._read_as_float(line, self.START_DME, self.END_DME),
34+
"BindingEnergyPerA": self._read_as_float(line, self.START_BE_PER_A, self.END_BE_PER_A),
35+
"BindingEnergyPerAError": self._read_as_float(line, self.START_DBE_PER_A, self.END_DBE_PER_A),
36+
"BetaDecayEnergy": self._read_as_float(line, self.START_BETA_DECAY_ENERGY, self.END_BETA_DECAY_ENERGY),
37+
"BetaDecayEnergyError": self._read_as_float(line, self.START_DBETA_DECAY_ENERGY, self.END_DBETA_DECAY_ENERGY),
38+
"AtomicMass": self._read_as_float(line, self.START_MICRO_U, self.END_MICRO_U),
39+
"AtomicMassError": self._read_as_float(line, self.START_MICRO_DU, self.END_MICRO_DU),
40+
}
41+
3142
data["N"] = data["A"] - data["Z"]
3243
data["Symbol"] = self.z_to_symbol[data["Z"]]
3344

34-
data["AMEMassExcess"] = self._read_as_float(line, self.START_ME, self.END_ME)
35-
data["AMEMassExcessError"] = self._read_as_float(line, self.START_DME, self.END_DME)
36-
37-
data["BindingEnergyPerA"] = self._read_as_float(line, self.START_BE_PER_A, self.END_BE_PER_A)
38-
data["BindingEnergyPerAError"] = self._read_as_float(line, self.START_DBE_PER_A, self.END_DBE_PER_A)
39-
40-
data["BetaDecayEnergy"] = self._read_as_float(line, self.START_BETA_DECAY_ENERGY, self.END_BETA_DECAY_ENERGY)
41-
data["BetaDecayEnergyError"] = self._read_as_float(line,
42-
self.START_DBETA_DECAY_ENERGY,
43-
self.END_DBETA_DECAY_ENERGY)
44-
45-
data["AtomicMass"] = self._read_as_float(line, self.START_MICRO_U, self.END_MICRO_U)
46-
data["AtomicMassError"] = self._read_as_float(line, self.START_MICRO_DU, self.END_MICRO_DU)
47-
4845
return data
4946

5047
def read_file(self) -> pd.DataFrame:
@@ -53,6 +50,6 @@ def read_file(self) -> pd.DataFrame:
5350
lines = [line.rstrip() for line in f]
5451

5552
# Remove the header lines
56-
lines = lines[self.HEADER:self.FOOTER]
53+
lines = lines[self.HEADER : self.FOOTER]
5754

5855
return pd.DataFrame.from_dict([self._read_line(line) for line in lines])

pynch/ame_reaction_1_parse.py

+19-22
Original file line numberDiff line numberDiff line change
@@ -27,30 +27,27 @@ def _read_line(self, line: str) -> dict:
2727
if line.find("#") != -1:
2828
line = line.replace("#", " ")
2929

30-
data = {"TableYear": self.year}
31-
data["A"] = self._read_as_int(line, self.START_R1_A, self.END_R1_A)
32-
data["Z"] = self._read_as_int(line, self.START_R1_Z, self.END_R1_Z)
30+
data = {
31+
"TableYear": self.year,
32+
"A": self._read_as_int(line, self.START_R1_A, self.END_R1_A),
33+
"Z": self._read_as_int(line, self.START_R1_Z, self.END_R1_Z),
34+
"TwoNeutronSeparationEnergy": self._read_as_float(line, self.START_S2N, self.END_S2N),
35+
"TwoNeutronSeparationEnergyError": self._read_as_float(line, self.START_DS2N, self.END_DS2N),
36+
"TwoProtonSeparationEnergy": self._read_as_float(line, self.START_S2P, self.END_S2P),
37+
"TwoProtonSeparationEnergyError": self._read_as_float(line, self.START_DS2P, self.END_DS2P),
38+
"QAlpha": self._read_as_float(line, self.START_QA, self.END_QA),
39+
"QAlphaError": self._read_as_float(line, self.START_DQA, self.END_DQA),
40+
"QTwoBeta": self._read_as_float(line, self.START_Q2B, self.END_Q2B),
41+
"QTwoBetaError": self._read_as_float(line, self.START_DQ2B, self.END_DQ2B),
42+
"QEpsilon": self._read_as_float(line, self.START_QEP, self.END_QEP),
43+
"QEpsilonError": self._read_as_float(line, self.START_DQEP, self.END_DQEP),
44+
"QBetaNeutron": self._read_as_float(line, self.START_QBN, self.END_QBN),
45+
"QBetaNeutronError": self._read_as_float(line, self.START_DQBN, self.END_DQBN),
46+
}
47+
3348
data["N"] = data["A"] - data["Z"]
3449
data["Symbol"] = self.z_to_symbol[data["Z"]]
3550

36-
data["TwoNeutronSeparationEnergy"] = self._read_as_float(line, self.START_S2N, self.END_S2N)
37-
data["TwoNeutronSeparationEnergyError"] = self._read_as_float(line, self.START_DS2N, self.END_DS2N)
38-
39-
data["TwoProtonSeparationEnergy"] = self._read_as_float(line, self.START_S2P, self.END_S2P)
40-
data["TwoProtonSeparationEnergyError"] = self._read_as_float(line, self.START_DS2P, self.END_DS2P)
41-
42-
data["QAlpha"] = self._read_as_float(line, self.START_QA, self.END_QA)
43-
data["QAlphaError"] = self._read_as_float(line, self.START_DQA, self.END_DQA)
44-
45-
data["QTwoBeta"] = self._read_as_float(line, self.START_Q2B, self.END_Q2B)
46-
data["QTwoBetaError"] = self._read_as_float(line, self.START_DQ2B, self.END_DQ2B)
47-
48-
data["QEpsilon"] = self._read_as_float(line, self.START_QEP, self.END_QEP)
49-
data["QEpsilonError"] = self._read_as_float(line, self.START_DQEP, self.END_DQEP)
50-
51-
data["QBetaNeutron"] = self._read_as_float(line, self.START_QBN, self.END_QBN)
52-
data["QBetaNeutronError"] = self._read_as_float(line, self.START_DQBN, self.END_DQBN)
53-
5451
return data
5552

5653
def read_file(self) -> pd.DataFrame:
@@ -59,6 +56,6 @@ def read_file(self) -> pd.DataFrame:
5956
lines = [line.rstrip() for line in f]
6057

6158
# Remove the header lines
62-
lines = lines[self.HEADER:self.FOOTER]
59+
lines = lines[self.HEADER : self.FOOTER]
6360

6461
return pd.DataFrame.from_dict([self._read_line(line) for line in lines])

pynch/ame_reaction_2_parse.py

+19-22
Original file line numberDiff line numberDiff line change
@@ -27,30 +27,27 @@ def _read_line(self, line: str) -> dict:
2727
if line.find("#") != -1:
2828
line = line.replace("#", " ")
2929

30-
data = {"TableYear": self.year}
31-
data["A"] = self._read_as_int(line, self.START_R2_A, self.END_R2_A)
32-
data["Z"] = self._read_as_int(line, self.START_R2_Z, self.END_R2_Z)
30+
data = {
31+
"TableYear": self.year,
32+
"A": self._read_as_int(line, self.START_R2_A, self.END_R2_A),
33+
"Z": self._read_as_int(line, self.START_R2_Z, self.END_R2_Z),
34+
"OneNeutronSeparationEnergy": self._read_as_float(line, self.START_SN, self.END_SN),
35+
"OneNeutronSeparationEnergyError": self._read_as_float(line, self.START_DSN, self.END_DSN),
36+
"OneProtonSeparationEnergy": self._read_as_float(line, self.START_SP, self.END_SP),
37+
"OneProtonSeparationEnergyError": self._read_as_float(line, self.START_DSP, self.END_DSP),
38+
"QFourBeta": self._read_as_float(line, self.START_Q4B, self.END_Q4B),
39+
"QFourBetaError": self._read_as_float(line, self.START_DQ4B, self.END_DQ4B),
40+
"QDeuteronAlpha": self._read_as_float(line, self.START_QDA, self.END_QDA),
41+
"QDeuteronAlphaError": self._read_as_float(line, self.START_DQDA, self.END_DQDA),
42+
"QProtonAlpha": self._read_as_float(line, self.START_QPA, self.END_QPA),
43+
"QProtonAlphaError": self._read_as_float(line, self.START_DQPA, self.END_DQPA),
44+
"QNeutronAlpha": self._read_as_float(line, self.START_QNA, self.END_QNA),
45+
"QNeutronAlphaErrror": self._read_as_float(line, self.START_DQNA, self.END_DQNA),
46+
}
47+
3348
data["N"] = data["A"] - data["Z"]
3449
data["Symbol"] = self.z_to_symbol[data["Z"]]
3550

36-
data["OneNeutronSeparationEnergy"] = self._read_as_float(line, self.START_SN, self.END_SN)
37-
data["OneNeutronSeparationEnergyError"] = self._read_as_float(line, self.START_DSN, self.END_DSN)
38-
39-
data["OneProtonSeparationEnergy"] = self._read_as_float(line, self.START_SP, self.END_SP)
40-
data["OneProtonSeparationEnergyError"] = self._read_as_float(line, self.START_DSP, self.END_DSP)
41-
42-
data["QFourBeta"] = self._read_as_float(line, self.START_Q4B, self.END_Q4B)
43-
data["QFourBetaError"] = self._read_as_float(line, self.START_DQ4B, self.END_DQ4B)
44-
45-
data["QDeuteronAlpha"] = self._read_as_float(line, self.START_QDA, self.END_QDA)
46-
data["QDeuteronAlphaError"] = self._read_as_float(line, self.START_DQDA, self.END_DQDA)
47-
48-
data["QProtonAlpha"] = self._read_as_float(line, self.START_QPA, self.END_QPA)
49-
data["QProtonAlphaError"] = self._read_as_float(line, self.START_DQPA, self.END_DQPA)
50-
51-
data["QNeutronAlpha"] = self._read_as_float(line, self.START_QNA, self.END_QNA)
52-
data["QNeutronAlphaErrror"] = self._read_as_float(line, self.START_DQNA, self.END_DQNA)
53-
5451
return data
5552

5653
def read_file(self) -> pd.DataFrame:
@@ -59,7 +56,7 @@ def read_file(self) -> pd.DataFrame:
5956
lines = [line.rstrip() for line in f]
6057

6158
# Remove the header lines and the footer for the 2020 table
62-
lines = lines[self.HEADER:self.FOOTER]
59+
lines = lines[self.HEADER : self.FOOTER]
6360

6461
# The 2020 rct2 file has additional lines feeds not present in any other file
6562
the_lines = [line for line in lines if line[:1] != "1"]

pynch/nubase_parse.py

+23-27
Original file line numberDiff line numberDiff line change
@@ -85,38 +85,34 @@ def _read_line(self, line: str) -> dict:
8585
return dict()
8686

8787
exp = True if line.find("#") == -1 else False
88-
89-
data = {"Experimental": exp}
9088
if not exp:
9189
line = line.replace("#", " ")
9290

93-
data["TableYear"] = self.year
94-
data["A"] = self._read_as_int(line, self.START_A, self.END_A)
95-
data["Z"] = self._read_as_int(line, self.START_Z, self.END_Z)
96-
data["N"] = data["A"] - data["Z"]
97-
data["Symbol"] = self.z_to_symbol[data["Z"]]
98-
99-
data["NubaseMassExcess"] = self._read_as_float(line, self.START_ME, self.END_ME)
100-
data["NubaseMassExcessError"] = self._read_as_float(
101-
line, self.START_DME, self.END_DME
102-
)
103-
# data["LevelEnergy"] = self._read_as_float(
104-
# line, self.START_ISOMER, self.END_ISOMER
105-
# )
106-
# data["LevelEnergyError"] = self._read_as_float(
107-
# line, self.START_DISOMER, self.END_DISOMER
108-
# )
91+
data = {
92+
"Experimental" : exp,
93+
"TableYear": self.year,
94+
"A" : self._read_as_int(line, self.START_A, self.END_A),
95+
"Z" : self._read_as_int(line, self.START_Z, self.END_Z),
96+
"NubaseMassExcess" : self._read_as_float(line, self.START_ME, self.END_ME),
97+
"NubaseMassExcessError" : self._read_as_float(line, self.START_DME, self.END_DME),
98+
# "LevelEnergy" : self._read_as_float(,
99+
# line, self.START_ISOMER, self.END_ISOMER
100+
# )
101+
# "LevelEnergyError" : self._read_as_float(,
102+
# line, self.START_DISOMER, self.END_DISOMER
103+
# )
104+
"LevelSpin" : self._read_spin(line),
105+
"DiscoveryYear" : (
106+
self._read_as_int(line, self.START_YEAR, self.END_YEAR, default=1900)
107+
if self.year != 2003
108+
else 1900
109+
),
110+
"Decay" : self._read_decay_string(line),
111+
}
109112

110113
data["HalfLifeValue"], data["HalfLifeUnit"], data["HalfLifeError"] = self._read_all_halflife_data(line)
111-
112-
data["LevelSpin"] = self._read_spin(line)
113-
114-
data["DiscoveryYear"] = (
115-
self._read_as_int(line, self.START_YEAR, self.END_YEAR, default=1900)
116-
if self.year != 2003
117-
else 1900
118-
)
119-
data["Decay"] = self._read_decay_string(line)
114+
data["N"] = data["A"] - data["Z"]
115+
data["Symbol"] = self.z_to_symbol[data["Z"]]
120116

121117
return data
122118

0 commit comments

Comments
 (0)