factory module
Define a factory to easily create Accelerator.
- class AcceleratorFactory(beam_calculators, files, beam, **kwargs)[source]
Bases:
ABCA class to create accelerators.
- Parameters:
beam_calculators (
BeamCalculator|Sequence[BeamCalculator|None])beam (
BeamKwargs)kwargs (
dict)
- __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 (
BeamKwargs) – 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
- _check_consistency_absolute_phases(cavities)[source]
Check that solvers phases are consistent with
.datfile.
- _abc_impl = <_abc._abc_data object at 0x73df40e61580>
- class NoFault(beam_calculators, files, beam, **kwargs)[source]
Bases:
AcceleratorFactoryFactory used to generate a single accelerator, no faults.
- Parameters:
beam_calculators (
BeamCalculator)beam (
BeamKwargs)kwargs (
dict)
- __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 asat the end of the variable name.files (
dict[str,Any]) – Configuration entries for the input/output paths.beam (
BeamKwargs) – 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 0x73df40e62500>
- class StudyWithoutFaultsAcceleratorFactory(beam_calculators, files, beam, **kwargs)[source]
Bases:
NoFaultAlias for
NoFault.- Parameters:
beam_calculators (
BeamCalculator)beam (
BeamKwargs)kwargs (
dict)
- _abc_impl = <_abc._abc_data object at 0x73df40e62d00>
- class WithFaults(beam_calculators, files, beam, wtf, **kwargs)[source]
Bases:
AcceleratorFactoryFactory used to generate several accelerators for a fault study.
- Parameters:
beam_calculators (
BeamCalculator|Sequence[BeamCalculator|None])beam (
BeamKwargs)kwargs (
dict)
- __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 (
BeamKwargs) – 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 0x73df40e62d40>
- class FullStudyAcceleratorFactory(beam_calculators, files, beam, wtf, **kwargs)[source]
Bases:
WithFaultsAlias for
WithFaults.- Parameters:
beam_calculators (
BeamCalculator|Sequence[BeamCalculator|None])beam (
BeamKwargs)kwargs (
dict)
- _abc_impl = <_abc._abc_data object at 0x73df40e62cc0>