Welcome to LightWin’s documentation!

LightWin

Todo

Precise that BeamParametersFactory and TransferMatrixFactory are mandatory.

(The original entry is located in /home/placais/LightWin/source/beam_calculation/beam_calculator.py:docstring of beam_calculation.beam_calculator, line 8.)

Todo

default_field_map_folder has a wrong default value. Should take path to the .dat file, that is not known at this point. Maybe handle this directly in the InstructionsFactory or whatever.

(The original entry is located in /home/placais/LightWin/source/beam_calculation/beam_calculator.py:docstring of beam_calculation.beam_calculator.BeamCalculator._set_up_common_factories, line 3.)

Todo

Handle reference synchronous phase.

(The original entry is located in /home/placais/LightWin/source/beam_calculation/beam_calculator.py:docstring of beam_calculation.beam_calculator.BeamCalculator.reference_phase, line 3.)

Todo

update_reference_phase is currently unused, because it is not useful once the propagation has been calculated. So… should I keep it? Maybe it can be useful in post_optimisation_run_with_this, or in scripts to convert the phase between the different references, or when I want to save the .dat?

(The original entry is located in /home/placais/LightWin/source/beam_calculation/beam_calculator.py:docstring of beam_calculation.beam_calculator.BeamCalculator.run, line 3.)

Todo

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

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_1d/simulation_output_factory.py:docstring of beam_calculation.envelope_1d.simulation_output_factory.SimulationOutputFactoryEnvelope1D.run, line 3.)

Todo

I think that this module could be greatly enhanced. I am not a Cython specialist and suggestions are welcome.

(The original entry is located in docstring of beam_calculation.envelope_1d.transfer_matrices_c, line 5.)

Todo

Field maps better to create the transfer matrix in one passage at the end?

(The original entry is located in docstring of beam_calculation.envelope_1d.transfer_matrices_c, line 9.)

Todo

the passing of the field maps is not clean at all

(The original entry is located in docstring of beam_calculation.envelope_1d.transfer_matrices_c, line 12.)

Todo

Possible to use only lists here. May speed up the code, especially in _c. But numpy is fast, no?

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_1d/transfer_matrices_p.py:docstring of beam_calculation.envelope_1d.transfer_matrices_p, line 6.)

Todo

send beta as argument to avoid recomputing it each time

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_1d/transfer_matrices_p.py:docstring of beam_calculation.envelope_1d.transfer_matrices_p, line 10.)

Todo

clean, fix, separate leapfrog integration in dedicated module

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_1d/transfer_matrices_p.py:docstring of beam_calculation.envelope_1d.transfer_matrices_p.z_field_map_leapfrog, line 3.)

Todo

Maybe Envelope3D could inherit from Envelope1D and this method would be written outnonly once.

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_3d/envelope_3d.py:docstring of beam_calculation.envelope_3d.envelope_3d.Envelope3D._adapt_cavity_settings, line 6.)

Todo

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

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_3d/simulation_output_factory.py:docstring of beam_calculation.envelope_3d.simulation_output_factory.SimulationOutputFactoryEnvelope3D.run, line 3.)

Todo

3D field maps?

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_3d/transfer_matrices_p.py:docstring of beam_calculation.envelope_3d.transfer_matrices_p, line 6.)

Todo

Maybe it would be clearer to compose r_xx, r_yy, r_zz. As an example, the zz_drift is used in several places.

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_3d/transfer_matrices_p.py:docstring of beam_calculation.envelope_3d.transfer_matrices_p, line 9.)

Todo

Will be necessary to separate this module into several sub-packages

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_3d/transfer_matrices_p.py:docstring of beam_calculation.envelope_3d.transfer_matrices_p, line 13.)

Todo

more math, less numpy. look at envelope 1d version

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_3d/transfer_matrices_p.py:docstring of beam_calculation.envelope_3d.transfer_matrices_p, line 16.)

Todo

As I am working on floats and not on np arrays, maybe the functions from the cmath package would be more adapted?

(The original entry is located in /home/placais/LightWin/source/beam_calculation/envelope_3d/transfer_matrices_p.py:docstring of beam_calculation.envelope_3d.transfer_matrices_p._quadrupole_trigo_hyperbolic, line 3.)

Todo

fixme

