georges_core.sequences package
Submodules
georges_core.sequences.betablock module
TODO
- class georges_core.sequences.betablock.BetaBlock(BETA11: ~pint.Quantity = <Quantity(1.0, 'meter')>, ALPHA11: float = 0.0, GAMMA11: float | None = None, BETA22: ~pint.Quantity = <Quantity(1.0, 'meter')>, ALPHA22: float = 0.0, GAMMA22: float | None = None, BETA12: float = <Quantity(0.0, 'meter')>, BETA21: float = <Quantity(0.0, 'meter')>, ALPHA12: float = 0.0, ALPHA21: float = 0.0, DISP1: ~pint.Quantity = <Quantity(0.0, 'meter')>, DISP2: float = 0.0, DISP3: ~pint.Quantity = <Quantity(0.0, 'meter')>, DISP4: float = 0.0, EMIT1: ~pint.Quantity = <Quantity(1e-09, 'meter * radian')>, EMIT2: ~pint.Quantity = <Quantity(1e-09, 'meter * radian')>, EMIT3: float = 1e-09, MU1: float = 0.0, MU2: float = 0.0, NU1: float = 0.0, NU2: float = 0.0, CMU1: float = 1.0, CMU2: float = 1.0, DY: float = 0.0, DX: float = 0.0, DYP: float = 0.0, DXP: float = 0.0, DZ: float = 0.0, DZP: float = 0.0, U: float = 0.0, R: ~numpy.ndarray = array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]))[source]
 Bases:
objectTODO
- BETA11: Quantity = <Quantity(1.0, 'meter')>
 
- ALPHA11: float = 0.0
 
- GAMMA11: float | None = None
 
- BETA22: Quantity = <Quantity(1.0, 'meter')>
 
- ALPHA22: float = 0.0
 
- GAMMA22: float | None = None
 
- BETA12: float = <Quantity(0.0, 'meter')>
 
- BETA21: float = <Quantity(0.0, 'meter')>
 
- ALPHA12: float = 0.0
 
- ALPHA21: float = 0.0
 
- DISP1: Quantity = <Quantity(0.0, 'meter')>
 
- DISP2: float = 0.0
 
- DISP3: Quantity = <Quantity(0.0, 'meter')>
 
- DISP4: float = 0.0
 
- EMIT1: Quantity = <Quantity(1e-09, 'meter * radian')>
 
- EMIT2: Quantity = <Quantity(1e-09, 'meter * radian')>
 
- EMIT3: float = 1e-09
 
- MU1: float = 0.0
 
- MU2: float = 0.0
 
- NU1: float = 0.0
 
- NU2: float = 0.0
 
- CMU1: float = 1.0
 
- CMU2: float = 1.0
 
- DY: float = 0.0
 
- DX: float = 0.0
 
- DYP: float = 0.0
 
- DXP: float = 0.0
 
- DZ: float = 0.0
 
- DZP: float = 0.0
 
- U: float = 0.0
 
- R: ndarray = array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]])
 
- property df: Series
 
georges_core.sequences.elements module
TODO
- class georges_core.sequences.elements.ElementClass(name: str, bases: type | Tuple[type] | None = None, dct: Dict[str, Any] | None = None, **kwargs)[source]
 Bases:
ABCMetaTODO
- class georges_core.sequences.elements.Element(name: str | None = None, **kwargs: Any)[source]
 Bases:
UserDictTODO
- parameters = {}
 
- metaclass
 alias of
ElementClass
- classmethod make_subclass(name: str, bases: type | Tuple[type] | None = None, dct: Dict[str, Any] | None = None, **kwargs: Any) Type[ElementClass][source]
 - Parameters:
 name –
bases –
dct –
**kwargs –
Returns:
- classmethod subclass(name: str, bases: type | Tuple[type] | None = None, dct: Dict[str, Any] | None = None, **kwargs: Any) Type[ElementClass]
 - Parameters:
 name –
