ocelot.cpbd.magnetic_lattice¶
Module Contents¶
Classes¶
sequence - list of the elements, |
|
Functions¶
|
|
|
Function to compress the lattice excluding elements by type or by individual elements |
|
Merge neighboring Drifts in one Drift |
|
Exclude zero length elements some types in elem_type |
-
ocelot.cpbd.magnetic_lattice._logger¶
-
ocelot.cpbd.magnetic_lattice.lattice_format_converter(elements)¶ - Parameters
elements – lattice in the format: [[elem1, center_pos1], [elem2, center_pos2], [elem3, center_pos3], … ]
- Returns
lattice in the format: [elem1, drift1, elem2, drift2, elem3, drift3, …]
-
ocelot.cpbd.magnetic_lattice.merger(lat, remaining_types=[], remaining_elems=[], init_energy=0.0)¶ Function to compress the lattice excluding elements by type or by individual elements
- Parameters
lat – MagneticLattice
remaining_types – list, the type of the elements which needed to be untouched others will be “compress” to Matrix element e.g. [Monitor, Quadrupole, Bend, Hcor]
remaining_elems – list of elements (ids (str) or object)
init_energy – initial energy
- Returns
New MagneticLattice
-
ocelot.cpbd.magnetic_lattice.flatten¶
-
class
ocelot.cpbd.magnetic_lattice.MagneticLattice(sequence, start=None, stop=None, method=MethodTM())¶ sequence - list of the elements, start - first element of lattice. If None, then lattice starts from first element of sequence, stop - last element of lattice. If None, then lattice stops by last element of sequence, method = MethodTM() - method of the tracking.
-
get_sequence_part(self, start, stop)¶
-
__getitem__(self, el)¶
-
update_transfer_maps(self)¶
-
update_endings(self, lat_index, element, body_elements, element_util)¶
-
__str__(self)¶ Return str(self).
-
find_indices(self, element)¶
-
-
class
ocelot.cpbd.magnetic_lattice.EndElements¶ -
suffix_1= _1¶
-
suffix_2= _2¶
-
static
check(lattice)¶
-
static
add(lattice)¶
-
static
update_first(end_element, body)¶
-
static
update_last(end_element, body)¶
-
-
class
ocelot.cpbd.magnetic_lattice.EdgeUtil¶ Bases:
ocelot.cpbd.magnetic_lattice.EndElements-
suffix_1= _e1¶
-
suffix_2= _e2¶
-
static
name_suffix_1()¶
-
static
name_suffix_2()¶
-
static
check(lattice)¶ if there are edges on the ends of dipoles return True, else False
-
static
add(lattice)¶
-
static
update_first(edge, bend)¶
-
static
update_last(edge, bend)¶
-
-
class
ocelot.cpbd.magnetic_lattice.CouplerKickUtil¶ Bases:
ocelot.cpbd.magnetic_lattice.EndElements-
suffix_1= _ck1¶
-
suffix_2= _ck2¶
-
static
check(lattice)¶ if there are CouplerKicks on the ends of Cavities return True, else False
-
static
add(lattice)¶
-
static
update_first(ckick, cavity)¶
-
static
update_last(ckick, cavity)¶
-
-
ocelot.cpbd.magnetic_lattice.merge_drifts(cell)¶ Merge neighboring Drifts in one Drift
- Parameters
cell – list of element
- Returns
new list of elements
-
ocelot.cpbd.magnetic_lattice.exclude_zero_length_element(cell, elem_type=[UnknownElement, Marker], except_elems=[])¶ Exclude zero length elements some types in elem_type
- Parameters
cell – list, sequence of elements
elem_type – list, types of Elements which should be excluded
except_elems – list, except elements
- Returns
list, new sequence of elements