(The original entry is located in /home/placais/LightWin/source/beam_calculation/factory.py:docstring of beam_calculation.factory.BeamCalculatorsFactory._patch_to_remove_misunderstood_key, line 3.)

Todo

different functions, for different outputs. At least, an _element_to_index and a _element_to_indexes. And also a different function for when the index element is desired.

(The original entry is located in /home/placais/LightWin/source/beam_calculation/simulation_output/factory.py:docstring of beam_calculation.simulation_output.factory._element_to_index, line 7.)

Todo

Do I really need the r_zz_elt key??

(The original entry is located in /home/placais/LightWin/source/beam_calculation/simulation_output/simulation_output.py:docstring of beam_calculation.simulation_output.simulation_output, line 3.)

Todo

Do I really need z_abs? Envelope1D does not uses it while TraceWin does.

(The original entry is located in /home/placais/LightWin/source/beam_calculation/simulation_output/simulation_output.py:docstring of beam_calculation.simulation_output.simulation_output, line 6.)

Todo

Transfer matrices are stored in TransferMatrix, but also in BeamParameters.zdelta.

(The original entry is located in /home/placais/LightWin/source/beam_calculation/simulation_output/simulation_output.py:docstring of beam_calculation.simulation_output.simulation_output, line 9.)

Todo

Maybe the synchronous phase model should appear somewhere in here?

(The original entry is located in /home/placais/LightWin/source/beam_calculation/simulation_output/simulation_output.py:docstring of beam_calculation.simulation_output.simulation_output, line 13.)

Todo

normalized or not???

(The original entry is located in /home/placais/LightWin/source/beam_calculation/tracewin/beam_parameters_factory.py:docstring of beam_calculation.tracewin.beam_parameters_factory.BeamParametersFactoryTraceWin._extract_emittance_for_99percent, line 3.)

Todo

another possibly unbound error to handle

(The original entry is located in /home/placais/LightWin/source/beam_calculation/tracewin/simulation_output_factory.py:docstring of beam_calculation.tracewin.simulation_output_factory._add_dummy_data, line 6.)

Todo

fix possible unbound error for n_columns.

(The original entry is located in /home/placais/LightWin/source/beam_calculation/tracewin/simulation_output_factory.py:docstring of beam_calculation.tracewin.simulation_output_factory._remove_incomplete_line, line 3.)

Todo

Maybe I should also store the synchronous phase?

(The original entry is located in /home/placais/LightWin/source/beam_calculation/tracewin/tracewin.py:docstring of beam_calculation.tracewin.tracewin.TraceWin._save_cavities_entry_phases, line 8.)

Todo

Handling of arguments for TW could be cleaner

(The original entry is located in /home/placais/LightWin/source/config/beam_calculator.py:docstring of config.beam_calculator, line 3.)

Todo

I do not like the fact that some design_space_kw values are defined twice… I could move the default values to the initialisation of the DesignSpace object maybe. Eventually, everything from this script will be moved to the object instantiation anyway.

(The original entry is located in /home/placais/LightWin/source/config/design_space.py:docstring of config.design_space, line 3.)

Todo

It would be interesting to be able to pass some fig_kw directly from the .toml. I guess it is one of the reason of why I started refactoring the plots…

(The original entry is located in /home/placais/LightWin/source/config/plots.py:docstring of config.plots, line 8.)

Todo

Specific test for every optimisation method? For now, just trust the user.

(The original entry is located in /home/placais/LightWin/source/config/wtf.py:docstring of config.wtf, line 3.)

Todo

Maybe make test and config to dict more compact?

(The original entry is located in /home/placais/LightWin/source/config_manager.py:docstring of config_manager, line 9.)

Todo

position:
  • element name

  • element number

  • end_section

variable:
  • maybe add this? Unnecessary at this point

(The original entry is located in /home/placais/LightWin/source/config_manager.py:docstring of config_manager, line 12.)

Todo

Remove global variables.

(The original entry is located in /home/placais/LightWin/source/config_manager.py:docstring of config_manager, line 20.)

Todo

Compute_transfer_matrices: simplify, add a calculation of missing phi_0 at the end

(The original entry is located in /home/placais/LightWin/source/core/accelerator/accelerator.py:docstring of core.accelerator.accelerator, line 9.)

Todo

Cleaner Accelerator factory (use class, not just a function).

