Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions pyemittance/load_json_configs.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,5 +49,3 @@ def load_configs(dir_name="LCLS2_OTR0H04"):

if __name__ == "__main__":
all_data = load_configs()
print(all_data.keys())
print(all_data.values())
1 change: 0 additions & 1 deletion pyemittance/observer.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ def measure_beam(self, quad_list):
xrms_err.append(bdat['xrms_err'])
yrms_err.append(bdat['yrms_err'])
extra.append(bdat.get('extra', None))
print(extra)
# update saved values
self.quad_meas.append(val)
self.beam_meas["x"].append(xrms[-1])
Expand Down
26 changes: 15 additions & 11 deletions pyemittance/optics.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,50 +12,54 @@
logger = logging.getLogger(__name__)


def kL_from_machine_value(quad_val, energy, quad_len):
def kL_from_machine_value(quad_val, energy, quad_len=None):
"""
Calculates quadrupole strength from machine value.
Calculates integrated quadrupole strength kL from machine value.

Parameters
----------
quad_val: ndarray
integrated quad field -[kG] (SLAC convention)
Integrated quad gradient [kG] (SLAC convention: 1 kG = 0.1 T)

energy: float
Beam energy [eV]

quad_len: float, optional
Unused. Kept for API compatibility.

Returns
-------
ndarray
Quad strength [1/m^2]

Integrated quad strength kL [1/m]
"""
gamma = energy / mec2
beta = np.sqrt(1 - 1 / gamma**2)

return c_light*quad_val * quad_len / (beta * energy) # 1/m^2
return c_light * quad_val * 0.1 / (beta * energy)

def machine_value_from_kL(kL, energy, quad_len):
def machine_value_from_kL(kL, energy, quad_len=None):
"""
Calculates machine value from quadrupole strength.

Parameters
----------
kL: ndarray
integrated quad focusing strength [1/m]
Integrated quad focusing strength [1/m]

energy: float
Beam energy [eV]

quad_len: float, optional
Unused. Kept for API compatibility.

Returns
-------
ndarray
Integrated quad field [kG] (SLAC positron convention)

Integrated quad gradient [kG] (SLAC convention: 1 kG = 0.1 T)
"""
gamma = energy / mec2
beta = np.sqrt(1 - 1 / gamma**2)
return kL * beta * energy / c_light / quad_len # 1/m -> kG
return kL * beta * energy / c_light * 10



Expand Down
Loading