beam_calculation.envelope_3d.simulation_output_factory module

Define a class to easily generate the SimulationOutput.

class SimulationOutputFactoryEnvelope3D(_is_3d: bool, _is_multipart: bool, _solver_id: str, out_folder: Path)

Bases: SimulationOutputFactory

A class for creating simulation outputs for Envelope3D.

__init__(_is_3d: bool, _is_multipart: bool, _solver_id: str, out_folder: Path) None
__post_init__() None

Create the factories.

The created factories are TransferMatrixFactory and BeamParametersFactory. The sub-class that is used is declared in _transfer_matrix_factory_class() and _beam_parameters_factory_class().

_abc_impl = <_abc._abc_data object>
property _beam_parameters_factory_class: ABCMeta

Give the class of the beam parameters factory.

property _transfer_matrix_factory_class: ABCMeta

Give the class of the transfer matrix factory.

out_folder: Path
run(elts: ListOfElements, single_elts_results: list[dict], set_of_cavity_settings: SetOfCavitySettings) SimulationOutput

Transform the outputs of BeamCalculator to a SimulationOutput.

Todo

Patch in transfer matrix to get proper input transfer matrix. In future, input beam will not hold transf mat in anymore.