(The original entry is located in /home/placais/LightWin/source/core/accelerator/accelerator.py:docstring of core.accelerator.accelerator, line 13.)

Todo

Should I reset the sync particle entry phase?

(The original entry is located in /home/placais/LightWin/source/core/accelerator/accelerator.py:docstring of core.accelerator.accelerator.Accelerator.keep_settings, line 3.)

Todo

Remove tracewin command from BeamParameters

(The original entry is located in /home/placais/LightWin/source/core/beam_parameters/__init__.py:docstring of core.beam_parameters, line 6.)

Todo

Remove the is_3d, is_multipart as I always create the same object with True, True. Also self._determine_phase_spaces() is useless.

(The original entry is located in /home/placais/LightWin/source/core/beam_parameters/factory.py:docstring of core.beam_parameters.factory.InitialBeamParametersFactory, line 5.)

Todo

Would be better if all emittances had the same units? Check consistency with rest of the code…

(The original entry is located in /home/placais/LightWin/source/core/beam_parameters/helper.py:docstring of core.beam_parameters.helper.twiss_from_sigma, line 9.)

Todo

Check if property setter work with the *= thingy

(The original entry is located in /home/placais/LightWin/source/core/beam_parameters/helper.py:docstring of core.beam_parameters.helper.twiss_from_sigma, line 13.)

Todo

Could be cleaner.

(The original entry is located in /home/placais/LightWin/source/core/beam_parameters/initial_beam_parameters.py:docstring of core.beam_parameters.initial_beam_parameters.InitialBeamParameters.sigma, line 3.)

Todo

Implement SET_SYNC_PHASE

(The original entry is located in /home/placais/LightWin/source/core/commands/__init__.py:docstring of core.commands, line 3.)

Todo

How should I save the min/max variables?? For now, use None.

(The original entry is located in /home/placais/LightWin/source/core/commands/adjust.py:docstring of core.commands.adjust, line 8.)

Todo

handle personalized name of commands (marker)

(The original entry is located in /home/placais/LightWin/source/core/commands/factory.py:docstring of core.commands.factory, line 3.)

Todo

Check if it would be relatable to hold some arguments? As for now, I would be better off with a run function instead of a class.

(The original entry is located in /home/placais/LightWin/source/core/commands/factory.py:docstring of core.commands.factory.CommandFactory.__init__, line 3.)

Todo

Make this robust.

(The original entry is located in /home/placais/LightWin/source/core/commands/factory.py:docstring of core.commands.factory.CommandFactory._personalized_name, line 3.)

Todo

As for now, the effect of this command will be overriden by the _force_a_lattice_for_every_element. See how I should handle this…

(The original entry is located in /home/placais/LightWin/source/core/commands/lattice.py:docstring of core.commands.lattice.LatticeEnd.apply, line 3.)

Todo

Should also modify RFQ_CEL, CAVSIN, NCELLS according to doc.

(The original entry is located in /home/placais/LightWin/source/core/commands/set_sync_phase.py:docstring of core.commands.set_sync_phase, line 3.)

Todo

Check if this still works, as lattice and idx_in_lattice are now initialized with -1 instead of None.

(The original entry is located in /home/placais/LightWin/source/core/commands/superpose_map.py:docstring of core.commands.superpose_map.SuperposeMap._decrement_lattice_indexes, line 3.)

Todo

Check behavior w.r.t. LATTICE.

(The original entry is located in /home/placais/LightWin/source/core/elements/edge.py:docstring of core.elements.edge, line 3.)

Todo

clean the patch for the ‘name’. my has and get methods do not work with @property

(The original entry is located in /home/placais/LightWin/source/core/elements/element.py:docstring of core.elements.element, line 3.)

Todo

Make this robust.

(The original entry is located in /home/placais/LightWin/source/core/elements/factory.py:docstring of core.elements.factory.ElementFactory._personalized_name, line 3.)

Todo

Similar to synchronous phase, allow for V_cav to be “master” instead of k_e.

(The original entry is located in /home/placais/LightWin/source/core/elements/field_maps/cavity_settings.py:docstring of core.elements.field_maps.cavity_settings, line 7.)

Todo

Which syntax for when I want to compute the value of a property but not return it? Maybe a _ = self.phi_0_abs? Maybe this case should not appear here, appart for when I debug.

