MCPcopy Create free account
hub / github.com/NSLS2/PyXRF / _fill_elist

Method _fill_elist

pyxrf/model/lineplot.py:910–961  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

908 self.vertical_marker_kev = (e_low + e_high) / 2.0
909
910 def _fill_elist(self):
911 _elist = []
912
913 incident_energy = self.incident_energy
914 k_len = len(K_TRANSITIONS)
915 l_len = len(L_TRANSITIONS)
916 m_len = len(M_TRANSITIONS)
917
918 ename = self.get_element_line_name_by_id(self.element_id)
919
920 if ename is not None:
921 _elist = []
922 if ename.lower().startswith("userpeak"):
923 # Make sure that the marker is in the selected range of energies
924 self._vertical_marker_set_inside_range()
925 # The tuple structure: (center_energy, ratio)
926 _elist.append((self.vertical_marker_kev, 1.0))
927
928 elif "_K" in ename:
929 e = Element(ename[:-2])
930 if e.cs(incident_energy)["ka1"] != 0:
931 for i in range(k_len):
932 _elist.append(
933 (
934 e.emission_line.all[i][1],
935 e.cs(incident_energy).all[i][1] / e.cs(incident_energy).all[0][1],
936 )
937 )
938
939 elif "_L" in ename:
940 e = Element(ename[:-2])
941 if e.cs(incident_energy)["la1"] != 0:
942 for i in range(k_len, k_len + l_len):
943 _elist.append(
944 (
945 e.emission_line.all[i][1],
946 e.cs(incident_energy).all[i][1] / e.cs(incident_energy).all[k_len][1],
947 )
948 )
949
950 else:
951 e = Element(ename[:-2])
952 if e.cs(incident_energy)["ma1"] != 0:
953 for i in range(k_len + l_len, k_len + l_len + m_len):
954 _elist.append(
955 (
956 e.emission_line.all[i][1],
957 e.cs(incident_energy).all[i][1] / e.cs(incident_energy).all[k_len + l_len][1],
958 )
959 )
960
961 return _elist
962
963 def _get_pileup_lines(self, eline):
964 """

Callers 2

plot_current_elineMethod · 0.95

Tested by

no test coverage detected