factory module
Define a factory to easily create Accelerator.
- class AcceleratorFactory(beam_calculators, files, beam, **kwargs)[source]
Bases:
ABCA class to create accelerators.
- Parameters:
- __init__(beam_calculators, files, beam, **kwargs)[source]
Facilitate creation of
Acceleratorobjects.- Parameters:
beam_calculators (BeamCalculator | Sequence[BeamCalculator | None]) – Objects that will compute propagation of the beam.
files (dict[str, Any]) – Configuration entries for the input/output paths.
beam (dict[str, Any]) – Configuration dictionary holding the initial beam parameters.
kwargs (
dict) – Other configuration dictionaries.
- _generate_folders_tree_structure(out_folders, n_simulations)[source]
Create the proper folders for every
Accelerator.The default structure is:
where_original_dat_is/YYYY.MM.DD_HHhMM_SSs_MILLIms/<-project_folder(absolute)000000_ref/<-accelerator_path(absolute)0_FirstBeamCalculatorName/<-out_folder(relative)(
1_SecondBeamCalculatorName/) <-out_folder(relative)
000001/0_FirstBeamCalculatorName/(
1_SecondBeamCalculatorName/)
000002/0_FirstBeamCalculatorName/(
1_SecondBeamCalculatorName/)
etc
- Parameters:
out_folders (Sequence[pathlib.Path]) – Name of the folders that will store outputs. By default, it is the name of the solver, preceeded by its position in the list of
BeamCalculator.n_simulations (
int)
- Return type:
- _check_consistency_absolute_phases(cavities)[source]
Check that solvers phases are consistent with
.datfile.
- _abc_impl = <_abc._abc_data object at 0x73dca5eddb40>
- class NoFault(beam_calculators, files, beam, **kwargs)[source]
Bases:
AcceleratorFactoryFactory used to generate a single accelerator, no faults.
- Parameters:
- __init__(beam_calculators, files, beam, **kwargs)[source]
Facilitate creation of
Accelerator.- Parameters:
beam_calculators (BeamCalculator) – A unique object to compute propagation of the field. Even if there is a
sat the end of the variable name.files (dict[str, Any]) – Configuration entries for the input/output paths.
beam (dict[str, Any]) – Configuration dictionary holding the initial beam parameters.
kwargs (
dict) – Other configuration dictionaries.
- property beam_calculator: BeamCalculator
Shortcut to get the only existing
BeamCalculator.
- _abc_impl = <_abc._abc_data object at 0x73dca5e5dcc0>
- class StudyWithoutFaultsAcceleratorFactory(beam_calculators, files, beam, **kwargs)[source]
Bases:
NoFaultAlias for
NoFault.- Parameters:
- _abc_impl = <_abc._abc_data object at 0x73dca5e5dfc0>
- class WithFaults(beam_calculators, files, beam, wtf, **kwargs)[source]
Bases:
AcceleratorFactoryFactory used to generate several accelerators for a fault study.
- Parameters:
- __init__(beam_calculators, files, beam, wtf, **kwargs)[source]
Facilitate creation of
Acceleratorobjects.- Parameters:
beam_calculators (BeamCalculator | Sequence[BeamCalculator | None]) – Objects that will compute propagation of the beam.
files (dict[str, Any]) – Configuration entries for the input/output paths.
beam (dict[str, Any]) – Configuration dictionary holding the initial beam parameters.
wtf (dict[str, Any]) – Dictionary holding the information on what to fit.
kwargs (
dict) – Other configuration dictionaries.
- run_all(**kwargs)[source]
Create the required Accelerators as well as their output folders.
- Return type:
- _abc_impl = <_abc._abc_data object at 0x73dca5e5dec0>
- class FullStudyAcceleratorFactory(beam_calculators, files, beam, wtf, **kwargs)[source]
Bases:
WithFaultsAlias for
WithFaults.- Parameters:
- _abc_impl = <_abc._abc_data object at 0x73dca5e5e7c0>