(The original entry is located in /home/placais/LightWin/source/core/elements/field_maps/cavity_settings.py:docstring of core.elements.field_maps.cavity_settings.CavitySettings, line 3.)

Todo

Determine if status should be kept here or in the field map.

(The original entry is located in /home/placais/LightWin/source/core/elements/field_maps/cavity_settings.py:docstring of core.elements.field_maps.cavity_settings.CavitySettings, line 11.)

Todo

For TraceWin solver, I will also need the field map index.

(The original entry is located in /home/placais/LightWin/source/core/elements/field_maps/cavity_settings.py:docstring of core.elements.field_maps.cavity_settings.CavitySettings, line 14.)

Todo

Maybe not necessary to raise an error when there is a mismatch.

(The original entry is located in /home/placais/LightWin/source/core/elements/field_maps/cavity_settings.py:docstring of core.elements.field_maps.cavity_settings.CavitySettings._check_consistency_of_status_and_reference, line 3.)

Todo

This will be subclassed, as the different solvers do not have the same needs. TraceWin does not need to load the electromagnetic fields, so every FIELD_MAP is implemented. Envelope1D cannot support 3D. etc

(The original entry is located in /home/placais/LightWin/source/core/elements/field_maps/factory.py:docstring of core.elements.field_maps.factory, line 6.)

Todo

Handle the different kind of field_maps…

(The original entry is located in /home/placais/LightWin/source/core/elements/field_maps/field_map.py:docstring of core.elements.field_maps.field_map, line 3.)

Todo

Handle the SET_SYNCH_PHASE command

(The original entry is located in /home/placais/LightWin/source/core/elements/field_maps/field_map.py:docstring of core.elements.field_maps.field_map, line 6.)

Todo

Hande phi_s fitting with beam_calculation.tracewin.Tracewin

(The original entry is located in /home/placais/LightWin/source/core/elements/field_maps/field_map.py:docstring of core.elements.field_maps.field_map, line 9.)

Todo

when subclassing field_maps, do not forget to update the transfer matrix selector in: - Envelope3D - SingleElementEnvelope3DParameters - SetOfCavitySettings - the run_with_this methods

(The original entry is located in /home/placais/LightWin/source/core/elements/field_maps/field_map.py:docstring of core.elements.field_maps.field_map, line 12.)

Todo

Maybe move this to the field_map package once it is implemented

(The original entry is located in /home/placais/LightWin/source/core/elements/superposed_field_map.py:docstring of core.elements.superposed_field_map, line 7.)

Todo

The line is edited to remove personalized name, weight and always have the same arguments at the same position. But after I shall re-add them with reinsert_optional_commands_in_line. This is very patchy and un-Pythonic.

(The original entry is located in /home/placais/LightWin/source/core/instruction.py:docstring of core.instruction, line 3.)

Todo

Instantiate this in BeamCalculator. It could be initialized with the load_electromagnetic_files flag (False for TraceWin), the list of implemented elements/commands (ex Envelope3D, not everything is set).

(The original entry is located in /home/placais/LightWin/source/core/instructions_factory.py:docstring of core.instructions_factory, line 3.)

Todo

maybe ElementFactory and CommandFactory should be instantiated from this? Or from another class, but they do have a lot in common

(The original entry is located in /home/placais/LightWin/source/core/instructions_factory.py:docstring of core.instructions_factory, line 8.)

Todo

for now, forcing loading of cython field maps

(The original entry is located in /home/placais/LightWin/source/core/instructions_factory.py:docstring of core.instructions_factory, line 12.)

Todo

Check if the return value from apply_commands is necessary.

(The original entry is located in /home/placais/LightWin/source/core/instructions_factory.py:docstring of core.instructions_factory.InstructionsFactory.run, line 3.)

Todo

Also handle .dst file in subset_list_run().

(The original entry is located in /home/placais/LightWin/source/core/list_of_elements/factory.py:docstring of core.list_of_elements.factory, line 11.)

Todo

Maybe it will be necessary to handle cases where the synch particle is not perfectly on the axis?

(The original entry is located in /home/placais/LightWin/source/core/list_of_elements/factory.py:docstring of core.list_of_elements.factory, line 14.)

Todo

Find a smart way to sublass ListOfElementsFactory according to the BeamCalculator… Loading field maps not necessary with TraceWin for example.