bases –
dct –
**kwargs –
Returns:
- class Bend(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
BendClass
- parameters = {'KEYWORD': 'BEND'}
 
- class Cavity(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
CavityClass
- parameters = {'KEYWORD': 'CAVITY'}
 
- class CircularCollimator(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
CircularCollimatorClass
- parameters = {'KEYWORD': 'CIRCULARCOLLIMATOR'}
 
- class Decapole(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
DecapoleClass
- parameters = {'KEYWORD': 'DECAPOLE'}
 
- class Degrader(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
DegraderClass
- parameters = {'KEYWORD': 'DEGRADER'}
 
- class Dipole(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
DipoleClass
- parameters = {'KEYWORD': 'DIPOLE'}
 
- class Drift(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
DriftClass
- parameters = {'KEYWORD': 'DRIFT'}
 
- class EllipticalCollimator(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
EllipticalCollimatorClass
- parameters = {'KEYWORD': 'ELLIPTICALCOLLIMATOR'}
 
- class Face(name: str | None = None, **kwargs: Any)
 Bases:
Element- E1 = <Quantity(0.0, 'degree')>
 
- L = <Quantity(0.0, 'meter')>
 
- metaclass
 alias of
FaceClass
- parameters = {'E1': <Quantity(0.0, 'degree')>, 'KEYWORD': 'FACE', 'L': <Quantity(0.0, 'meter')>}
 
- class Fringein(name: str | None = None, **kwargs: Any)
 Bases:
Element- TILT = <Quantity(0.0, 'radian')>
 
- metaclass
 alias of
FringeinClass
- parameters = {'KEYWORD': 'FRINGEIN', 'TILT': <Quantity(0.0, 'radian')>}
 
- class Fringeout(name: str | None = None, **kwargs: Any)
 Bases:
Element- TILT = <Quantity(0.0, 'radian')>
 
- metaclass
 alias of
FringeoutClass
- parameters = {'KEYWORD': 'FRINGEOUT', 'TILT': <Quantity(0.0, 'radian')>}
 
- class HKicker(name: str | None = None, **kwargs: Any)
 Bases:
Element- KICK = <Quantity(0.0, 'radian')>
 
- L = <Quantity(0.0, 'meter')>
 
- TILT = <Quantity(0.0, 'radian')>
 
- metaclass
 alias of
HKickerClass
- parameters = {'KEYWORD': 'HKICKER', 'KICK': <Quantity(0.0, 'radian')>, 'L': <Quantity(0.0, 'meter')>, 'TILT': <Quantity(0.0, 'radian')>}
 
- class Instrument(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
InstrumentClass
- parameters = {'KEYWORD': 'INSTRUMENT'}
 
- class Marker(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
MarkerClass
- parameters = {'KEYWORD': 'MARKER'}
 
- class Multipole(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
MultipoleClass
- parameters = {'KEYWORD': 'MULTIPOLE'}
 
- class Octupole(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
OctupoleClass
- parameters = {'KEYWORD': 'OCTUPOLE'}
 
- class Quadrupole(name: str | None = None, **kwargs: Any)
 Bases:
Element- E1 = <Quantity(0.0, 'radian')>
 
- E2 = <Quantity(0.0, 'radian')>
 
- K1 = <Quantity(0.0, '1 / meter ** 2')>
 
- K1L = <Quantity(0.0, '1 / meter')>
 
- TILT = <Quantity(0.0, 'radian')>
 
- metaclass
 alias of
QuadrupoleClass
- parameters = {'E1': <Quantity(0.0, 'radian')>, 'E2': <Quantity(0.0, 'radian')>, 'K1': <Quantity(0.0, '1 / meter ** 2')>, 'K1L': <Quantity(0.0, '1 / meter')>, 'KEYWORD': 'QUADRUPOLE', 'TILT': <Quantity(0.0, 'radian')>}
 
- class RBend(name: str | None = None, **kwargs: Any)
 Bases:
Element- TILT = <Quantity(0.0, 'radian')>
 
- metaclass
 alias of
RBendClass
- parameters = {'KEYWORD': 'RBEND', 'TILT': <Quantity(0.0, 'radian')>}
 
- class RectangularCollimator(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
RectangularCollimatorClass
- parameters = {'KEYWORD': 'RECTANGULARCOLLIMATOR'}
 
- class SBend(name: str | None = None, **kwargs: Any)
 Bases:
Element- ANGLE = <Quantity(0.0, 'radian')>
 
- E1 = <Quantity(0.0, 'radian')>
 
- E2 = <Quantity(0.0, 'radian')>
 
- TILT = <Quantity(0.0, 'radian')>
 
- metaclass
 alias of
SBendClass
- parameters = {'ANGLE': <Quantity(0.0, 'radian')>, 'E1': <Quantity(0.0, 'radian')>, 'E2': <Quantity(0.0, 'radian')>, 'KEYWORD': 'SBEND', 'TILT': <Quantity(0.0, 'radian')>}
 
- class SRotation(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
SRotationClass
- parameters = {'KEYWORD': 'SROTATION'}
 
- class Scatterer(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
ScattererClass
- parameters = {'KEYWORD': 'SCATTERER'}
 
- class Sextupole(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
SextupoleClass
- parameters = {'KEYWORD': 'SEXTUPOLE'}
 
- class Solenoid(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
SolenoidClass
- parameters = {'KEYWORD': 'SOLENOID'}
 
- class Steerer(name: str | None = None, **kwargs: Any)
 Bases:
Element- metaclass
 alias of
SteererClass
- parameters = {'KEYWORD': 'STEERER'}
 
- class VKicker(name: str | None = None, **kwargs: Any)
 Bases:
Element- KICK = <Quantity(0.0, 'radian')>
 
- L = <Quantity(0.0, 'meter')>
 
- TILT = <Quantity(0.0, 'radian')>
 
- metaclass
 alias of
VKickerClass
- parameters = {'KEYWORD': 'VKICKER', 'KICK': <Quantity(0.0, 'radian')>, 'L': <Quantity(0.0, 'meter')>, 'TILT': <Quantity(0.0, 'radian')>}
 
georges_core.sequences.sequence module
High-level interface for Zgoubi or Manzoni using sequences.
- exception georges_core.sequences.sequence.SequenceException(m: str = '')[source]
 Bases:
ExceptionException raised for errors when using zgoubidoo.Sequence
- class georges_core.sequences.sequence.SequenceMetadata(data: _pd.Series = None, kinematics: Optional[_Kinematics] = None, particle: _ParticuleType = <class 'georges_core.particles.Proton'>, n_particles: int = 1, betablock: Optional[_BetaBlock] = None)[source]
 Bases:
objectTODO
- data: _pd.Series = None
 
- kinematics: _Kinematics | None = None
 
- n_particles: int = 1
 
- betablock: _BetaBlock | None = None
 
- class georges_core.sequences.sequence.Sequence(name: str = '', data: Any | None = None, metadata: SequenceMetadata | None = None, element_keys: Mapping[str, str] | None = None)[source]
 Bases:
objectSequence.
- Parameters:
 name – the name of the physics
data –
metadata –
element_keys –
- property name: str
 Provides the name of the sequence.
- property metadata: SequenceMetadata
 Provides the metadata associated with the sequence.
- property kinematics: Kinematics | None
 Provides the kinematics data associated with the sequence metadata.
- property particle: _ParticuleType
 Provides the particle type associated with the sequence metadata.
- set_position(elements: str, value: Quantity) None[source]
 Set a new position of the center for an element. The parameter at_entry and at_exit are re-computed. :param elements: :param value:
Returns:
- property df: DataFrame
 TODO
- static from_madx_twiss(filename: str = 'twiss.outx', path: str = '.', kinematics: Kinematics | None = None, lines: int | None = None, with_units: bool = True, from_element: str | None | int = None, to_element: str | None | int = None, element_keys: Mapping[str, str] | None = None) Sequence[source]
 TODO
- Parameters:
 element_keys –
lines –
kinematics – Kinematics of the line
with_units –
filename – name of the Twiss table file
path – path to the Twiss table file
from_element –
to_element –
Returns:
Examples
TODO
- static from_transport(filename: str = 'transport.txt', path: str = '.') TransportSequence[source]
 TODO
- Parameters:
 filename –
path –
Returns:
- static from_survey(filename: str = 'survey.csv', path: str = '.', kinematics: Kinematics | None = None, **kwargs: Any) SurveySequence[source]
 TODO
Returns:
- static from_bdsim(filename: str = 'output.root', path: str = '.') BDSIMSequence[source]
 TODO
Returns:
- class georges_core.sequences.sequence.PlacementSequence(name: str = '', data: List[Tuple[Element, Quantity, Quantity, Quantity]] | None = None, metadata: SequenceMetadata | None = None, reference_placement: str = 'ENTRY', element_keys: Mapping[str, str] | None = None)[source]
 Bases:
SequencePlacement Sequence.
- Parameters:
 name – the name of the physics
data – the list of commands composing the physics
metadata –
reference_placement –
element_keys –
- property expanded: bool
 
- add(element_or_sequence: Element | Sequence) None[source]
 - Parameters:
 element_or_sequence –
Returns:
- place(element_or_sequence: Element | Sequence, at: Quantity | None = None, at_entry: Quantity | None = None, at_center: Quantity | None = None, at_exit: Quantity | None = None, after: str | None = None, before: str | None = None) PlacementSequence[source]
 - Parameters:
 element_or_sequence –
at –
at_center –
at_entry –
at_exit –
after –
before –
Returns:
- place_after_last(element_or_sequence: Element | Sequence, at: Quantity | None = None, at_entry: Quantity | None = None, at_center: Quantity | None = None, at_exit: Quantity | None = None) PlacementSequence[source]
 - Parameters:
 element_or_sequence –
at –
at_center –
at_entry –
at_exit –
Returns:
- place_before_first(element_or_sequence: Element | Sequence, at: Quantity | None = None, at_entry: Quantity | None = None, at_center: Quantity | None = None, at_exit: Quantity | None = None) PlacementSequence[source]
 - Parameters:
 element_or_sequence –
at –
at_center –
at_entry –
at_exit –
Returns:
- expand(drift_element: ~georges_core.sequences.elements.ElementClass = <class 'abc.Drift'>) PlacementSequence[source]
 TODO Use namedtuples
- Parameters:
 drift_element –
Returns:
- reverse() PlacementSequence[source]
 Returns:
- sort(reverse: bool = False) PlacementSequence[source]
 - Parameters:
 reverse –
Returns:
- to_df(df: DataFrame | None = None, strip_units: bool = False) DataFrame[source]
 - Parameters:
 df –
strip_units –
Returns:
- property df: DataFrame
 - Parameters:
 df –
strip_units –
Returns:
- class georges_core.sequences.sequence.TwissSequence(filename: str = 'twiss.outx', path: str = '.', *, kinematics: Kinematics | None = None, lines: int | None = None, with_units: bool = True, from_element: str | None | int = None, to_element: str | None | int = None, with_beam: bool = False, nparticles: int = 1, refer: str = 'center', element_keys: Mapping[str, str] | None = None)[source]
 Bases:
SequenceTODO
- Parameters:
 filename – the name of the Twiss table
path – path to the Twiss table
lines – number of lines in the header (default: 47)
kinematics – kinematics of the particle. Must be specified for MAD-NG
with_units – Set units to columns
from_element – Name of the first element
to_element – Name of the last element
with_beam – Generate a Gaussian beam from Twiss parameters
nparticles – Number of particles in the beam (default 1)
refer – corresponding placement in MAD-X (entry, center, exit)
element_keys –
- class georges_core.sequences.sequence.SurveySequence(filename: str, path: str = '.', from_element: str | None | int = None, to_element: str | None | int = None, kinematics: Kinematics | None = None, metadata: SequenceMetadata | None = None)[source]
 Bases:
PlacementSequence- Parameters:
 filename – Name of the file, must be a csv.
path – Path to the file
kinematics – Kinematics of the particle
metadata – metadata of the sequence
- to_df(df: DataFrame | None = None, strip_units: bool = False) DataFrame[source]
 - Parameters:
 df –
strip_units –
Returns:
- property df: DataFrame
 - Parameters:
 df –
strip_units –
Returns:
- class georges_core.sequences.sequence.TransportSequence(filename: str, path: str = '.', flavor: Type[TransportInputOriginalFlavor] = <class 'georges_core.codes_io.transport.TransportInputOriginalFlavor'>)[source]
 Bases:
SequenceTODO
- Parameters:
 filename – the name of the physics
path –
flavor –
- class TransportInputFlavor
 Bases:
object
- class TransportInputOriginalFlavor
 Bases:
TransportInputFlavor
- property df: DataFrame
 TODO
Module contents
TODO