(The original entry is located in /home/placais/LightWin/source/core/list_of_elements/factory.py:docstring of core.list_of_elements.factory, line 18.)

Todo

The elements_to_dump key should be in the configuration file

(The original entry is located in /home/placais/LightWin/source/core/list_of_elements/factory.py:docstring of core.list_of_elements.factory, line 23.)

Todo

Maybe gather some things with the subset?

(The original entry is located in /home/placais/LightWin/source/core/list_of_elements/factory.py:docstring of core.list_of_elements.factory.ListOfElementsFactory.from_existing_list, line 7.)

Todo

Filtering consistency.

(The original entry is located in /home/placais/LightWin/source/core/list_of_elements/helper.py:docstring of core.list_of_elements.helper, line 3.)

Todo

Delete dat_content, which does the same thing as elts_n_cmds but less good

(The original entry is located in /home/placais/LightWin/source/core/list_of_elements/list_of_elements.py:docstring of core.list_of_elements.list_of_elements, line 9.)

Todo

Check if it can be more efficient. Maybe store R_xx, R_yy, R_zz separately?

(The original entry is located in /home/placais/LightWin/source/core/transfer_matrix/transfer_matrix.py:docstring of core.transfer_matrix.transfer_matrix, line 3.)

Todo

Maybe transfer matrices should always be (6, 6)??

(The original entry is located in /home/placais/LightWin/source/core/transfer_matrix/transfer_matrix.py:docstring of core.transfer_matrix.transfer_matrix, line 6.)

Todo

_init_from methods in factory???

(The original entry is located in /home/placais/LightWin/source/core/transfer_matrix/transfer_matrix.py:docstring of core.transfer_matrix.transfer_matrix, line 9.)

Todo

The SimulationOutput.get method with transfer matrix components fails with TraceWin solver.

(The original entry is located in /home/placais/LightWin/source/core/transfer_matrix/transfer_matrix.py:docstring of core.transfer_matrix.transfer_matrix, line 12.)

Todo

maybe create a mother class more generic, also for FaultScenarioEvaluator?

(The original entry is located in /home/placais/LightWin/source/evaluator/simulation_output/factory.py:docstring of evaluator.simulation_output.factory, line 3.)

Todo

different factories for evaluation during the fit and evaluation after

(The original entry is located in /home/placais/LightWin/source/evaluator/simulation_output/simulation_output_evaluator.py:docstring of evaluator.simulation_output.simulation_output_evaluator, line 7.)

Todo

Maybe should inherit from a more generic factory.

(The original entry is located in /home/placais/LightWin/source/experimental/new_evaluator/simulation_output/factory.py:docstring of experimental.new_evaluator.simulation_output.factory, line 3.)

Todo

Remove the elts argument??

(The original entry is located in /home/placais/LightWin/source/experimental/plotter/i_plotter.py:docstring of experimental.plotter.i_plotter, line 3.)

Todo

Maybe should inherit from MatplotlibPlotter?

(The original entry is located in /home/placais/LightWin/source/experimental/plotter/pd_plotter.py:docstring of experimental.plotter.pd_plotter, line 3.)

Todo

not clear what happens here. separate __init__ in several functions

(The original entry is located in /home/placais/LightWin/source/failures/fault.py:docstring of failures.fault, line 5.)

Todo

store DesignSpace as attribute rather than Variable Constraint compute_constraints

(The original entry is located in /home/placais/LightWin/source/failures/fault.py:docstring of failures.fault, line 8.)

Todo

Could be cleaner.

(The original entry is located in /home/placais/LightWin/source/failures/fault_scenario.py:docstring of failures.fault_scenario.FaultScenario.__init__, line 3.)

Todo

make this more readable

(The original entry is located in /home/placais/LightWin/source/failures/fault_scenario.py:docstring of failures.fault_scenario.FaultScenario.fix_all, line 3.)

Todo

I should create a SetOfCavitySettings with CavitySettings for every cavity of the compensation zone. Mandatory to recompute the synchronous phases.

(The original entry is located in /home/placais/LightWin/source/failures/set_of_cavity_settings.py:docstring of failures.set_of_cavity_settings, line 3.)

Todo

Should create the full SetOfCavitySettings directly from the OptimisationAlgorithm. For now, the OptimisationAlgorithm creates a first SetOfCavitySettings. Then, the BeamCalculator calls this method to generate a new SetOfCavitySettings. Ugly, especially given the fact that OptimisationAlgorithm has its ListOfElements.

(The original entry is located in /home/placais/LightWin/source/failures/set_of_cavity_settings.py:docstring of failures.set_of_cavity_settings.SetOfCavitySettings.from_incomplete_set, line 14.)

Todo

List of allowed tracewin arguments in doc

(The original entry is located in source/manual/configuration.beam_calculator.rst, line 32.)

Todo

There are doublons between doc in config.beam_calculator and here. Maybe keep in module, but make the format better.

(The original entry is located in source/manual/configuration.beam_calculator.rst, line 35.)

Todo

List of allowed tracewin arguments in doc

(The original entry is located in /home/placais/LightWin/docs/source/manual/configuration.beam_calculator.rst, line 32.)

Todo

There are doublons between doc in config.beam_calculator and here. Maybe keep in module, but make the format better.

(The original entry is located in /home/placais/LightWin/docs/source/manual/configuration.beam_calculator.rst, line 35.)

Todo

A Jupyter Notebook would be better to show with examples.

(The original entry is located in /home/placais/LightWin/docs/source/manual/get_method.rst, line 6.)

Todo

Consider providing more detailed instructions for setting the PYTHONPATH. For now, you can search for “PYTHONPATH” or “ModuleNotFoundError” online for additional guidance.

(The original entry is located in source/manual/installation.python.rst, line 89.)

Todo

  • Revise integration so that a missing Cython does not lead to import errors.

  • Specific Cython tests

(The original entry is located in source/manual/installation.cython.rst, line 88.)

Todo

  • Revise integration so that a missing Cython does not lead to import errors.

  • Specific Cython tests

(The original entry is located in /home/placais/LightWin/docs/source/manual/installation.cython.rst, line 88.)

Todo

Consider providing more detailed instructions for setting the PYTHONPATH. For now, you can search for “PYTHONPATH” or “ModuleNotFoundError” online for additional guidance.

(The original entry is located in /home/placais/LightWin/docs/source/manual/installation.python.rst, line 89.)

Todo

Consistency between font size of normal text and math text. Not aesthetic when I have text and units side to side.

(The original entry is located in /home/placais/LightWin/docs/source/manual/units.rst, line 8.)

Todo

General units: MeV etc

(The original entry is located in /home/placais/LightWin/docs/source/manual/units.rst, line 11.)

Todo

Ease re-usage of old simulations. Very easy to implement, just use the recompute flag, override the run_with_this method, and user must provide a results directory.

(The original entry is located in /home/placais/LightWin/docs/source/manual/usage.rst, line 7.)

Todo

Check if it is necessary to pass out the whole elts to OptimisationAlgorithm?

(The original entry is located in /home/placais/LightWin/source/optimisation/algorithms/algorithm.py:docstring of optimisation.algorithms.algorithm, line 9.)

Todo

Methods and flags to keep the optimisation history or not, and also to save it or not. See Explorator.

(The original entry is located in /home/placais/LightWin/source/optimisation/algorithms/algorithm.py:docstring of optimisation.algorithms.algorithm, line 13.)

Todo

Better handling of the attribute folder. In particular, a correct value should be set at the OptimisationAlgorithm instanciation.

(The original entry is located in /home/placais/LightWin/source/optimisation/algorithms/algorithm.py:docstring of optimisation.algorithms.algorithm, line 17.)

Todo

Make this class more robust. In particular: save all objectives (not just the norm), handle export when there is more than two variables, also save complementary data (e.g.: always save phi_s even it is not in the constraints nor variables).

(The original entry is located in /home/placais/LightWin/source/optimisation/algorithms/explorator.py:docstring of optimisation.algorithms.explorator, line 7.)

Todo

Allow for different number of points according to variable.

(The original entry is located in /home/placais/LightWin/source/optimisation/algorithms/explorator.py:docstring of optimisation.algorithms.explorator, line 13.)

Todo

Docstrings

(The original entry is located in /home/placais/LightWin/source/optimisation/algorithms/factory.py:docstring of optimisation.algorithms.factory, line 3.)

Todo

Add support for when all element do not have the same variables/constraints.

(The original entry is located in /home/placais/LightWin/source/optimisation/design_space/design_space.py:docstring of optimisation.design_space.design_space._from_file, line 3.)

Todo

check docstrings ref [1]

(The original entry is located in /home/placais/LightWin/source/optimisation/design_space/helper.py:docstring of optimisation.design_space.helper, line 3.)

Todo

decorator to auto output the variables and constraints?

(The original entry is located in /home/placais/LightWin/source/optimisation/objective/factory.py:docstring of optimisation.objective.factory, line 6.)

Todo

Clarify that objective_position_preset should be understandable by failures.position.

(The original entry is located in /home/placais/LightWin/source/optimisation/objective/factory.py:docstring of optimisation.objective.factory, line 9.)

Todo

Allow from_file.

(The original entry is located in /home/placais/LightWin/source/optimisation/objective/factory.py:docstring of optimisation.objective.factory.EnergySyncPhaseMismatch._get_phi_s, line 3.)

Todo

end_section, elt.name

(The original entry is located in /home/placais/LightWin/source/optimisation/objective/position.py:docstring of optimisation.objective.position, line 11.)

Todo

full_linac seems useless. Could be a strategy instead of an override setting. Would need to edit the ObjectiveFactory too.

(The original entry is located in /home/placais/LightWin/source/optimisation/objective/position.py:docstring of optimisation.objective.position, line 14.)

Todo

Implement loss functions.

(The original entry is located in /home/placais/LightWin/source/optimisation/objective/quantity_is_between.py:docstring of optimisation.objective.quantity_is_between, line 3.)

Todo

Insert line skip at each section change in the output.dat

(The original entry is located in /home/placais/LightWin/source/tracewin_utils/dat_files.py:docstring of tracewin_utils.dat_files, line 3.)

Todo

some functions are not used anymore I guess…

(The original entry is located in /home/placais/LightWin/source/tracewin_utils/electromagnetic_fields.py:docstring of tracewin_utils.electromagnetic_fields, line 6.)

Todo

Better handling of the module import

(The original entry is located in /home/placais/LightWin/source/tracewin_utils/electromagnetic_fields.py:docstring of tracewin_utils.electromagnetic_fields, line 9.)

Todo

I think that this should be a method right? Different FieldMap objects -> different loading func?

(The original entry is located in /home/placais/LightWin/source/tracewin_utils/electromagnetic_fields.py:docstring of tracewin_utils.electromagnetic_fields.load_electromagnetic_fields, line 6.)

Todo

Clean this, a lot of old things that may not be used.

(The original entry is located in /home/placais/LightWin/source/util/debug.py:docstring of util.debug, line 3.)

Todo

Ellipse plot could be better

(The original entry is located in /home/placais/LightWin/source/util/debug.py:docstring of util.debug, line 6.)

Todo

Clean this, check what is still used.

(The original entry is located in /home/placais/LightWin/source/util/helper.py:docstring of util.helper, line 3.)

Todo

Second example does not work

(The original entry is located in /home/placais/LightWin/source/util/helper.py:docstring of util.helper.pascal_case, line 3.)

Todo

Modernize this, with type hint etc.

(The original entry is located in /home/placais/LightWin/source/util/log_manager.py:docstring of util.log_manager, line 13.)

Todo

fix colors in plots after pass beauty

(The original entry is located in /home/placais/LightWin/source/util/pass_beauty.py:docstring of util.pass_beauty, line 13.)

Todo

discriminate feasible from unfeasible solutions

(The original entry is located in /home/placais/LightWin/source/visualization/anim.py:docstring of visualization.anim, line 3.)

Todo

better detection of what is a multiparticle simulation and what is not. Currently looking for “‘partran’: 0” in the name of the solver, making the assumption that multipart is the default. But it depends on the .ini… update: just use .is_a_multiparticle_simulation

(The original entry is located in /home/placais/LightWin/source/visualization/plot.py:docstring of visualization.plot, line 6.)

Todo

Fix when there is only one accelerator to plot.

(The original entry is located in /home/placais/LightWin/source/visualization/plot.py:docstring of visualization.plot, line 12.)

Todo

Different plot according to dimension of FieldMap, or according to if it accelerates or not (ex when quadrupole defined by a field map)

(The original entry is located in /home/placais/LightWin/source/visualization/plot.py:docstring of visualization.plot, line 15.)

Indices and tables