RF-Track 2.7.2__cp313-cp313-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. RF_Track.py +4509 -0
  2. _RF_Track.cp313-win_amd64.pyd +0 -0
  3. rf_track-2.7.2.data/platlib/fftw3-d20e8714df9708c0a5d9b8af7948ccd8.dll +0 -0
  4. rf_track-2.7.2.data/platlib/gsl-0d685d7ba0bf19545ef8440888ba1d23.dll +0 -0
  5. rf_track-2.7.2.data/platlib/gslcblas-3f8a0a48e9fad00daadb0807853ed43c.dll +0 -0
  6. rf_track-2.7.2.data/platlib/libcurl-531ecc97b34403d6cfec5bacd0ac0df1.dll +0 -0
  7. rf_track-2.7.2.data/platlib/msvcp140-0f885b509a685d2bbfa652fed26b5fb3.dll +0 -0
  8. rf_track-2.7.2.data/platlib/msvcp140_2-8b50c5ef14443911ad15f819a530f37f.dll +0 -0
  9. rf_track-2.7.2.data/platlib/msvcp140_atomic_wait-4cdcefc123380c8f46116e92310a3e8c.dll +0 -0
  10. rf_track-2.7.2.data/platlib/z-3298cae8047abeb00ba5a17eb32abf12.dll +0 -0
  11. rf_track-2.7.2.dist-info/DELVEWHEEL +2 -0
  12. rf_track-2.7.2.dist-info/METADATA +317 -0
  13. rf_track-2.7.2.dist-info/RECORD +53 -0
  14. rf_track-2.7.2.dist-info/WHEEL +5 -0
  15. rf_track-2.7.2.dist-info/licenses/LICENSE.md +11 -0
  16. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-assert.txt +23 -0
  17. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-cmake.txt +23 -0
  18. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-compat.txt +23 -0
  19. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-concept-check.txt +23 -0
  20. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-config.txt +23 -0
  21. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-container-hash.txt +23 -0
  22. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-container.txt +23 -0
  23. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-core.txt +23 -0
  24. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-describe.txt +23 -0
  25. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-dynamic-bitset.txt +23 -0
  26. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-headers.txt +23 -0
  27. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-integer.txt +23 -0
  28. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-intrusive.txt +23 -0
  29. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-io.txt +23 -0
  30. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-lexical-cast.txt +23 -0
  31. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-math.txt +23 -0
  32. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-move.txt +23 -0
  33. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-mp11.txt +23 -0
  34. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-predef.txt +23 -0
  35. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-preprocessor.txt +23 -0
  36. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-random.txt +23 -0
  37. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-system.txt +23 -0
  38. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-throw-exception.txt +23 -0
  39. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-type-traits.txt +23 -0
  40. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-utility.txt +23 -0
  41. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-variant2.txt +23 -0
  42. rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-winapi.txt +23 -0
  43. rf_track-2.7.2.dist-info/licenses/third-party-licenses/curl.txt +48 -0
  44. rf_track-2.7.2.dist-info/licenses/third-party-licenses/eigen3.txt +677 -0
  45. rf_track-2.7.2.dist-info/licenses/third-party-licenses/fftw3.txt +340 -0
  46. rf_track-2.7.2.dist-info/licenses/third-party-licenses/gsl.txt +674 -0
  47. rf_track-2.7.2.dist-info/licenses/third-party-licenses/nlohmann-json.txt +21 -0
  48. rf_track-2.7.2.dist-info/licenses/third-party-licenses/vcpkg-boost.txt +20 -0
  49. rf_track-2.7.2.dist-info/licenses/third-party-licenses/vcpkg-cmake-config.txt +23 -0
  50. rf_track-2.7.2.dist-info/licenses/third-party-licenses/vcpkg-cmake.txt +20 -0
  51. rf_track-2.7.2.dist-info/licenses/third-party-licenses/zlib.txt +22 -0
  52. rf_track-2.7.2.dist-info/licenses/windows-compat/COPYRIGHT.musl +193 -0
  53. rf_track-2.7.2.dist-info/top_level.txt +2 -0
RF_Track.py ADDED
@@ -0,0 +1,4509 @@
1
+ # This file was automatically generated by SWIG (https://www.swig.org).
2
+ # Version 4.4.1
3
+ #
4
+ # Do not make changes to this file unless you know what you are doing - modify
5
+ # the SWIG interface file instead.
6
+
7
+ from sys import version_info as _swig_python_version_info
8
+ # Import the low-level C/C++ module
9
+ if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
10
+ from . import _RF_Track
11
+ else:
12
+ import _RF_Track
13
+
14
+ try:
15
+ import builtins as __builtin__
16
+ except ImportError:
17
+ import __builtin__
18
+
19
+ _swig_new_instance_method = _RF_Track.SWIG_PyInstanceMethod_New
20
+ _swig_new_static_method = _RF_Track.SWIG_PyStaticMethod_New
21
+
22
+ def _swig_repr(self):
23
+ try:
24
+ strthis = "proxy of " + self.this.__repr__()
25
+ except __builtin__.Exception:
26
+ strthis = ""
27
+ return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
28
+
29
+
30
+ def _swig_setattr_nondynamic_instance_variable(set):
31
+ def set_instance_attr(self, name, value):
32
+ if name == "this":
33
+ set(self, name, value)
34
+ elif name == "thisown":
35
+ self.this.own(value)
36
+ elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
37
+ set(self, name, value)
38
+ else:
39
+ raise AttributeError("You cannot add instance attributes to %s" % self)
40
+ return set_instance_attr
41
+
42
+
43
+ def _swig_setattr_nondynamic_class_variable(set):
44
+ def set_class_attr(cls, name, value):
45
+ if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
46
+ set(cls, name, value)
47
+ else:
48
+ raise AttributeError("You cannot add class attributes to %s" % cls)
49
+ return set_class_attr
50
+
51
+
52
+ def _swig_add_metaclass(metaclass):
53
+ """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
54
+ def wrapper(cls):
55
+ return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
56
+ return wrapper
57
+
58
+
59
+ class _SwigNonDynamicMeta(type):
60
+ """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
61
+ __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
62
+
63
+
64
+ import weakref
65
+
66
+ SHARED_PTR_DISOWN = _RF_Track.SHARED_PTR_DISOWN
67
+
68
+ RF_TRACK_VERSION = _RF_Track.RF_TRACK_VERSION
69
+
70
+ relativistic_velocity_addition = _RF_Track.relativistic_velocity_addition
71
+ lorentz_boost = _RF_Track.lorentz_boost
72
+ lorentz_boost_matrix = _RF_Track.lorentz_boost_matrix
73
+ rng_set = _RF_Track.rng_set
74
+ rng_set_seed = _RF_Track.rng_set_seed
75
+ rng_get = _RF_Track.rng_get
76
+ class Frame(object):
77
+ r"""
78
+
79
+ A rigid coordinate frame with an origin and rotated axes. Within RF-Track, origins are
80
+ in mm and angles in rad. Multiplication composes frames or transforms a local point into
81
+ its parent frame; division applies the inverse transform.
82
+
83
+
84
+ """
85
+
86
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
87
+ __repr__ = _swig_repr
88
+
89
+ def __init__(self, *args):
90
+ r"""
91
+ __init__(Frame self, double x, double y, double z, double phi_x, double theta_z, double phi_z) -> Frame
92
+ __init__(Frame self, double x, double y, double z, Rotation const & _axes) -> Frame
93
+ __init__(Frame self, Vector3d const & _origin, double phi_x, double theta_z, double phi_z) -> Frame
94
+ __init__(Frame self, Vector3d const & _origin, Rotation const & _axes) -> Frame
95
+ __init__(Frame self) -> Frame
96
+ __init__(Frame self, Vector3d const & _origin) -> Frame
97
+ __init__(Frame self, Rotation const & _axes) -> Frame
98
+
99
+ A rigid coordinate frame with an origin and rotated axes. Within RF-Track, origins are
100
+ in mm and angles in rad. Multiplication composes frames or transforms a local point into
101
+ its parent frame; division applies the inverse transform.
102
+
103
+
104
+ """
105
+ _RF_Track.Frame_swiginit(self, _RF_Track.new_Frame(*args))
106
+ __swig_destroy__ = _RF_Track.delete_Frame
107
+ get_origin = _swig_new_instance_method(_RF_Track.Frame_get_origin)
108
+ get_nx = _swig_new_instance_method(_RF_Track.Frame_get_nx)
109
+ get_ny = _swig_new_instance_method(_RF_Track.Frame_get_ny)
110
+ get_nz = _swig_new_instance_method(_RF_Track.Frame_get_nz)
111
+ __imul__ = _swig_new_instance_method(_RF_Track.Frame___imul__)
112
+
113
+ def __itruediv__(self, *args):
114
+ return _RF_Track.Frame___itruediv__(self, *args)
115
+ __idiv__ = __itruediv__
116
+
117
+
118
+ __eq__ = _swig_new_instance_method(_RF_Track.Frame___eq__)
119
+ __ne__ = _swig_new_instance_method(_RF_Track.Frame___ne__)
120
+ __mul__ = _swig_new_instance_method(_RF_Track.Frame___mul__)
121
+ __truediv__ = _swig_new_instance_method(_RF_Track.Frame___truediv__)
122
+ __rtruediv__ = _swig_new_instance_method(_RF_Track.Frame___rtruediv__)
123
+
124
+ # Register Frame in _RF_Track:
125
+ _RF_Track.Frame_swigregister(Frame)
126
+ cvar = _RF_Track.cvar
127
+ version = cvar.version
128
+ max_number_of_threads = cvar.max_number_of_threads
129
+ clight = cvar.clight
130
+ muonmass = cvar.muonmass
131
+ protonmass = cvar.protonmass
132
+ electronmass = cvar.electronmass
133
+ muonlifetime = cvar.muonlifetime
134
+ s = cvar.s
135
+ ms = cvar.ms
136
+ us = cvar.us
137
+ ns = cvar.ns
138
+ ps = cvar.ps
139
+ fs = cvar.fs
140
+ C = cvar.C
141
+ mC = cvar.mC
142
+ uC = cvar.uC
143
+ nC = cvar.nC
144
+ pC = cvar.pC
145
+ electron_anomalous_magnetic_moment = cvar.electron_anomalous_magnetic_moment
146
+ proton_anomalous_magnetic_moment = cvar.proton_anomalous_magnetic_moment
147
+ muon_anomalous_magnetic_moment = cvar.muon_anomalous_magnetic_moment
148
+
149
+ class Parallel_ODE_Solver(object):
150
+ r"""
151
+
152
+ ODE integration controls inherited by numerically tracked field elements. Select an
153
+ algorithm with set_odeint_algorithm and GSL tolerances with set_odeint_epsabs and
154
+ set_odeint_epsrel. Volume tracking uses its TrackingOptions controls.
155
+
156
+
157
+ """
158
+
159
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
160
+
161
+ def __init__(self, *args, **kwargs):
162
+ raise AttributeError("No constructor defined")
163
+ __repr__ = _swig_repr
164
+ __swig_destroy__ = _RF_Track.delete_Parallel_ODE_Solver
165
+ set_odeint_epsabs = _swig_new_instance_method(_RF_Track.Parallel_ODE_Solver_set_odeint_epsabs)
166
+ set_odeint_epsrel = _swig_new_instance_method(_RF_Track.Parallel_ODE_Solver_set_odeint_epsrel)
167
+ get_odeint_epsabs = _swig_new_instance_method(_RF_Track.Parallel_ODE_Solver_get_odeint_epsabs)
168
+ get_odeint_epsrel = _swig_new_instance_method(_RF_Track.Parallel_ODE_Solver_get_odeint_epsrel)
169
+ get_odeint_algorithm = _swig_new_instance_method(_RF_Track.Parallel_ODE_Solver_get_odeint_algorithm)
170
+ set_odeint_algorithm = _swig_new_instance_method(_RF_Track.Parallel_ODE_Solver_set_odeint_algorithm)
171
+
172
+ # Register Parallel_ODE_Solver in _RF_Track:
173
+ _RF_Track.Parallel_ODE_Solver_swigregister(Parallel_ODE_Solver)
174
+ class TrackingOptions(object):
175
+ r"""
176
+
177
+ Time-integration settings for Volume.track and Volume.btrack. Times and step intervals
178
+ ending in _mm are in mm/c. Configure a TrackingOptions object and pass it as the second
179
+ tracking argument. Defaults are given by the public tracking_options.hh declaration.
180
+
181
+
182
+ """
183
+
184
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
185
+ __repr__ = _swig_repr
186
+ odeint_algorithm = property(_RF_Track.TrackingOptions_odeint_algorithm_get, _RF_Track.TrackingOptions_odeint_algorithm_set, doc=r"""
187
+ odeint_algorithm : std::string
188
+
189
+ ODE integration algorithm; default rk2.
190
+
191
+
192
+ """)
193
+ odeint_epsabs = property(_RF_Track.TrackingOptions_odeint_epsabs_get, _RF_Track.TrackingOptions_odeint_epsabs_set, doc=r"""
194
+ odeint_epsabs : double
195
+
196
+ Absolute error tolerance for GSL integration algorithms; default 0.001.
197
+
198
+
199
+ """)
200
+ odeint_epsrel = property(_RF_Track.TrackingOptions_odeint_epsrel_get, _RF_Track.TrackingOptions_odeint_epsrel_set, doc=r"""
201
+ odeint_epsrel : double
202
+
203
+ Relative error tolerance for GSL integration algorithms; default 0.
204
+
205
+
206
+ """)
207
+ backtrack_at_entrance = property(_RF_Track.TrackingOptions_backtrack_at_entrance_get, _RF_Track.TrackingOptions_backtrack_at_entrance_set, doc=r"""
208
+ backtrack_at_entrance : bool
209
+
210
+ At tracking start, backtrack the bunch so its foremost particle is at the entrance; default false.
211
+
212
+
213
+ """)
214
+ verbosity = property(_RF_Track.TrackingOptions_verbosity_get, _RF_Track.TrackingOptions_verbosity_set, doc=r"""
215
+ verbosity : int
216
+
217
+ Diagnostic output level; 0 is silent.
218
+
219
+
220
+ """)
221
+ dt_mm = property(_RF_Track.TrackingOptions_dt_mm_get, _RF_Track.TrackingOptions_dt_mm_set, doc=r"""
222
+ dt_mm : double
223
+
224
+ Integration time step in mm/c; default infinity.
225
+
226
+
227
+ """)
228
+ t_max_mm = property(_RF_Track.TrackingOptions_t_max_mm_get, _RF_Track.TrackingOptions_t_max_mm_set, doc=r"""
229
+ t_max_mm : double
230
+
231
+ Upper tracking-time limit in mm/c; default infinity.
232
+
233
+
234
+ """)
235
+ t_min_mm = property(_RF_Track.TrackingOptions_t_min_mm_get, _RF_Track.TrackingOptions_t_min_mm_set, doc=r"""
236
+ t_min_mm : double
237
+
238
+ Lower tracking-time limit in mm/c for backward tracking; default minus infinity.
239
+
240
+
241
+ """)
242
+ tt_dt_mm = property(_RF_Track.TrackingOptions_tt_dt_mm_get, _RF_Track.TrackingOptions_tt_dt_mm_set, doc=r"""
243
+ tt_dt_mm : double
244
+
245
+ Time interval between transport-table samples in mm/c; default 0.
246
+
247
+
248
+ """)
249
+ tt_select = property(_RF_Track.TrackingOptions_tt_select_get, _RF_Track.TrackingOptions_tt_select_set, doc=r"""
250
+ tt_select : std::string
251
+
252
+ Particles used for transport statistics: all, all_in_volume, active, or
253
+ active_in_volume. Active particles already exist. Default all.
254
+
255
+
256
+ """)
257
+ sc_dt_mm = property(_RF_Track.TrackingOptions_sc_dt_mm_get, _RF_Track.TrackingOptions_sc_dt_mm_set, doc=r"""
258
+ sc_dt_mm : double
259
+
260
+ Time interval between space-charge kicks in mm/c; default 0.
261
+
262
+
263
+ """)
264
+ cfx_dt_mm = property(_RF_Track.TrackingOptions_cfx_dt_mm_get, _RF_Track.TrackingOptions_cfx_dt_mm_set, doc=r"""
265
+ cfx_dt_mm : double
266
+
267
+ Time interval between other collective-effect kicks in mm/c; default 0.
268
+
269
+
270
+ """)
271
+ emission_nsteps = property(_RF_Track.TrackingOptions_emission_nsteps_get, _RF_Track.TrackingOptions_emission_nsteps_set, doc=r"""
272
+ emission_nsteps : size_t
273
+
274
+ Number of emission steps; default 10.
275
+
276
+
277
+ """)
278
+ emission_range = property(_RF_Track.TrackingOptions_emission_range_get, _RF_Track.TrackingOptions_emission_range_set, doc=r"""
279
+ emission_range : double
280
+
281
+ Range over which reduced emission space-charge steps apply; default 10.
282
+
283
+
284
+ """)
285
+ wp_dt_mm = property(_RF_Track.TrackingOptions_wp_dt_mm_get, _RF_Track.TrackingOptions_wp_dt_mm_set, doc=r"""
286
+ wp_dt_mm : double
287
+
288
+ Time interval between saved beam watchpoints in mm/c; default 0.
289
+
290
+
291
+ """)
292
+ wp_basename = property(_RF_Track.TrackingOptions_wp_basename_get, _RF_Track.TrackingOptions_wp_basename_set, doc=r"""
293
+ wp_basename : std::string
294
+
295
+ Base filename for watchpoint distributions; default watch_beam.
296
+
297
+
298
+ """)
299
+ wp_gzip = property(_RF_Track.TrackingOptions_wp_gzip_get, _RF_Track.TrackingOptions_wp_gzip_set, doc=r"""
300
+ wp_gzip : bool
301
+
302
+ Compress watchpoint files with gzip; default false.
303
+
304
+
305
+ """)
306
+
307
+ def __init__(self):
308
+ r"""
309
+ __init__(TrackingOptions self) -> TrackingOptions
310
+
311
+ Time-integration settings for Volume.track and Volume.btrack. Times and step intervals
312
+ ending in _mm are in mm/c. Configure a TrackingOptions object and pass it as the second
313
+ tracking argument. Defaults are given by the public tracking_options.hh declaration.
314
+
315
+
316
+ """
317
+ _RF_Track.TrackingOptions_swiginit(self, _RF_Track.new_TrackingOptions())
318
+ __swig_destroy__ = _RF_Track.delete_TrackingOptions
319
+
320
+ # Register TrackingOptions in _RF_Track:
321
+ _RF_Track.TrackingOptions_swigregister(TrackingOptions)
322
+ class Element(object):
323
+ r"""
324
+
325
+ Base interface for beamline elements. Provides naming, placement, apertures,
326
+ tracking-step settings, electromagnetic-field queries and collective effects. Geometry
327
+ lengths are in metres; field-query coordinates are in millimetres.
328
+
329
+
330
+ """
331
+
332
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
333
+
334
+ def __init__(self, *args, **kwargs):
335
+ raise AttributeError("No constructor defined - class is abstract")
336
+ __repr__ = _swig_repr
337
+ __swig_destroy__ = _RF_Track.delete_Element
338
+ clone = _swig_new_instance_method(_RF_Track.Element_clone)
339
+ is_point_inside_aperture = _swig_new_instance_method(_RF_Track.Element_is_point_inside_aperture)
340
+ is_particle_inside_aperture = _swig_new_instance_method(_RF_Track.Element_is_particle_inside_aperture)
341
+ get_aperture_area = _swig_new_instance_method(_RF_Track.Element_get_aperture_area)
342
+ get_aperture_x = _swig_new_instance_method(_RF_Track.Element_get_aperture_x)
343
+ get_aperture_y = _swig_new_instance_method(_RF_Track.Element_get_aperture_y)
344
+ get_aperture_shape = _swig_new_instance_method(_RF_Track.Element_get_aperture_shape)
345
+ set_aperture_x = _swig_new_instance_method(_RF_Track.Element_set_aperture_x)
346
+ set_aperture_y = _swig_new_instance_method(_RF_Track.Element_set_aperture_y)
347
+ set_aperture = _swig_new_instance_method(_RF_Track.Element_set_aperture)
348
+ set_aperture_shape = _swig_new_instance_method(_RF_Track.Element_set_aperture_shape)
349
+ set_width = _swig_new_instance_method(_RF_Track.Element_set_width)
350
+ set_height = _swig_new_instance_method(_RF_Track.Element_set_height)
351
+ get_width = _swig_new_instance_method(_RF_Track.Element_get_width)
352
+ get_height = _swig_new_instance_method(_RF_Track.Element_get_height)
353
+ __assign__ = _swig_new_instance_method(_RF_Track.Element___assign__)
354
+ set_offsets = _swig_new_instance_method(_RF_Track.Element_set_offsets)
355
+ scatter_element = _swig_new_instance_method(_RF_Track.Element_scatter_element)
356
+ get_offsets = _swig_new_instance_method(_RF_Track.Element_get_offsets)
357
+ get_name = _swig_new_instance_method(_RF_Track.Element_get_name)
358
+ get_nsteps = _swig_new_instance_method(_RF_Track.Element_get_nsteps)
359
+ get_tt_nsteps = _swig_new_instance_method(_RF_Track.Element_get_tt_nsteps)
360
+ get_sc_nsteps = _swig_new_instance_method(_RF_Track.Element_get_sc_nsteps)
361
+ get_cfx_nsteps = _swig_new_instance_method(_RF_Track.Element_get_cfx_nsteps)
362
+ get_length = _swig_new_instance_method(_RF_Track.Element_get_length)
363
+ set_name = _swig_new_instance_method(_RF_Track.Element_set_name)
364
+ set_tt_nsteps = _swig_new_instance_method(_RF_Track.Element_set_tt_nsteps)
365
+ set_sc_nsteps = _swig_new_instance_method(_RF_Track.Element_set_sc_nsteps)
366
+ set_cfx_nsteps = _swig_new_instance_method(_RF_Track.Element_set_cfx_nsteps)
367
+ set_nsteps = _swig_new_instance_method(_RF_Track.Element_set_nsteps)
368
+ get_field = _swig_new_instance_method(_RF_Track.Element_get_field)
369
+ set_sc_engine = _swig_new_instance_method(_RF_Track.Element_set_sc_engine)
370
+ add_collective_effect = _swig_new_instance_method(_RF_Track.Element_add_collective_effect)
371
+ clear_collective_effects = _swig_new_instance_method(_RF_Track.Element_clear_collective_effects)
372
+ get_collective_effects = _swig_new_instance_method(_RF_Track.Element_get_collective_effects)
373
+ get_S = _swig_new_instance_method(_RF_Track.Element_get_S)
374
+ remove = _swig_new_instance_method(_RF_Track.Element_remove)
375
+ replace_with = _swig_new_instance_method(_RF_Track.Element_replace_with)
376
+ insert = _swig_new_instance_method(_RF_Track.Element_insert)
377
+ insert_ref = _swig_new_instance_method(_RF_Track.Element_insert_ref)
378
+ insert_after = _swig_new_instance_method(_RF_Track.Element_insert_after)
379
+ insert_ref_after = _swig_new_instance_method(_RF_Track.Element_insert_ref_after)
380
+
381
+ # Register Element in _RF_Track:
382
+ _RF_Track.Element_swigregister(Element)
383
+ class Lattice(Element):
384
+ r"""
385
+
386
+ An ordered beamline for tracking Bunch6d or Beam in longitudinal position S.
387
+
388
+ Construct an empty lattice, copy a lattice, or import a MAD-X Twiss file.
389
+ append copies an element; append_ref shares it. Appending a lattice keeps
390
+ it as a nested element; insert flattens its elements into this lattice.
391
+ Python indexing starts at L[0]; Octave uses L{1}. String indexing selects
392
+ names with wildcards. track returns the transported beam or bunch.
393
+
394
+ Python example:
395
+ L = RF_Track.Lattice()
396
+ L.append(RF_Track.Drift(1.0))
397
+ B1 = L.track(B0)
398
+ Octave example:
399
+ L = Lattice();
400
+ L.append(Drift(1.0));
401
+ B1 = L.track(B0);
402
+
403
+
404
+ """
405
+
406
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
407
+ __repr__ = _swig_repr
408
+ verbosity = property(_RF_Track.Lattice_verbosity_get, _RF_Track.Lattice_verbosity_set, doc=r"""verbosity : int""")
409
+ __swig_destroy__ = _RF_Track.delete_Lattice
410
+
411
+ def __init__(self, *args):
412
+ r"""
413
+ __init__(Lattice self) -> Lattice
414
+ __init__(Lattice self, Lattice lattice) -> Lattice
415
+ __init__(Lattice self, std::string const & madx_twiss_file) -> Lattice
416
+
417
+ An ordered beamline for tracking Bunch6d or Beam in longitudinal position S.
418
+
419
+ Construct an empty lattice, copy a lattice, or import a MAD-X Twiss file.
420
+ append copies an element; append_ref shares it. Appending a lattice keeps
421
+ it as a nested element; insert flattens its elements into this lattice.
422
+ Python indexing starts at L[0]; Octave uses L{1}. String indexing selects
423
+ names with wildcards. track returns the transported beam or bunch.
424
+
425
+ Python example:
426
+ L = RF_Track.Lattice()
427
+ L.append(RF_Track.Drift(1.0))
428
+ B1 = L.track(B0)
429
+ Octave example:
430
+ L = Lattice();
431
+ L.append(Drift(1.0));
432
+ B1 = L.track(B0);
433
+
434
+
435
+ """
436
+ _RF_Track.Lattice_swiginit(self, _RF_Track.new_Lattice(*args))
437
+ __assign__ = _swig_new_instance_method(_RF_Track.Lattice___assign__)
438
+ append = _swig_new_instance_method(_RF_Track.Lattice_append)
439
+ append_ref = _swig_new_instance_method(_RF_Track.Lattice_append_ref)
440
+ insert = _swig_new_instance_method(_RF_Track.Lattice_insert)
441
+ insert_ref = _swig_new_instance_method(_RF_Track.Lattice_insert_ref)
442
+ accept = _swig_new_instance_method(_RF_Track.Lattice_accept)
443
+ get_transport_table = _swig_new_instance_method(_RF_Track.Lattice_get_transport_table)
444
+ get_lost_particles = _swig_new_instance_method(_RF_Track.Lattice_get_lost_particles)
445
+ size = _swig_new_instance_method(_RF_Track.Lattice_size)
446
+ track = _swig_new_instance_method(_RF_Track.Lattice_track)
447
+ btrack = _swig_new_instance_method(_RF_Track.Lattice_btrack)
448
+ set_t0 = _swig_new_instance_method(_RF_Track.Lattice_set_t0)
449
+ unset_t0 = _swig_new_instance_method(_RF_Track.Lattice_unset_t0)
450
+ distribute_sc_nsteps = _swig_new_instance_method(_RF_Track.Lattice_distribute_sc_nsteps)
451
+ distribute_cfx_nsteps = _swig_new_instance_method(_RF_Track.Lattice_distribute_cfx_nsteps)
452
+ autophase = _swig_new_instance_method(_RF_Track.Lattice_autophase)
453
+ get_ncorrectors = _swig_new_instance_method(_RF_Track.Lattice_get_ncorrectors)
454
+ get_nbpms = _swig_new_instance_method(_RF_Track.Lattice_get_nbpms)
455
+ get_rf_elements = _swig_new_instance_method(_RF_Track.Lattice_get_rf_elements)
456
+ get_quadrupoles = _swig_new_instance_method(_RF_Track.Lattice_get_quadrupoles)
457
+ get_correctors = _swig_new_instance_method(_RF_Track.Lattice_get_correctors)
458
+ get_multipoles = _swig_new_instance_method(_RF_Track.Lattice_get_multipoles)
459
+ get_sextupoles = _swig_new_instance_method(_RF_Track.Lattice_get_sextupoles)
460
+ get_solenoids = _swig_new_instance_method(_RF_Track.Lattice_get_solenoids)
461
+ get_lattices = _swig_new_instance_method(_RF_Track.Lattice_get_lattices)
462
+ get_volumes = _swig_new_instance_method(_RF_Track.Lattice_get_volumes)
463
+ get_screens = _swig_new_instance_method(_RF_Track.Lattice_get_screens)
464
+ get_sbends = _swig_new_instance_method(_RF_Track.Lattice_get_sbends)
465
+ get_drifts = _swig_new_instance_method(_RF_Track.Lattice_get_drifts)
466
+ get_coils = _swig_new_instance_method(_RF_Track.Lattice_get_coils)
467
+ get_bpms = _swig_new_instance_method(_RF_Track.Lattice_get_bpms)
468
+ get_elements_by_name = _swig_new_instance_method(_RF_Track.Lattice_get_elements_by_name)
469
+ get_beam_at_screens = _swig_new_instance_method(_RF_Track.Lattice_get_beam_at_screens)
470
+ get_bunch_at_screens = _swig_new_instance_method(_RF_Track.Lattice_get_bunch_at_screens)
471
+ set_bpm_resolution = _swig_new_instance_method(_RF_Track.Lattice_set_bpm_resolution)
472
+ get_bpm_resolution = _swig_new_instance_method(_RF_Track.Lattice_get_bpm_resolution)
473
+ get_bpm_readings = _swig_new_instance_method(_RF_Track.Lattice_get_bpm_readings)
474
+ get_correctors_strengths = _swig_new_instance_method(_RF_Track.Lattice_get_correctors_strengths)
475
+ set_correctors_strengths = _swig_new_instance_method(_RF_Track.Lattice_set_correctors_strengths)
476
+ vary_correctors_strengths = _swig_new_instance_method(_RF_Track.Lattice_vary_correctors_strengths)
477
+ reset_correctors = _swig_new_instance_method(_RF_Track.Lattice_reset_correctors)
478
+ get_response_matrix = _swig_new_instance_method(_RF_Track.Lattice_get_response_matrix)
479
+ scatter_elements = _swig_new_instance_method(_RF_Track.Lattice_scatter_elements)
480
+ align_elements = _swig_new_instance_method(_RF_Track.Lattice_align_elements)
481
+ get_elements_offsets = _swig_new_instance_method(_RF_Track.Lattice_get_elements_offsets)
482
+ set_elements_offsets = _swig_new_instance_method(_RF_Track.Lattice_set_elements_offsets)
483
+ orbit_correction = _swig_new_instance_method(_RF_Track.Lattice_orbit_correction)
484
+ __getitem__ = _swig_new_instance_method(_RF_Track.Lattice___getitem__)
485
+
486
+ # Register Lattice in _RF_Track:
487
+ _RF_Track.Lattice_swigregister(Lattice)
488
+ class Lattice_view(object):
489
+ r"""
490
+
491
+ A view of a lattice between selected beginning and ending elements. The view refers to
492
+ the underlying lattice rather than duplicating its elements.
493
+
494
+
495
+ """
496
+
497
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
498
+ __repr__ = _swig_repr
499
+
500
+ def __init__(self, lattice_ptr, begin, end):
501
+ r"""
502
+ __init__(Lattice_view self, std::shared_ptr< Lattice > lattice_ptr, std::shared_ptr< Element > begin, std::shared_ptr< Element > end) -> Lattice_view
503
+
504
+ A view of a lattice between selected beginning and ending elements. The view refers to
505
+ the underlying lattice rather than duplicating its elements.
506
+
507
+
508
+ """
509
+ _RF_Track.Lattice_view_swiginit(self, _RF_Track.new_Lattice_view(lattice_ptr, begin, end))
510
+ track = _swig_new_instance_method(_RF_Track.Lattice_view_track)
511
+ autophase = _swig_new_instance_method(_RF_Track.Lattice_view_autophase)
512
+ get_transport_table = _swig_new_instance_method(_RF_Track.Lattice_view_get_transport_table)
513
+ __swig_destroy__ = _RF_Track.delete_Lattice_view
514
+
515
+ # Register Lattice_view in _RF_Track:
516
+ _RF_Track.Lattice_view_swigregister(Lattice_view)
517
+ class Volume(Element, TrackingOptions):
518
+ r"""
519
+
520
+ A three-dimensional arrangement of electromagnetic elements for time tracking.
521
+
522
+ Overlapping element fields are superposed. add copies elements and add_ref
523
+ shares them; positions are in metres and placement angles in radians.
524
+ A Lattice or Volume added to a Volume is expanded into individual elements.
525
+ Use Bunch6dT or BeamT to retain a simultaneous spatial distribution.
526
+ Bunch6d/Beam tracking overloads support passage between boundary planes.
527
+ Set boundary planes with set_s0 and set_s1, and integration controls with
528
+ TrackingOptions. track returns a transported copy.
529
+
530
+ Python example:
531
+ V = RF_Track.Volume()
532
+ V.add(RF_Track.Drift(1.0), 0., 0., 0.)
533
+ V.set_s0(0.); V.set_s1(1.)
534
+ B1 = V.track(B0)
535
+ Octave example:
536
+ V = Volume();
537
+ V.add(Drift(1.0), 0, 0, 0);
538
+ V.set_s0(0); V.set_s1(1);
539
+ B1 = V.track(B0);
540
+
541
+
542
+ """
543
+
544
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
545
+ __repr__ = _swig_repr
546
+ __swig_destroy__ = _RF_Track.delete_Volume
547
+
548
+ def __init__(self, *args):
549
+ r"""
550
+ __init__(Volume self) -> Volume
551
+ __init__(Volume self, Volume v) -> Volume
552
+
553
+ A three-dimensional arrangement of electromagnetic elements for time tracking.
554
+
555
+ Overlapping element fields are superposed. add copies elements and add_ref
556
+ shares them; positions are in metres and placement angles in radians.
557
+ A Lattice or Volume added to a Volume is expanded into individual elements.
558
+ Use Bunch6dT or BeamT to retain a simultaneous spatial distribution.
559
+ Bunch6d/Beam tracking overloads support passage between boundary planes.
560
+ Set boundary planes with set_s0 and set_s1, and integration controls with
561
+ TrackingOptions. track returns a transported copy.
562
+
563
+ Python example:
564
+ V = RF_Track.Volume()
565
+ V.add(RF_Track.Drift(1.0), 0., 0., 0.)
566
+ V.set_s0(0.); V.set_s1(1.)
567
+ B1 = V.track(B0)
568
+ Octave example:
569
+ V = Volume();
570
+ V.add(Drift(1.0), 0, 0, 0);
571
+ V.set_s0(0); V.set_s1(1);
572
+ B1 = V.track(B0);
573
+
574
+
575
+ """
576
+ _RF_Track.Volume_swiginit(self, _RF_Track.new_Volume(*args))
577
+ __assign__ = _swig_new_instance_method(_RF_Track.Volume___assign__)
578
+ add = _swig_new_instance_method(_RF_Track.Volume_add)
579
+ add_ref = _swig_new_instance_method(_RF_Track.Volume_add_ref)
580
+ size = _swig_new_instance_method(_RF_Track.Volume_size)
581
+ clear = _swig_new_instance_method(_RF_Track.Volume_clear)
582
+ btrack = _swig_new_instance_method(_RF_Track.Volume_btrack)
583
+ track = _swig_new_instance_method(_RF_Track.Volume_track)
584
+ accept = _swig_new_instance_method(_RF_Track.Volume_accept)
585
+ get_transport_table = _swig_new_instance_method(_RF_Track.Volume_get_transport_table)
586
+ get_transport_table_from_screens = _swig_new_instance_method(_RF_Track.Volume_get_transport_table_from_screens)
587
+ get_lost_particles = _swig_new_instance_method(_RF_Track.Volume_get_lost_particles)
588
+ get_bunch_at_s0 = _swig_new_instance_method(_RF_Track.Volume_get_bunch_at_s0)
589
+ get_bunch_at_s1 = _swig_new_instance_method(_RF_Track.Volume_get_bunch_at_s1)
590
+ get_beam_at_s0 = _swig_new_instance_method(_RF_Track.Volume_get_beam_at_s0)
591
+ get_beam_at_s1 = _swig_new_instance_method(_RF_Track.Volume_get_beam_at_s1)
592
+ distribute_screens_along_path = _swig_new_instance_method(_RF_Track.Volume_distribute_screens_along_path)
593
+ get_beam_at_screens = _swig_new_instance_method(_RF_Track.Volume_get_beam_at_screens)
594
+ get_bunch_at_screens = _swig_new_instance_method(_RF_Track.Volume_get_bunch_at_screens)
595
+ get_beam_at_tt_screens = _swig_new_instance_method(_RF_Track.Volume_get_beam_at_tt_screens)
596
+ get_bunch_at_tt_screens = _swig_new_instance_method(_RF_Track.Volume_get_bunch_at_tt_screens)
597
+ get_path_length = _swig_new_instance_method(_RF_Track.Volume_get_path_length)
598
+ get_rf_elements = _swig_new_instance_method(_RF_Track.Volume_get_rf_elements)
599
+ get_quadrupoles = _swig_new_instance_method(_RF_Track.Volume_get_quadrupoles)
600
+ get_multipoles = _swig_new_instance_method(_RF_Track.Volume_get_multipoles)
601
+ get_sextupoles = _swig_new_instance_method(_RF_Track.Volume_get_sextupoles)
602
+ get_correctors = _swig_new_instance_method(_RF_Track.Volume_get_correctors)
603
+ get_solenoids = _swig_new_instance_method(_RF_Track.Volume_get_solenoids)
604
+ get_screens = _swig_new_instance_method(_RF_Track.Volume_get_screens)
605
+ get_sbends = _swig_new_instance_method(_RF_Track.Volume_get_sbends)
606
+ get_drifts = _swig_new_instance_method(_RF_Track.Volume_get_drifts)
607
+ get_coils = _swig_new_instance_method(_RF_Track.Volume_get_coils)
608
+ get_bpms = _swig_new_instance_method(_RF_Track.Volume_get_bpms)
609
+ get_ncorrectors = _swig_new_instance_method(_RF_Track.Volume_get_ncorrectors)
610
+ get_nbpms = _swig_new_instance_method(_RF_Track.Volume_get_nbpms)
611
+ get_elements_by_name = _swig_new_instance_method(_RF_Track.Volume_get_elements_by_name)
612
+ scatter_elements = _swig_new_instance_method(_RF_Track.Volume_scatter_elements)
613
+ align_elements = _swig_new_instance_method(_RF_Track.Volume_align_elements)
614
+ set_s0 = _swig_new_instance_method(_RF_Track.Volume_set_s0)
615
+ set_s1 = _swig_new_instance_method(_RF_Track.Volume_set_s1)
616
+ set_s0_from_s1 = _swig_new_instance_method(_RF_Track.Volume_set_s0_from_s1)
617
+ set_s1_from_s0 = _swig_new_instance_method(_RF_Track.Volume_set_s1_from_s0)
618
+ get_s0 = _swig_new_instance_method(_RF_Track.Volume_get_s0)
619
+ get_s1 = _swig_new_instance_method(_RF_Track.Volume_get_s1)
620
+ set_length = _swig_new_instance_method(_RF_Track.Volume_set_length)
621
+ get_static_Efield = _swig_new_instance_method(_RF_Track.Volume_get_static_Efield)
622
+ get_static_Bfield = _swig_new_instance_method(_RF_Track.Volume_get_static_Bfield)
623
+ set_static_Efield = _swig_new_instance_method(_RF_Track.Volume_set_static_Efield)
624
+ set_static_Bfield = _swig_new_instance_method(_RF_Track.Volume_set_static_Bfield)
625
+ set_t0 = _swig_new_instance_method(_RF_Track.Volume_set_t0)
626
+ unset_t0 = _swig_new_instance_method(_RF_Track.Volume_unset_t0)
627
+ autophase = _swig_new_instance_method(_RF_Track.Volume_autophase)
628
+ __getitem__ = _swig_new_instance_method(_RF_Track.Volume___getitem__)
629
+
630
+ # Register Volume in _RF_Track:
631
+ _RF_Track.Volume_swigregister(Volume)
632
+ class Plasma(object):
633
+ r"""
634
+
635
+ Plasma properties used by the electron-cooling model.
636
+
637
+
638
+ """
639
+
640
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
641
+ __repr__ = _swig_repr
642
+ null_cell = property(_RF_Track.Plasma_null_cell_get, _RF_Track.Plasma_null_cell_set, doc=r"""null_cell : Plasma::Cell""")
643
+
644
+ def __init__(self, length=0.0, rx=0.0, ry=0.0, ne=0.0, Vz=0.0, D_ele_r=0.0, D_ele_l=0.0):
645
+ r"""
646
+ __init__(Plasma self, double length=0.0, double rx=0.0, double ry=0.0, double ne=0.0, double Vz=0.0, double D_ele_r=0.0, double D_ele_l=0.0) -> Plasma
647
+
648
+ Plasma properties used by the electron-cooling model.
649
+
650
+
651
+ """
652
+ _RF_Track.Plasma_swiginit(self, _RF_Track.new_Plasma(length, rx, ry, ne, Vz, D_ele_r, D_ele_l))
653
+ __swig_destroy__ = _RF_Track.delete_Plasma
654
+ get_self_fields = _swig_new_instance_method(_RF_Track.Plasma_get_self_fields)
655
+ get_rx = _swig_new_instance_method(_RF_Track.Plasma_get_rx)
656
+ get_ry = _swig_new_instance_method(_RF_Track.Plasma_get_ry)
657
+ get_area = _swig_new_instance_method(_RF_Track.Plasma_get_area)
658
+ set_radii = _swig_new_instance_method(_RF_Track.Plasma_set_radii)
659
+ is_point_inside_area = _swig_new_instance_method(_RF_Track.Plasma_is_point_inside_area)
660
+ set_Q = _swig_new_instance_method(_RF_Track.Plasma_set_Q)
661
+ set_mass = _swig_new_instance_method(_RF_Track.Plasma_set_mass)
662
+ set_length = _swig_new_instance_method(_RF_Track.Plasma_set_length)
663
+ set_temperature = _swig_new_instance_method(_RF_Track.Plasma_set_temperature)
664
+ set_plasma_mesh = _swig_new_instance_method(_RF_Track.Plasma_set_plasma_mesh)
665
+ set_nsteps = _swig_new_instance_method(_RF_Track.Plasma_set_nsteps)
666
+ get_Q = _swig_new_instance_method(_RF_Track.Plasma_get_Q)
667
+ get_mass = _swig_new_instance_method(_RF_Track.Plasma_get_mass)
668
+ get_length = _swig_new_instance_method(_RF_Track.Plasma_get_length)
669
+ get_density = _swig_new_instance_method(_RF_Track.Plasma_get_density)
670
+ get_D_ele_r = _swig_new_instance_method(_RF_Track.Plasma_get_D_ele_r)
671
+ get_D_ele_l = _swig_new_instance_method(_RF_Track.Plasma_get_D_ele_l)
672
+ get_temperature = _swig_new_instance_method(_RF_Track.Plasma_get_temperature)
673
+ get_debye_length = _swig_new_instance_method(_RF_Track.Plasma_get_debye_length)
674
+ get_plasma_parameter = _swig_new_instance_method(_RF_Track.Plasma_get_plasma_parameter)
675
+ get_velocity = _swig_new_instance_method(_RF_Track.Plasma_get_velocity)
676
+ get_current_density = _swig_new_instance_method(_RF_Track.Plasma_get_current_density)
677
+ get_density_mesh = _swig_new_instance_method(_RF_Track.Plasma_get_density_mesh)
678
+ get_static_Bfield = _swig_new_instance_method(_RF_Track.Plasma_get_static_Bfield)
679
+ set_static_Bfield = _swig_new_instance_method(_RF_Track.Plasma_set_static_Bfield)
680
+ project = _swig_new_instance_method(_RF_Track.Plasma_project)
681
+ advect = _swig_new_instance_method(_RF_Track.Plasma_advect)
682
+ apply_momentum_through_dt = _swig_new_instance_method(_RF_Track.Plasma_apply_momentum_through_dt)
683
+ apply_momentum_through_dS = _swig_new_instance_method(_RF_Track.Plasma_apply_momentum_through_dS)
684
+
685
+ # Register Plasma in _RF_Track:
686
+ _RF_Track.Plasma_swigregister(Plasma)
687
+ class ElectronCooler(Element, Plasma):
688
+ r"""
689
+
690
+ Electron-cooling element. Length and transverse radii are in m, electron density in
691
+ 1/m^3 and longitudinal velocity in units of c.
692
+
693
+
694
+ """
695
+
696
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
697
+ __repr__ = _swig_repr
698
+
699
+ def __init__(self, length=0.0, rx=0.0, ry=0.0, ne=0.0, Vz=0.0):
700
+ r"""
701
+ __init__(ElectronCooler self, double length=0.0, double rx=0.0, double ry=0.0, double ne=0.0, double Vz=0.0) -> ElectronCooler
702
+
703
+ Electron-cooling element. Length and transverse radii are in m, electron density in
704
+ 1/m^3 and longitudinal velocity in units of c.
705
+
706
+
707
+ """
708
+ _RF_Track.ElectronCooler_swiginit(self, _RF_Track.new_ElectronCooler(length, rx, ry, ne, Vz))
709
+ get_current = _swig_new_instance_method(_RF_Track.ElectronCooler_get_current)
710
+ set_electron_mesh = _swig_new_instance_method(_RF_Track.ElectronCooler_set_electron_mesh)
711
+ compute_cooling_force = _swig_new_instance_method(_RF_Track.ElectronCooler_compute_cooling_force)
712
+ __swig_destroy__ = _RF_Track.delete_ElectronCooler
713
+
714
+ # Register ElectronCooler in _RF_Track:
715
+ _RF_Track.ElectronCooler_swigregister(ElectronCooler)
716
+ class SBend(Element, ):
717
+ r"""
718
+
719
+ A sector bending dipole. L is in m, angle and pole-face angles E1/E2 in rad, reference
720
+ P_over_Q in MV/c, and K1 in 1/m^2. Supports edge focusing and a quadrupole component.
721
+
722
+
723
+ """
724
+
725
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
726
+ __repr__ = _swig_repr
727
+
728
+ def __init__(self, *args):
729
+ r"""
730
+ __init__(SBend self, double L, double angle, double ref_P_over_Q, double E1_=0.0, double E2_=0.0, double K1_=0.0) -> SBend
731
+ __init__(SBend self, double L=0.0) -> SBend
732
+
733
+ A sector bending dipole. L is in m, angle and pole-face angles E1/E2 in rad, reference
734
+ P_over_Q in MV/c, and K1 in 1/m^2. Supports edge focusing and a quadrupole component.
735
+
736
+
737
+ """
738
+ _RF_Track.SBend_swiginit(self, _RF_Track.new_SBend(*args))
739
+ get_E1 = _swig_new_instance_method(_RF_Track.SBend_get_E1)
740
+ get_E2 = _swig_new_instance_method(_RF_Track.SBend_get_E2)
741
+ get_E1d = _swig_new_instance_method(_RF_Track.SBend_get_E1d)
742
+ get_E2d = _swig_new_instance_method(_RF_Track.SBend_get_E2d)
743
+ get_h = _swig_new_instance_method(_RF_Track.SBend_get_h)
744
+ get_K0 = _swig_new_instance_method(_RF_Track.SBend_get_K0)
745
+ get_K1 = _swig_new_instance_method(_RF_Track.SBend_get_K1)
746
+ get_K1L = _swig_new_instance_method(_RF_Track.SBend_get_K1L)
747
+ get_gradient = _swig_new_instance_method(_RF_Track.SBend_get_gradient)
748
+ get_hgap = _swig_new_instance_method(_RF_Track.SBend_get_hgap)
749
+ get_rho = _swig_new_instance_method(_RF_Track.SBend_get_rho)
750
+ get_angle = _swig_new_instance_method(_RF_Track.SBend_get_angle)
751
+ get_angled = _swig_new_instance_method(_RF_Track.SBend_get_angled)
752
+ get_Brho = _swig_new_instance_method(_RF_Track.SBend_get_Brho)
753
+ get_Bfield = _swig_new_instance_method(_RF_Track.SBend_get_Bfield)
754
+ get_P_over_Q = _swig_new_instance_method(_RF_Track.SBend_get_P_over_Q)
755
+ set_E1 = _swig_new_instance_method(_RF_Track.SBend_set_E1)
756
+ set_E2 = _swig_new_instance_method(_RF_Track.SBend_set_E2)
757
+ set_E1d = _swig_new_instance_method(_RF_Track.SBend_set_E1d)
758
+ set_E2d = _swig_new_instance_method(_RF_Track.SBend_set_E2d)
759
+ set_h = _swig_new_instance_method(_RF_Track.SBend_set_h)
760
+ set_hgap = _swig_new_instance_method(_RF_Track.SBend_set_hgap)
761
+ set_fint = _swig_new_instance_method(_RF_Track.SBend_set_fint)
762
+ set_K0 = _swig_new_instance_method(_RF_Track.SBend_set_K0)
763
+ set_K1 = _swig_new_instance_method(_RF_Track.SBend_set_K1)
764
+ set_K1L = _swig_new_instance_method(_RF_Track.SBend_set_K1L)
765
+ set_gradient = _swig_new_instance_method(_RF_Track.SBend_set_gradient)
766
+ set_angle = _swig_new_instance_method(_RF_Track.SBend_set_angle)
767
+ set_angled = _swig_new_instance_method(_RF_Track.SBend_set_angled)
768
+ set_length = _swig_new_instance_method(_RF_Track.SBend_set_length)
769
+ set_Brho = _swig_new_instance_method(_RF_Track.SBend_set_Brho)
770
+ set_Bfield = _swig_new_instance_method(_RF_Track.SBend_set_Bfield)
771
+ set_P_over_Q = _swig_new_instance_method(_RF_Track.SBend_set_P_over_Q)
772
+ get_s0 = _swig_new_instance_method(_RF_Track.SBend_get_s0)
773
+ get_s1 = _swig_new_instance_method(_RF_Track.SBend_get_s1)
774
+ __swig_destroy__ = _RF_Track.delete_SBend
775
+
776
+ # Register SBend in _RF_Track:
777
+ _RF_Track.SBend_swigregister(SBend)
778
+ RBend = _RF_Track.RBend
779
+ class TransferLine(Element):
780
+ r"""
781
+
782
+ A transfer-map element constructed from Twiss data or a MAD-X Twiss file. Reference
783
+ momentum is in MeV/c. Supports chromaticity and momentum-compaction parameters.
784
+
785
+
786
+ """
787
+
788
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
789
+ __repr__ = _swig_repr
790
+
791
+ def __init__(self, *args):
792
+ r"""
793
+ __init__(TransferLine self, MatrixNd const & twiss_matrix_, double Pref, double DQx_, double DQy_, double momentum_compaction_) -> TransferLine
794
+ __init__(TransferLine self, MatrixNd const & twiss_matrix_, double Pref) -> TransferLine
795
+ __init__(TransferLine self, std::string const & twiss_file, double Pref=-1.0) -> TransferLine
796
+ __init__(TransferLine self, TransferLine t) -> TransferLine
797
+ __init__(TransferLine self) -> TransferLine
798
+
799
+ A transfer-map element constructed from Twiss data or a MAD-X Twiss file. Reference
800
+ momentum is in MeV/c. Supports chromaticity and momentum-compaction parameters.
801
+
802
+
803
+ """
804
+ _RF_Track.TransferLine_swiginit(self, _RF_Track.new_TransferLine(*args))
805
+ __swig_destroy__ = _RF_Track.delete_TransferLine
806
+ __assign__ = _swig_new_instance_method(_RF_Track.TransferLine___assign__)
807
+
808
+ # Register TransferLine in _RF_Track:
809
+ _RF_Track.TransferLine_swigregister(TransferLine)
810
+ class Quadrupole(Element):
811
+ r"""
812
+
813
+ A matrix-based quadrupole. Constructors take (L [m], integrated strength [MV/c/m]) or (L
814
+ [m], P_over_Q [MV/c], k1 [1/m^2]). Strength equals P_over_Q*k1*L. Use set_gradient for a
815
+ gradient in T/m.
816
+
817
+
818
+ """
819
+
820
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
821
+ __repr__ = _swig_repr
822
+
823
+ def __init__(self, *args):
824
+ r"""
825
+ __init__(Quadrupole self, double L=0.0, double strength_=0.0) -> Quadrupole
826
+ __init__(Quadrupole self, double L, double P_over_Q, double k1_) -> Quadrupole
827
+
828
+ A matrix-based quadrupole. Constructors take (L [m], integrated strength [MV/c/m]) or (L
829
+ [m], P_over_Q [MV/c], k1 [1/m^2]). Strength equals P_over_Q*k1*L. Use set_gradient for a
830
+ gradient in T/m.
831
+
832
+
833
+ """
834
+ _RF_Track.Quadrupole_swiginit(self, _RF_Track.new_Quadrupole(*args))
835
+ get_K1 = _swig_new_instance_method(_RF_Track.Quadrupole_get_K1)
836
+ get_K1L = _swig_new_instance_method(_RF_Track.Quadrupole_get_K1L)
837
+ get_strength = _swig_new_instance_method(_RF_Track.Quadrupole_get_strength)
838
+ get_gradient = _swig_new_instance_method(_RF_Track.Quadrupole_get_gradient)
839
+ set_K1 = _swig_new_instance_method(_RF_Track.Quadrupole_set_K1)
840
+ set_K1L = _swig_new_instance_method(_RF_Track.Quadrupole_set_K1L)
841
+ set_P_over_Q = _swig_new_instance_method(_RF_Track.Quadrupole_set_P_over_Q)
842
+ set_length = _swig_new_instance_method(_RF_Track.Quadrupole_set_length)
843
+ set_strength = _swig_new_instance_method(_RF_Track.Quadrupole_set_strength)
844
+ set_gradient = _swig_new_instance_method(_RF_Track.Quadrupole_set_gradient)
845
+ __swig_destroy__ = _RF_Track.delete_Quadrupole
846
+
847
+ # Register Quadrupole in _RF_Track:
848
+ _RF_Track.Quadrupole_swigregister(Quadrupole)
849
+ class GenericField(Element, Parallel_ODE_Solver):
850
+ r"""
851
+
852
+ Base element for numerical tracking through an electromagnetic field. Length is in
853
+ metres; inherited ODE-solver controls select the integration algorithm.
854
+
855
+
856
+ """
857
+
858
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
859
+
860
+ def __init__(self, *args, **kwargs):
861
+ raise AttributeError("No constructor defined")
862
+ __repr__ = _swig_repr
863
+ set_length = _swig_new_instance_method(_RF_Track.GenericField_set_length)
864
+ set_scaling_factor = _swig_new_instance_method(_RF_Track.GenericField_set_scaling_factor)
865
+ get_scaling_factor = _swig_new_instance_method(_RF_Track.GenericField_get_scaling_factor)
866
+ get_static_Efield = _swig_new_instance_method(_RF_Track.GenericField_get_static_Efield)
867
+ get_static_Bfield = _swig_new_instance_method(_RF_Track.GenericField_get_static_Bfield)
868
+ set_static_Efield = _swig_new_instance_method(_RF_Track.GenericField_set_static_Efield)
869
+ set_static_Bfield = _swig_new_instance_method(_RF_Track.GenericField_set_static_Bfield)
870
+ get_field = _swig_new_instance_method(_RF_Track.GenericField_get_field)
871
+ enable_end_fields = _swig_new_instance_method(_RF_Track.GenericField_enable_end_fields)
872
+ disable_end_fields = _swig_new_instance_method(_RF_Track.GenericField_disable_end_fields)
873
+ __swig_destroy__ = _RF_Track.delete_GenericField
874
+
875
+ # Register GenericField in _RF_Track:
876
+ _RF_Track.GenericField_swigregister(GenericField)
877
+ class Solenoid(Element, ):
878
+ r"""
879
+
880
+ A solenoid magnetic field. Length and radii are in metres; B0 is in T. A
881
+ finite-thickness winding can be represented by concentric current sheets.
882
+
883
+
884
+ """
885
+
886
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
887
+ __repr__ = _swig_repr
888
+
889
+ def __init__(self, *args):
890
+ r"""
891
+ __init__(Solenoid self) -> Solenoid
892
+ __init__(Solenoid self, double L, double B0_=0.0, double R_=0.0) -> Solenoid
893
+ __init__(Solenoid self, double L, double B0_, double inner_R, double outer_R, int n_sheets) -> Solenoid
894
+
895
+ A solenoid magnetic field. Length and radii are in metres; B0 is in T. A
896
+ finite-thickness winding can be represented by concentric current sheets.
897
+
898
+
899
+ """
900
+ _RF_Track.Solenoid_swiginit(self, _RF_Track.new_Solenoid(*args))
901
+ get_KS = _swig_new_instance_method(_RF_Track.Solenoid_get_KS)
902
+ get_inner_R = _swig_new_instance_method(_RF_Track.Solenoid_get_inner_R)
903
+ get_outer_R = _swig_new_instance_method(_RF_Track.Solenoid_get_outer_R)
904
+ get_max_current = _swig_new_instance_method(_RF_Track.Solenoid_get_max_current)
905
+ get_current_density = _swig_new_instance_method(_RF_Track.Solenoid_get_current_density)
906
+ set_KS = _swig_new_instance_method(_RF_Track.Solenoid_set_KS)
907
+ set_R = _swig_new_instance_method(_RF_Track.Solenoid_set_R)
908
+ set_length = _swig_new_instance_method(_RF_Track.Solenoid_set_length)
909
+ set_max_current = _swig_new_instance_method(_RF_Track.Solenoid_set_max_current)
910
+ set_current_density = _swig_new_instance_method(_RF_Track.Solenoid_set_current_density)
911
+ __swig_destroy__ = _RF_Track.delete_Solenoid
912
+
913
+ # Register Solenoid in _RF_Track:
914
+ _RF_Track.Solenoid_swigregister(Solenoid)
915
+ class Coil(GenericField, ):
916
+ r"""
917
+
918
+ Magnetic field of a circular current coil. Geometry parameters are in metres and the
919
+ magnetic-field amplitude is in T.
920
+
921
+
922
+ """
923
+
924
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
925
+ __repr__ = _swig_repr
926
+
927
+ def __init__(self, *args):
928
+ r"""
929
+ __init__(Coil self) -> Coil
930
+ __init__(Coil self, double length, double B0_, double R_) -> Coil
931
+
932
+ Magnetic field of a circular current coil. Geometry parameters are in metres and the
933
+ magnetic-field amplitude is in T.
934
+
935
+
936
+ """
937
+ _RF_Track.Coil_swiginit(self, _RF_Track.new_Coil(*args))
938
+ get_R = _swig_new_instance_method(_RF_Track.Coil_get_R)
939
+ get_B0 = _swig_new_instance_method(_RF_Track.Coil_get_B0)
940
+ set_R = _swig_new_instance_method(_RF_Track.Coil_set_R)
941
+ set_B0 = _swig_new_instance_method(_RF_Track.Coil_set_B0)
942
+ set_R_and_current = _swig_new_instance_method(_RF_Track.Coil_set_R_and_current)
943
+ __swig_destroy__ = _RF_Track.delete_Coil
944
+
945
+ # Register Coil in _RF_Track:
946
+ _RF_Track.Coil_swigregister(Coil)
947
+ class SpaceCharge_Field(GenericField, ):
948
+ r"""
949
+
950
+ An electromagnetic field reconstructed from a Bunch6dT distribution on a mesh with Nx,
951
+ Ny, Nz cells. Vz_slices controls velocity slicing.
952
+
953
+
954
+ """
955
+
956
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
957
+ __repr__ = _swig_repr
958
+
959
+ def __init__(self, *args):
960
+ r"""
961
+ __init__(SpaceCharge_Field self) -> SpaceCharge_Field
962
+ __init__(SpaceCharge_Field self, Bunch6dT bunch, size_t Nx, size_t Ny, size_t Nz, size_t Vz_slices=1) -> SpaceCharge_Field
963
+
964
+ An electromagnetic field reconstructed from a Bunch6dT distribution on a mesh with Nx,
965
+ Ny, Nz cells. Vz_slices controls velocity slicing.
966
+
967
+
968
+ """
969
+ _RF_Track.SpaceCharge_Field_swiginit(self, _RF_Track.new_SpaceCharge_Field(*args))
970
+ __swig_destroy__ = _RF_Track.delete_SpaceCharge_Field
971
+ get_Q = _swig_new_instance_method(_RF_Track.SpaceCharge_Field_get_Q)
972
+ get_V = _swig_new_instance_method(_RF_Track.SpaceCharge_Field_get_V)
973
+
974
+ # Register SpaceCharge_Field in _RF_Track:
975
+ _RF_Track.SpaceCharge_Field_swigregister(SpaceCharge_Field)
976
+ class SpaceCharge_Field_LongCylinder(GenericField, ):
977
+ r"""
978
+
979
+ Space-charge field reconstructed inside a long conducting cylinder. The explicit
980
+ aperture argument is in metres.
981
+
982
+
983
+ """
984
+
985
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
986
+ __repr__ = _swig_repr
987
+
988
+ def __init__(self, *args):
989
+ r"""
990
+ __init__(SpaceCharge_Field_LongCylinder self) -> SpaceCharge_Field_LongCylinder
991
+ __init__(SpaceCharge_Field_LongCylinder self, Bunch6dT bunch, size_t Nx, size_t Ny, size_t Nz, size_t Vz_slices=1) -> SpaceCharge_Field_LongCylinder
992
+ __init__(SpaceCharge_Field_LongCylinder self, Bunch6dT bunch, size_t Nx, size_t Ny, size_t Nz, size_t Vz_slices, double aperture) -> SpaceCharge_Field_LongCylinder
993
+
994
+ Space-charge field reconstructed inside a long conducting cylinder. The explicit
995
+ aperture argument is in metres.
996
+
997
+
998
+ """
999
+ _RF_Track.SpaceCharge_Field_LongCylinder_swiginit(self, _RF_Track.new_SpaceCharge_Field_LongCylinder(*args))
1000
+ __swig_destroy__ = _RF_Track.delete_SpaceCharge_Field_LongCylinder
1001
+ get_Q = _swig_new_instance_method(_RF_Track.SpaceCharge_Field_LongCylinder_get_Q)
1002
+ get_V = _swig_new_instance_method(_RF_Track.SpaceCharge_Field_LongCylinder_get_V)
1003
+ get_aperture = _swig_new_instance_method(_RF_Track.SpaceCharge_Field_LongCylinder_get_aperture)
1004
+
1005
+ # Register SpaceCharge_Field_LongCylinder in _RF_Track:
1006
+ _RF_Track.SpaceCharge_Field_LongCylinder_swigregister(SpaceCharge_Field_LongCylinder)
1007
+ class SpaceCharge_Field_HorizontalPlates(GenericField, ):
1008
+ r"""
1009
+
1010
+ Space-charge field reconstructed between conducting horizontal plates. The explicit
1011
+ half-gap argument is in metres.
1012
+
1013
+
1014
+ """
1015
+
1016
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1017
+ __repr__ = _swig_repr
1018
+
1019
+ def __init__(self, *args):
1020
+ r"""
1021
+ __init__(SpaceCharge_Field_HorizontalPlates self) -> SpaceCharge_Field_HorizontalPlates
1022
+ __init__(SpaceCharge_Field_HorizontalPlates self, Bunch6dT bunch, size_t Nx, size_t Ny, size_t Nz, size_t Vz_slices=1) -> SpaceCharge_Field_HorizontalPlates
1023
+ __init__(SpaceCharge_Field_HorizontalPlates self, Bunch6dT bunch, size_t Nx, size_t Ny, size_t Nz, size_t Vz_slices, double hgap) -> SpaceCharge_Field_HorizontalPlates
1024
+
1025
+ Space-charge field reconstructed between conducting horizontal plates. The explicit
1026
+ half-gap argument is in metres.
1027
+
1028
+
1029
+ """
1030
+ _RF_Track.SpaceCharge_Field_HorizontalPlates_swiginit(self, _RF_Track.new_SpaceCharge_Field_HorizontalPlates(*args))
1031
+ __swig_destroy__ = _RF_Track.delete_SpaceCharge_Field_HorizontalPlates
1032
+ get_Q = _swig_new_instance_method(_RF_Track.SpaceCharge_Field_HorizontalPlates_get_Q)
1033
+ get_V = _swig_new_instance_method(_RF_Track.SpaceCharge_Field_HorizontalPlates_get_V)
1034
+ get_hgap = _swig_new_instance_method(_RF_Track.SpaceCharge_Field_HorizontalPlates_get_hgap)
1035
+
1036
+ # Register SpaceCharge_Field_HorizontalPlates in _RF_Track:
1037
+ _RF_Track.SpaceCharge_Field_HorizontalPlates_swigregister(SpaceCharge_Field_HorizontalPlates)
1038
+ class ToroidalHarmonics(GenericField, ):
1039
+ r"""
1040
+
1041
+ Magnetic-field element represented through toroidal harmonics.
1042
+
1043
+
1044
+ """
1045
+
1046
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1047
+ __repr__ = _swig_repr
1048
+ M00 = property(_RF_Track.ToroidalHarmonics_M00_get, _RF_Track.ToroidalHarmonics_M00_set, doc=r"""M00 : double""")
1049
+ Mcc = property(_RF_Track.ToroidalHarmonics_Mcc_get, _RF_Track.ToroidalHarmonics_Mcc_set, doc=r"""Mcc : MatrixNd""")
1050
+ Mcs = property(_RF_Track.ToroidalHarmonics_Mcs_get, _RF_Track.ToroidalHarmonics_Mcs_set, doc=r"""Mcs : MatrixNd""")
1051
+ Msc = property(_RF_Track.ToroidalHarmonics_Msc_get, _RF_Track.ToroidalHarmonics_Msc_set, doc=r"""Msc : MatrixNd""")
1052
+ Mss = property(_RF_Track.ToroidalHarmonics_Mss_get, _RF_Track.ToroidalHarmonics_Mss_set, doc=r"""Mss : MatrixNd""")
1053
+
1054
+ def __init__(self, Rmajor, Rminor):
1055
+ r"""
1056
+ __init__(ToroidalHarmonics self, double Rmajor, double Rminor) -> ToroidalHarmonics
1057
+
1058
+ Magnetic-field element represented through toroidal harmonics.
1059
+
1060
+
1061
+ """
1062
+ _RF_Track.ToroidalHarmonics_swiginit(self, _RF_Track.new_ToroidalHarmonics(Rmajor, Rminor))
1063
+ get_a = _swig_new_instance_method(_RF_Track.ToroidalHarmonics_get_a)
1064
+ set_Mcc = _swig_new_instance_method(_RF_Track.ToroidalHarmonics_set_Mcc)
1065
+ set_Mcs = _swig_new_instance_method(_RF_Track.ToroidalHarmonics_set_Mcs)
1066
+ set_Msc = _swig_new_instance_method(_RF_Track.ToroidalHarmonics_set_Msc)
1067
+ set_Mss = _swig_new_instance_method(_RF_Track.ToroidalHarmonics_set_Mss)
1068
+ __swig_destroy__ = _RF_Track.delete_ToroidalHarmonics
1069
+
1070
+ # Register ToroidalHarmonics in _RF_Track:
1071
+ _RF_Track.ToroidalHarmonics_swigregister(ToroidalHarmonics)
1072
+ class ConstantField(GenericField):
1073
+ r"""
1074
+
1075
+ A region of constant electric and magnetic fields. Length is in metres, electric field
1076
+ in V/m and magnetic field in T.
1077
+
1078
+
1079
+ """
1080
+
1081
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1082
+ __repr__ = _swig_repr
1083
+
1084
+ def __init__(self, length=0.0):
1085
+ r"""
1086
+ __init__(ConstantField self, double length=0.0) -> ConstantField
1087
+
1088
+ A region of constant electric and magnetic fields. Length is in metres, electric field
1089
+ in V/m and magnetic field in T.
1090
+
1091
+
1092
+ """
1093
+ _RF_Track.ConstantField_swiginit(self, _RF_Track.new_ConstantField(length))
1094
+ __swig_destroy__ = _RF_Track.delete_ConstantField
1095
+
1096
+ # Register ConstantField in _RF_Track:
1097
+ _RF_Track.ConstantField_swigregister(ConstantField)
1098
+ class AdiabaticMatchingDevice(GenericField):
1099
+ r"""
1100
+
1101
+ An axially varying solenoidal field for adiabatic beam matching. Geometry is specified in metres.
1102
+
1103
+
1104
+ """
1105
+
1106
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1107
+ __repr__ = _swig_repr
1108
+
1109
+ def __init__(self, length_=0.0, Bmax_=0.0, fMu_=0.0):
1110
+ r"""
1111
+ __init__(AdiabaticMatchingDevice self, double length_=0.0, double Bmax_=0.0, double fMu_=0.0) -> AdiabaticMatchingDevice
1112
+
1113
+ An axially varying solenoidal field for adiabatic beam matching. Geometry is specified in metres.
1114
+
1115
+
1116
+ """
1117
+ _RF_Track.AdiabaticMatchingDevice_swiginit(self, _RF_Track.new_AdiabaticMatchingDevice(length_, Bmax_, fMu_))
1118
+ get_mu = _swig_new_instance_method(_RF_Track.AdiabaticMatchingDevice_get_mu)
1119
+ get_B0 = _swig_new_instance_method(_RF_Track.AdiabaticMatchingDevice_get_B0)
1120
+ set_mu = _swig_new_instance_method(_RF_Track.AdiabaticMatchingDevice_set_mu)
1121
+ set_B0 = _swig_new_instance_method(_RF_Track.AdiabaticMatchingDevice_set_B0)
1122
+ get_entrance_aperture = _swig_new_instance_method(_RF_Track.AdiabaticMatchingDevice_get_entrance_aperture)
1123
+ get_exit_aperture = _swig_new_instance_method(_RF_Track.AdiabaticMatchingDevice_get_exit_aperture)
1124
+ set_entrance_aperture = _swig_new_instance_method(_RF_Track.AdiabaticMatchingDevice_set_entrance_aperture)
1125
+ set_exit_aperture = _swig_new_instance_method(_RF_Track.AdiabaticMatchingDevice_set_exit_aperture)
1126
+ __swig_destroy__ = _RF_Track.delete_AdiabaticMatchingDevice
1127
+
1128
+ # Register AdiabaticMatchingDevice in _RF_Track:
1129
+ _RF_Track.AdiabaticMatchingDevice_swigregister(AdiabaticMatchingDevice)
1130
+ class BroadbandDielectricStructure(GenericField):
1131
+ r"""
1132
+
1133
+ A dielectric structure represented by a broadband electromagnetic field.
1134
+
1135
+
1136
+ """
1137
+
1138
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1139
+ __repr__ = _swig_repr
1140
+
1141
+ def __init__(self, x0, y0, hx, hy, hz, length, t0, t1, N, P_map=1.0, P_actual=1.0):
1142
+ r"""
1143
+ __init__(BroadbandDielectricStructure self, double x0, double y0, double hx, double hy, double hz, double length, double t0, double t1, size_t N, double P_map=1.0, double P_actual=1.0) -> BroadbandDielectricStructure
1144
+
1145
+ A dielectric structure represented by a broadband electromagnetic field.
1146
+
1147
+
1148
+ """
1149
+ _RF_Track.BroadbandDielectricStructure_swiginit(self, _RF_Track.new_BroadbandDielectricStructure(x0, y0, hx, hy, hz, length, t0, t1, N, P_map, P_actual))
1150
+ resize = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_resize)
1151
+ set_field_n = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_field_n)
1152
+ get_x0 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_x0)
1153
+ get_y0 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_y0)
1154
+ get_z0 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_z0)
1155
+ get_z1 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_z1)
1156
+ get_hx = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_hx)
1157
+ get_hy = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_hy)
1158
+ get_hz = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_hz)
1159
+ get_t0 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_t0)
1160
+ get_t1 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_t1)
1161
+ get_dt = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_dt)
1162
+ get_P_map = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_P_map)
1163
+ get_P_actual = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_get_P_actual)
1164
+ set_x0 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_x0)
1165
+ set_y0 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_y0)
1166
+ set_z0 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_z0)
1167
+ set_z1 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_z1)
1168
+ set_hx = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_hx)
1169
+ set_hy = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_hy)
1170
+ set_hz = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_hz)
1171
+ set_t0 = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_t0)
1172
+ set_dt = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_dt)
1173
+ set_P_map = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_P_map)
1174
+ set_P_actual = _swig_new_instance_method(_RF_Track.BroadbandDielectricStructure_set_P_actual)
1175
+ __swig_destroy__ = _RF_Track.delete_BroadbandDielectricStructure
1176
+
1177
+ # Register BroadbandDielectricStructure in _RF_Track:
1178
+ _RF_Track.BroadbandDielectricStructure_swigregister(BroadbandDielectricStructure)
1179
+ class Multipole(GenericField):
1180
+ r"""
1181
+
1182
+ A magnetic multipole element with complex normal and skew coefficients. Length is in
1183
+ metres. Supports field coefficients Bn or integrated normalized coefficients KnL at a
1184
+ specified P_over_Q.
1185
+
1186
+
1187
+ """
1188
+
1189
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1190
+ __repr__ = _swig_repr
1191
+
1192
+ def __init__(self, *args):
1193
+ r"""
1194
+ __init__(Multipole self, double length_=0.0, std::vector< std::complex< double > > const & Bn_=std::vector< std::complex< double > >(size_t(0))) -> Multipole
1195
+ __init__(Multipole self, double length_, double P_over_Q, std::vector< std::complex< double > > const & KnL) -> Multipole
1196
+
1197
+ A magnetic multipole element with complex normal and skew coefficients. Length is in
1198
+ metres. Supports field coefficients Bn or integrated normalized coefficients KnL at a
1199
+ specified P_over_Q.
1200
+
1201
+
1202
+ """
1203
+ _RF_Track.Multipole_swiginit(self, _RF_Track.new_Multipole(*args))
1204
+ get_Bn = _swig_new_instance_method(_RF_Track.Multipole_get_Bn)
1205
+ get_KnL = _swig_new_instance_method(_RF_Track.Multipole_get_KnL)
1206
+ get_strengths = _swig_new_instance_method(_RF_Track.Multipole_get_strengths)
1207
+ set_Bn = _swig_new_instance_method(_RF_Track.Multipole_set_Bn)
1208
+ set_KnL = _swig_new_instance_method(_RF_Track.Multipole_set_KnL)
1209
+ set_P_over_Q = _swig_new_instance_method(_RF_Track.Multipole_set_P_over_Q)
1210
+ set_strengths = _swig_new_instance_method(_RF_Track.Multipole_set_strengths)
1211
+ __swig_destroy__ = _RF_Track.delete_Multipole
1212
+
1213
+ # Register Multipole in _RF_Track:
1214
+ _RF_Track.Multipole_swigregister(Multipole)
1215
+ class TimeDependent_Field(GenericField):
1216
+ r"""
1217
+
1218
+ Base interface for elements with time-dependent fields and an adjustable synchronization time t0 in mm/c.
1219
+
1220
+
1221
+ """
1222
+
1223
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1224
+ __repr__ = _swig_repr
1225
+
1226
+ def __init__(self, length=0.0):
1227
+ r"""
1228
+ __init__(TimeDependent_Field self, double length=0.0) -> TimeDependent_Field
1229
+
1230
+ Base interface for elements with time-dependent fields and an adjustable synchronization time t0 in mm/c.
1231
+
1232
+
1233
+ """
1234
+ _RF_Track.TimeDependent_Field_swiginit(self, _RF_Track.new_TimeDependent_Field(length))
1235
+ get_t0 = _swig_new_instance_method(_RF_Track.TimeDependent_Field_get_t0)
1236
+ set_t0 = _swig_new_instance_method(_RF_Track.TimeDependent_Field_set_t0)
1237
+ unset_t0 = _swig_new_instance_method(_RF_Track.TimeDependent_Field_unset_t0)
1238
+ synchronize_with = _swig_new_instance_method(_RF_Track.TimeDependent_Field_synchronize_with)
1239
+ t0_is_synchronized = _swig_new_instance_method(_RF_Track.TimeDependent_Field_t0_is_synchronized)
1240
+ t0_is_set = _swig_new_instance_method(_RF_Track.TimeDependent_Field_t0_is_set)
1241
+ t0_is_unset = _swig_new_instance_method(_RF_Track.TimeDependent_Field_t0_is_unset)
1242
+ __swig_destroy__ = _RF_Track.delete_TimeDependent_Field
1243
+
1244
+ # Register TimeDependent_Field in _RF_Track:
1245
+ _RF_Track.TimeDependent_Field_swigregister(TimeDependent_Field)
1246
+ class Sextupole(GenericField):
1247
+ r"""
1248
+
1249
+ A sextupole magnet. Length is in m; the rigidity-based constructor takes P_over_Q in
1250
+ MV/c and k2 in 1/m^3. Integrated strength equals P_over_Q*k2*L.
1251
+
1252
+
1253
+ """
1254
+
1255
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1256
+ __repr__ = _swig_repr
1257
+
1258
+ def __init__(self, *args):
1259
+ r"""
1260
+ __init__(Sextupole self, double L=0.0, double strength_=0.0) -> Sextupole
1261
+ __init__(Sextupole self, double L, double P_over_Q, double k2) -> Sextupole
1262
+
1263
+ A sextupole magnet. Length is in m; the rigidity-based constructor takes P_over_Q in
1264
+ MV/c and k2 in 1/m^3. Integrated strength equals P_over_Q*k2*L.
1265
+
1266
+
1267
+ """
1268
+ _RF_Track.Sextupole_swiginit(self, _RF_Track.new_Sextupole(*args))
1269
+ get_K2 = _swig_new_instance_method(_RF_Track.Sextupole_get_K2)
1270
+ get_K2L = _swig_new_instance_method(_RF_Track.Sextupole_get_K2L)
1271
+ get_strength = _swig_new_instance_method(_RF_Track.Sextupole_get_strength)
1272
+ get_gradient = _swig_new_instance_method(_RF_Track.Sextupole_get_gradient)
1273
+ set_K2 = _swig_new_instance_method(_RF_Track.Sextupole_set_K2)
1274
+ set_K2L = _swig_new_instance_method(_RF_Track.Sextupole_set_K2L)
1275
+ set_P_over_Q = _swig_new_instance_method(_RF_Track.Sextupole_set_P_over_Q)
1276
+ set_strength = _swig_new_instance_method(_RF_Track.Sextupole_set_strength)
1277
+ set_gradient = _swig_new_instance_method(_RF_Track.Sextupole_set_gradient)
1278
+ __swig_destroy__ = _RF_Track.delete_Sextupole
1279
+
1280
+ # Register Sextupole in _RF_Track:
1281
+ _RF_Track.Sextupole_swigregister(Sextupole)
1282
+ class Aperture_1d(GenericField):
1283
+ r"""
1284
+
1285
+ A longitudinally varying aperture supplied on a one-dimensional mesh. Aperture sizes and
1286
+ longitudinal mesh spacing are in metres.
1287
+
1288
+
1289
+ """
1290
+
1291
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1292
+ __repr__ = _swig_repr
1293
+
1294
+ def __init__(self, *args):
1295
+ r"""
1296
+ __init__(Aperture_1d self, Mesh1d const & aperture_1d, double hz, double length=-1) -> Aperture_1d
1297
+ __init__(Aperture_1d self) -> Aperture_1d
1298
+
1299
+ A longitudinally varying aperture supplied on a one-dimensional mesh. Aperture sizes and
1300
+ longitudinal mesh spacing are in metres.
1301
+
1302
+
1303
+ """
1304
+ _RF_Track.Aperture_1d_swiginit(self, _RF_Track.new_Aperture_1d(*args))
1305
+ get_hz = _swig_new_instance_method(_RF_Track.Aperture_1d_get_hz)
1306
+ get_nz = _swig_new_instance_method(_RF_Track.Aperture_1d_get_nz)
1307
+ get_z0 = _swig_new_instance_method(_RF_Track.Aperture_1d_get_z0)
1308
+ get_z1 = _swig_new_instance_method(_RF_Track.Aperture_1d_get_z1)
1309
+ set_hz = _swig_new_instance_method(_RF_Track.Aperture_1d_set_hz)
1310
+ set_z0 = _swig_new_instance_method(_RF_Track.Aperture_1d_set_z0)
1311
+ set_z1 = _swig_new_instance_method(_RF_Track.Aperture_1d_set_z1)
1312
+ __swig_destroy__ = _RF_Track.delete_Aperture_1d
1313
+
1314
+ # Register Aperture_1d in _RF_Track:
1315
+ _RF_Track.Aperture_1d_swigregister(Aperture_1d)
1316
+ class Static_Electric_FieldMap(GenericField):
1317
+ r"""
1318
+
1319
+ Static electric field on a regular three-dimensional mesh, provided as potential [V] or
1320
+ electric-field components [V/m]. Geometry arguments are in metres.
1321
+
1322
+
1323
+ """
1324
+
1325
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1326
+ __repr__ = _swig_repr
1327
+
1328
+ def __init__(self, *args):
1329
+ r"""
1330
+ __init__(Static_Electric_FieldMap self, Mesh3d const & Phi=DefaultMesh3d, double x0=0.0, double y0=0.0, double hx=1.0, double hy=1.0, double hz=1.0, double length=-1.0) -> Static_Electric_FieldMap
1331
+ __init__(Static_Electric_FieldMap self, Mesh3d const & Ex, Mesh3d const & Ey, Mesh3d const & Ez, double x0, double y0, double hx, double hy, double hz, double length=-1.0, double quality=1.0) -> Static_Electric_FieldMap
1332
+
1333
+ Static electric field on a regular three-dimensional mesh, provided as potential [V] or
1334
+ electric-field components [V/m]. Geometry arguments are in metres.
1335
+
1336
+
1337
+ """
1338
+ _RF_Track.Static_Electric_FieldMap_swiginit(self, _RF_Track.new_Static_Electric_FieldMap(*args))
1339
+ __swig_destroy__ = _RF_Track.delete_Static_Electric_FieldMap
1340
+ get_hx = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_hx)
1341
+ get_hy = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_hy)
1342
+ get_hz = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_hz)
1343
+ get_nx = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_nx)
1344
+ get_ny = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_ny)
1345
+ get_nz = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_nz)
1346
+ get_x0 = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_x0)
1347
+ get_y0 = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_y0)
1348
+ get_z0 = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_z0)
1349
+ get_x1 = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_x1)
1350
+ get_y1 = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_y1)
1351
+ get_z1 = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_z1)
1352
+ set_hx = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_set_hx)
1353
+ set_hy = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_set_hy)
1354
+ set_hz = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_set_hz)
1355
+ set_x0 = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_set_x0)
1356
+ set_y0 = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_set_y0)
1357
+ set_z0 = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_set_z0)
1358
+ set_z1 = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_set_z1)
1359
+ set_Ex_Ey_Ez = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_set_Ex_Ey_Ez)
1360
+ get_Phi = _swig_new_instance_method(_RF_Track.Static_Electric_FieldMap_get_Phi)
1361
+
1362
+ # Register Static_Electric_FieldMap in _RF_Track:
1363
+ _RF_Track.Static_Electric_FieldMap_swigregister(Static_Electric_FieldMap)
1364
+ class Static_Magnetic_FieldMap(GenericField):
1365
+ r"""
1366
+
1367
+ Static magnetic field on a regular three-dimensional mesh, provided as vector potential
1368
+ [T.m] or magnetic-field components [T]. Geometry arguments are in metres.
1369
+
1370
+
1371
+ """
1372
+
1373
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1374
+ __repr__ = _swig_repr
1375
+
1376
+ def __init__(self, *args):
1377
+ r"""
1378
+ __init__(Static_Magnetic_FieldMap self, Mesh3d const & Ax=DefaultMesh3d, Mesh3d const & Ay=DefaultMesh3d, Mesh3d const & Az=DefaultMesh3d, Mesh3d const & PhiM=DefaultMesh3d, double x0=0.0, double y0=0.0, double hx=1.0, double hy=1.0, double hz=1.0, double length=-1.0) -> Static_Magnetic_FieldMap
1379
+ __init__(Static_Magnetic_FieldMap self, Mesh3d const & Bx, Mesh3d const & By, Mesh3d const & Bz, double x0, double y0, double hx, double hy, double hz, double length=-1.0, double quality=1.0) -> Static_Magnetic_FieldMap
1380
+
1381
+ Static magnetic field on a regular three-dimensional mesh, provided as vector potential
1382
+ [T.m] or magnetic-field components [T]. Geometry arguments are in metres.
1383
+
1384
+
1385
+ """
1386
+ _RF_Track.Static_Magnetic_FieldMap_swiginit(self, _RF_Track.new_Static_Magnetic_FieldMap(*args))
1387
+ __swig_destroy__ = _RF_Track.delete_Static_Magnetic_FieldMap
1388
+ get_hx = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_hx)
1389
+ get_hy = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_hy)
1390
+ get_hz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_hz)
1391
+ get_nx = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_nx)
1392
+ get_ny = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_ny)
1393
+ get_nz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_nz)
1394
+ get_x0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_x0)
1395
+ get_y0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_y0)
1396
+ get_z0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_z0)
1397
+ get_x1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_x1)
1398
+ get_y1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_y1)
1399
+ get_z1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_z1)
1400
+ set_hx = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_set_hx)
1401
+ set_hy = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_set_hy)
1402
+ set_hz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_set_hz)
1403
+ set_x0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_set_x0)
1404
+ set_y0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_set_y0)
1405
+ set_z0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_set_z0)
1406
+ set_z1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_set_z1)
1407
+ set_Bx_By_Bz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_set_Bx_By_Bz)
1408
+ get_Ax = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_Ax)
1409
+ get_Ay = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_Ay)
1410
+ get_Az = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_Az)
1411
+ get_PhiM = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_PhiM)
1412
+ get_divB = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_get_divB)
1413
+
1414
+ # Register Static_Magnetic_FieldMap in _RF_Track:
1415
+ _RF_Track.Static_Magnetic_FieldMap_swigregister(Static_Magnetic_FieldMap)
1416
+ class Undulator(GenericField):
1417
+ r"""Proxy of C++ Undulator class."""
1418
+
1419
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1420
+ __repr__ = _swig_repr
1421
+
1422
+ def __init__(self, lperiod, K, nperiods, kx2=0.0):
1423
+ r"""__init__(Undulator self, double lperiod, double K, double nperiods, double kx2=0.0) -> Undulator"""
1424
+ _RF_Track.Undulator_swiginit(self, _RF_Track.new_Undulator(lperiod, K, nperiods, kx2))
1425
+ get_B = _swig_new_instance_method(_RF_Track.Undulator_get_B)
1426
+ set_B = _swig_new_instance_method(_RF_Track.Undulator_set_B)
1427
+ __swig_destroy__ = _RF_Track.delete_Undulator
1428
+
1429
+ # Register Undulator in _RF_Track:
1430
+ _RF_Track.Undulator_swigregister(Undulator)
1431
+ class Absorber(ConstantField):
1432
+ r"""
1433
+
1434
+ Material region with scattering, energy loss and straggling. Construct from length [m]
1435
+ and material name, or radiation length [cm], atomic Z, A [g/mol], density [g/cm^3] and
1436
+ mean excitation energy [eV].
1437
+
1438
+
1439
+ """
1440
+
1441
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1442
+ __repr__ = _swig_repr
1443
+
1444
+ def __init__(self, *args):
1445
+ r"""
1446
+ __init__(Absorber self, double length=0.0, double radiation_length=0.0, double Z=0.0, double A=0.0, double density=0.0, double mean_excitation_energy=-1.0) -> Absorber
1447
+ __init__(Absorber self, double length, std::string const & material_name) -> Absorber
1448
+
1449
+ Material region with scattering, energy loss and straggling. Construct from length [m]
1450
+ and material name, or radiation length [cm], atomic Z, A [g/mol], density [g/cm^3] and
1451
+ mean excitation energy [eV].
1452
+
1453
+
1454
+ """
1455
+ _RF_Track.Absorber_swiginit(self, _RF_Track.new_Absorber(*args))
1456
+ enable_log_term = _swig_new_instance_method(_RF_Track.Absorber_enable_log_term)
1457
+ disable_log_term = _swig_new_instance_method(_RF_Track.Absorber_disable_log_term)
1458
+ set_shape = _swig_new_instance_method(_RF_Track.Absorber_set_shape)
1459
+ get_shape = _swig_new_instance_method(_RF_Track.Absorber_get_shape)
1460
+ enable_multiple_coulomb_scattering = _swig_new_instance_method(_RF_Track.Absorber_enable_multiple_coulomb_scattering)
1461
+ enable_energy_straggling = _swig_new_instance_method(_RF_Track.Absorber_enable_energy_straggling)
1462
+ enable_stopping_power = _swig_new_instance_method(_RF_Track.Absorber_enable_stopping_power)
1463
+ enable_fruehwirth_model = _swig_new_instance_method(_RF_Track.Absorber_enable_fruehwirth_model)
1464
+ disable_fruehwirth_model = _swig_new_instance_method(_RF_Track.Absorber_disable_fruehwirth_model)
1465
+ enable_wentzel_model = _swig_new_instance_method(_RF_Track.Absorber_enable_wentzel_model)
1466
+ disable_wentzel_model = _swig_new_instance_method(_RF_Track.Absorber_disable_wentzel_model)
1467
+ disable_multiple_coulomb_scattering = _swig_new_instance_method(_RF_Track.Absorber_disable_multiple_coulomb_scattering)
1468
+ disable_energy_straggling = _swig_new_instance_method(_RF_Track.Absorber_disable_energy_straggling)
1469
+ disable_stopping_power = _swig_new_instance_method(_RF_Track.Absorber_disable_stopping_power)
1470
+ __swig_destroy__ = _RF_Track.delete_Absorber
1471
+
1472
+ # Register Absorber in _RF_Track:
1473
+ _RF_Track.Absorber_swigregister(Absorber)
1474
+ class Bpm(ConstantField):
1475
+ r"""
1476
+
1477
+ Beam position monitor. Constructor length is in m, spatial resolution in mm and time
1478
+ resolution in mm/c. Readings are collected during tracking.
1479
+
1480
+
1481
+ """
1482
+
1483
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1484
+ __repr__ = _swig_repr
1485
+
1486
+ def __init__(self, length=0.0, bpm_resolution=0.0, bpm_resolution_t=0.0):
1487
+ r"""
1488
+ __init__(Bpm self, double length=0.0, double const bpm_resolution=0.0, double const bpm_resolution_t=0.0) -> Bpm
1489
+
1490
+ Beam position monitor. Constructor length is in m, spatial resolution in mm and time
1491
+ resolution in mm/c. Readings are collected during tracking.
1492
+
1493
+
1494
+ """
1495
+ _RF_Track.Bpm_swiginit(self, _RF_Track.new_Bpm(length, bpm_resolution, bpm_resolution_t))
1496
+ get_reading = _swig_new_instance_method(_RF_Track.Bpm_get_reading)
1497
+ get_reading_t = _swig_new_instance_method(_RF_Track.Bpm_get_reading_t)
1498
+ set_resolution = _swig_new_instance_method(_RF_Track.Bpm_set_resolution)
1499
+ set_resolution_t = _swig_new_instance_method(_RF_Track.Bpm_set_resolution_t)
1500
+ set_scaling_factor = _swig_new_instance_method(_RF_Track.Bpm_set_scaling_factor)
1501
+ get_resolution = _swig_new_instance_method(_RF_Track.Bpm_get_resolution)
1502
+ get_resolution_t = _swig_new_instance_method(_RF_Track.Bpm_get_resolution_t)
1503
+ get_total_charge = _swig_new_instance_method(_RF_Track.Bpm_get_total_charge)
1504
+ __swig_destroy__ = _RF_Track.delete_Bpm
1505
+
1506
+ # Register Bpm in _RF_Track:
1507
+ _RF_Track.Bpm_swigregister(Bpm)
1508
+ class Drift(ConstantField):
1509
+ r"""
1510
+
1511
+ A drift space of length in metres, field-free by default. Inherited methods can add
1512
+ static electric or magnetic fields and collective effects.
1513
+
1514
+
1515
+ """
1516
+
1517
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1518
+ __repr__ = _swig_repr
1519
+
1520
+ def __init__(self, length=0.0):
1521
+ r"""
1522
+ __init__(Drift self, double length=0.0) -> Drift
1523
+
1524
+ A drift space of length in metres, field-free by default. Inherited methods can add
1525
+ static electric or magnetic fields and collective effects.
1526
+
1527
+
1528
+ """
1529
+ _RF_Track.Drift_swiginit(self, _RF_Track.new_Drift(length))
1530
+ __swig_destroy__ = _RF_Track.delete_Drift
1531
+
1532
+ # Register Drift in _RF_Track:
1533
+ _RF_Track.Drift_swigregister(Drift)
1534
+ class Corrector(Multipole):
1535
+ r"""
1536
+
1537
+ A steering magnet. Length is in m and horizontal/vertical integrated strengths Sx, Sy in
1538
+ T.mm. The rigidity-based overload takes P_over_Q in MV/c and kicks in mrad.
1539
+
1540
+
1541
+ """
1542
+
1543
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1544
+ __repr__ = _swig_repr
1545
+
1546
+ def __init__(self, *args):
1547
+ r"""
1548
+ __init__(Corrector self, double length=0.0, double Sx=0.0, double Sy=0.0) -> Corrector
1549
+ __init__(Corrector self, double length, double P_over_Q, double kxL, double kyL) -> Corrector
1550
+
1551
+ A steering magnet. Length is in m and horizontal/vertical integrated strengths Sx, Sy in
1552
+ T.mm. The rigidity-based overload takes P_over_Q in MV/c and kicks in mrad.
1553
+
1554
+
1555
+ """
1556
+ _RF_Track.Corrector_swiginit(self, _RF_Track.new_Corrector(*args))
1557
+ set_kick = _swig_new_instance_method(_RF_Track.Corrector_set_kick)
1558
+ set_strength = _swig_new_instance_method(_RF_Track.Corrector_set_strength)
1559
+ vary_strength = _swig_new_instance_method(_RF_Track.Corrector_vary_strength)
1560
+ get_kick = _swig_new_instance_method(_RF_Track.Corrector_get_kick)
1561
+ get_strength = _swig_new_instance_method(_RF_Track.Corrector_get_strength)
1562
+ __swig_destroy__ = _RF_Track.delete_Corrector
1563
+
1564
+ # Register Corrector in _RF_Track:
1565
+ _RF_Track.Corrector_swigregister(Corrector)
1566
+ class Screen(TimeDependent_Field):
1567
+ r"""
1568
+
1569
+ A zero-length diagnostic plane that records beam distributions crossing it. Retrieve
1570
+ recorded distributions from the enclosing Lattice or Volume.
1571
+
1572
+
1573
+ """
1574
+
1575
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1576
+ __repr__ = _swig_repr
1577
+
1578
+ def __init__(self):
1579
+ r"""
1580
+ __init__(Screen self) -> Screen
1581
+
1582
+ A zero-length diagnostic plane that records beam distributions crossing it. Retrieve
1583
+ recorded distributions from the enclosing Lattice or Volume.
1584
+
1585
+
1586
+ """
1587
+ _RF_Track.Screen_swiginit(self, _RF_Track.new_Screen())
1588
+ get_bunch = _swig_new_instance_method(_RF_Track.Screen_get_bunch)
1589
+ get_beam = _swig_new_instance_method(_RF_Track.Screen_get_beam)
1590
+ set_time_window = _swig_new_instance_method(_RF_Track.Screen_set_time_window)
1591
+ __swig_destroy__ = _RF_Track.delete_Screen
1592
+
1593
+ # Register Screen in _RF_Track:
1594
+ _RF_Track.Screen_swigregister(Screen)
1595
+ class RF_Field(TimeDependent_Field):
1596
+ r"""
1597
+
1598
+ Base interface for radiofrequency fields. Frequency is in Hz. set_phi uses radians and
1599
+ set_phid degrees; the phase offset is relative to the synchronized accelerating crest.
1600
+
1601
+
1602
+ """
1603
+
1604
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1605
+
1606
+ def __init__(self, *args, **kwargs):
1607
+ raise AttributeError("No constructor defined")
1608
+ __repr__ = _swig_repr
1609
+ set_P_map = _swig_new_instance_method(_RF_Track.RF_Field_set_P_map)
1610
+ set_P_actual = _swig_new_instance_method(_RF_Track.RF_Field_set_P_actual)
1611
+ get_phi = _swig_new_instance_method(_RF_Track.RF_Field_get_phi)
1612
+ get_phid = _swig_new_instance_method(_RF_Track.RF_Field_get_phid)
1613
+ get_period = _swig_new_instance_method(_RF_Track.RF_Field_get_period)
1614
+ set_phi = _swig_new_instance_method(_RF_Track.RF_Field_set_phi)
1615
+ set_phid = _swig_new_instance_method(_RF_Track.RF_Field_set_phid)
1616
+ get_frequency = _swig_new_instance_method(_RF_Track.RF_Field_get_frequency)
1617
+ set_frequency = _swig_new_instance_method(_RF_Track.RF_Field_set_frequency)
1618
+ get_field_abs = _swig_new_instance_method(_RF_Track.RF_Field_get_field_abs)
1619
+ get_field_complex = _swig_new_instance_method(_RF_Track.RF_Field_get_field_complex)
1620
+ __swig_destroy__ = _RF_Track.delete_RF_Field
1621
+
1622
+ # Register RF_Field in _RF_Track:
1623
+ _RF_Track.RF_Field_swigregister(RF_Field)
1624
+ class LaserBeam(TimeDependent_Field):
1625
+ r"""
1626
+
1627
+ A laser pulse for inverse Compton scattering. Configure the pulse properties and
1628
+ interaction geometry before tracking. See manual chapter 7 for photon collection and
1629
+ polarization conventions.
1630
+
1631
+
1632
+ """
1633
+
1634
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1635
+ __repr__ = _swig_repr
1636
+ tLaser_IP = property(_RF_Track.LaserBeam_tLaser_IP_get, _RF_Track.LaserBeam_tLaser_IP_set, doc=r"""tLaser_IP : double""")
1637
+ length = property(_RF_Track.LaserBeam_length_get, _RF_Track.LaserBeam_length_set, doc=r"""length : double""")
1638
+ pulse_energy = property(_RF_Track.LaserBeam_pulse_energy_get, _RF_Track.LaserBeam_pulse_energy_set, doc=r"""pulse_energy : double""")
1639
+ pulse_length = property(_RF_Track.LaserBeam_pulse_length_get, _RF_Track.LaserBeam_pulse_length_set, doc=r"""pulse_length : double""")
1640
+ wavelength = property(_RF_Track.LaserBeam_wavelength_get, _RF_Track.LaserBeam_wavelength_set, doc=r"""wavelength : double""")
1641
+ position = property(_RF_Track.LaserBeam_position_get, _RF_Track.LaserBeam_position_set, doc=r"""position : StaticVector<(3)>""")
1642
+ direction = property(_RF_Track.LaserBeam_direction_get, _RF_Track.LaserBeam_direction_set, doc=r"""direction : StaticVector<(3)>""")
1643
+ Rx = property(_RF_Track.LaserBeam_Rx_get, _RF_Track.LaserBeam_Rx_set, doc=r"""Rx : double""")
1644
+ Ry = property(_RF_Track.LaserBeam_Ry_get, _RF_Track.LaserBeam_Ry_set, doc=r"""Ry : double""")
1645
+ R = property(_RF_Track.LaserBeam_R_get, _RF_Track.LaserBeam_R_set, doc=r"""R : double""")
1646
+ M2x = property(_RF_Track.LaserBeam_M2x_get, _RF_Track.LaserBeam_M2x_set, doc=r"""M2x : double""")
1647
+ M2y = property(_RF_Track.LaserBeam_M2y_get, _RF_Track.LaserBeam_M2y_set, doc=r"""M2y : double""")
1648
+ M2 = property(_RF_Track.LaserBeam_M2_get, _RF_Track.LaserBeam_M2_set, doc=r"""M2 : double""")
1649
+ P = property(_RF_Track.LaserBeam_P_get, _RF_Track.LaserBeam_P_set, doc=r"""P : double""")
1650
+ lambda_e = property(_RF_Track.LaserBeam_lambda_e_get, _RF_Track.LaserBeam_lambda_e_set, doc=r"""lambda_e : double""")
1651
+ rep_frequency = property(_RF_Track.LaserBeam_rep_frequency_get, _RF_Track.LaserBeam_rep_frequency_set, doc=r"""rep_frequency : double""")
1652
+ number_of_pulses = property(_RF_Track.LaserBeam_number_of_pulses_get, _RF_Track.LaserBeam_number_of_pulses_set, doc=r"""number_of_pulses : size_t""")
1653
+ min_number_of_gammas_per_slice = property(_RF_Track.LaserBeam_min_number_of_gammas_per_slice_get, _RF_Track.LaserBeam_min_number_of_gammas_per_slice_set, doc=r"""min_number_of_gammas_per_slice : size_t""")
1654
+ Nmin = property(_RF_Track.LaserBeam_Nmin_get, _RF_Track.LaserBeam_Nmin_set, doc=r"""Nmin : double""")
1655
+ check_R = _swig_new_instance_method(_RF_Track.LaserBeam_check_R)
1656
+ check_M2 = _swig_new_instance_method(_RF_Track.LaserBeam_check_M2)
1657
+
1658
+ def __init__(self, length=0.0):
1659
+ r"""
1660
+ __init__(LaserBeam self, double length=0.0) -> LaserBeam
1661
+
1662
+ A laser pulse for inverse Compton scattering. Configure the pulse properties and
1663
+ interaction geometry before tracking. See manual chapter 7 for photon collection and
1664
+ polarization conventions.
1665
+
1666
+
1667
+ """
1668
+ _RF_Track.LaserBeam_swiginit(self, _RF_Track.new_LaserBeam(length))
1669
+ get_M2 = _swig_new_instance_method(_RF_Track.LaserBeam_get_M2)
1670
+ get_M2x = _swig_new_instance_method(_RF_Track.LaserBeam_get_M2x)
1671
+ get_M2y = _swig_new_instance_method(_RF_Track.LaserBeam_get_M2y)
1672
+ get_zR = _swig_new_instance_method(_RF_Track.LaserBeam_get_zR)
1673
+ get_zRx = _swig_new_instance_method(_RF_Track.LaserBeam_get_zRx)
1674
+ get_zRy = _swig_new_instance_method(_RF_Track.LaserBeam_get_zRy)
1675
+ get_direction = _swig_new_instance_method(_RF_Track.LaserBeam_get_direction)
1676
+ get_position = _swig_new_instance_method(_RF_Track.LaserBeam_get_position)
1677
+ set_direction = _swig_new_instance_method(_RF_Track.LaserBeam_set_direction)
1678
+ set_position = _swig_new_instance_method(_RF_Track.LaserBeam_set_position)
1679
+ set_M2 = _swig_new_instance_method(_RF_Track.LaserBeam_set_M2)
1680
+ set_M2x = _swig_new_instance_method(_RF_Track.LaserBeam_set_M2x)
1681
+ set_M2y = _swig_new_instance_method(_RF_Track.LaserBeam_set_M2y)
1682
+ set_zR = _swig_new_instance_method(_RF_Track.LaserBeam_set_zR)
1683
+ set_zRx = _swig_new_instance_method(_RF_Track.LaserBeam_set_zRx)
1684
+ set_zRy = _swig_new_instance_method(_RF_Track.LaserBeam_set_zRy)
1685
+ __swig_destroy__ = _RF_Track.delete_LaserBeam
1686
+
1687
+ # Register LaserBeam in _RF_Track:
1688
+ _RF_Track.LaserBeam_swigregister(LaserBeam)
1689
+ class Pillbox_Cavity(RF_Field):
1690
+ r"""
1691
+
1692
+ Analytic pillbox RF cavity represented by mode coefficients. Frequency is in Hz and cell
1693
+ length in metres. Inherits RF phase and timing controls.
1694
+
1695
+
1696
+ """
1697
+
1698
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1699
+ __repr__ = _swig_repr
1700
+
1701
+ def __init__(self, *args):
1702
+ r"""
1703
+ __init__(Pillbox_Cavity self, MatrixNd const & coeffs_, double frequency, double cell_length, double number_of_cells) -> Pillbox_Cavity
1704
+ __init__(Pillbox_Cavity self) -> Pillbox_Cavity
1705
+
1706
+ Analytic pillbox RF cavity represented by mode coefficients. Frequency is in Hz and cell
1707
+ length in metres. Inherits RF phase and timing controls.
1708
+
1709
+
1710
+ """
1711
+ _RF_Track.Pillbox_Cavity_swiginit(self, _RF_Track.new_Pillbox_Cavity(*args))
1712
+ get_cell_length = _swig_new_instance_method(_RF_Track.Pillbox_Cavity_get_cell_length)
1713
+ get_z0 = _swig_new_instance_method(_RF_Track.Pillbox_Cavity_get_z0)
1714
+ get_z1 = _swig_new_instance_method(_RF_Track.Pillbox_Cavity_get_z1)
1715
+ get_coefficients = _swig_new_instance_method(_RF_Track.Pillbox_Cavity_get_coefficients)
1716
+ set_coefficients = _swig_new_instance_method(_RF_Track.Pillbox_Cavity_set_coefficients)
1717
+ set_z0 = _swig_new_instance_method(_RF_Track.Pillbox_Cavity_set_z0)
1718
+ set_z1 = _swig_new_instance_method(_RF_Track.Pillbox_Cavity_set_z1)
1719
+ set_cell_length = _swig_new_instance_method(_RF_Track.Pillbox_Cavity_set_cell_length)
1720
+ __swig_destroy__ = _RF_Track.delete_Pillbox_Cavity
1721
+
1722
+ # Register Pillbox_Cavity in _RF_Track:
1723
+ _RF_Track.Pillbox_Cavity_swigregister(Pillbox_Cavity)
1724
+ class SW_Structure(RF_Field):
1725
+ r"""
1726
+
1727
+ Analytic standing-wave accelerating structure. Fourier coefficients are in V/m,
1728
+ frequency in Hz and cell_length in m; number_of_cells can be nonintegral. Phase and
1729
+ timing are controlled by inherited RF_Field methods.
1730
+
1731
+
1732
+ """
1733
+
1734
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1735
+ __repr__ = _swig_repr
1736
+
1737
+ def __init__(self, *args):
1738
+ r"""
1739
+ __init__(SW_Structure self, std::vector< double > const & coeffs_, double frequency, double cell_length, double number_of_cells) -> SW_Structure
1740
+ __init__(SW_Structure self, double coeffs_, double frequency, double cell_length, double number_of_cells) -> SW_Structure
1741
+ __init__(SW_Structure self) -> SW_Structure
1742
+
1743
+ Analytic standing-wave accelerating structure. Fourier coefficients are in V/m,
1744
+ frequency in Hz and cell_length in m; number_of_cells can be nonintegral. Phase and
1745
+ timing are controlled by inherited RF_Field methods.
1746
+
1747
+
1748
+ """
1749
+ _RF_Track.SW_Structure_swiginit(self, _RF_Track.new_SW_Structure(*args))
1750
+ get_cell_length = _swig_new_instance_method(_RF_Track.SW_Structure_get_cell_length)
1751
+ get_z0 = _swig_new_instance_method(_RF_Track.SW_Structure_get_z0)
1752
+ get_z1 = _swig_new_instance_method(_RF_Track.SW_Structure_get_z1)
1753
+ get_coefficients = _swig_new_instance_method(_RF_Track.SW_Structure_get_coefficients)
1754
+ set_coefficients = _swig_new_instance_method(_RF_Track.SW_Structure_set_coefficients)
1755
+ set_z0 = _swig_new_instance_method(_RF_Track.SW_Structure_set_z0)
1756
+ set_z1 = _swig_new_instance_method(_RF_Track.SW_Structure_set_z1)
1757
+ set_cell_length = _swig_new_instance_method(_RF_Track.SW_Structure_set_cell_length)
1758
+ __swig_destroy__ = _RF_Track.delete_SW_Structure
1759
+
1760
+ # Register SW_Structure in _RF_Track:
1761
+ _RF_Track.SW_Structure_swigregister(SW_Structure)
1762
+ class TW_Structure(RF_Field):
1763
+ r"""
1764
+
1765
+ Analytic travelling-wave accelerating structure described by spatial Fourier
1766
+ coefficients. Field coefficients are in V/m, frequency in Hz and cell length in metres.
1767
+ Consult the constructor signature for phase advance and cell count.
1768
+
1769
+
1770
+ """
1771
+
1772
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1773
+ __repr__ = _swig_repr
1774
+
1775
+ def __init__(self, *args):
1776
+ r"""
1777
+ __init__(TW_Structure self, std::vector< double > const & coeffs_, int first_suffix, double frequency, double phase_advance, double number_of_cells) -> TW_Structure
1778
+ __init__(TW_Structure self, double coeffs_, int first_suffix, double frequency, double phase_advance, double number_of_cells) -> TW_Structure
1779
+ __init__(TW_Structure self) -> TW_Structure
1780
+
1781
+ Analytic travelling-wave accelerating structure described by spatial Fourier
1782
+ coefficients. Field coefficients are in V/m, frequency in Hz and cell length in metres.
1783
+ Consult the constructor signature for phase advance and cell count.
1784
+
1785
+
1786
+ """
1787
+ _RF_Track.TW_Structure_swiginit(self, _RF_Track.new_TW_Structure(*args))
1788
+ get_cell_length = _swig_new_instance_method(_RF_Track.TW_Structure_get_cell_length)
1789
+ get_z0 = _swig_new_instance_method(_RF_Track.TW_Structure_get_z0)
1790
+ get_z1 = _swig_new_instance_method(_RF_Track.TW_Structure_get_z1)
1791
+ get_coefficients = _swig_new_instance_method(_RF_Track.TW_Structure_get_coefficients)
1792
+ set_coefficients = _swig_new_instance_method(_RF_Track.TW_Structure_set_coefficients)
1793
+ set_z0 = _swig_new_instance_method(_RF_Track.TW_Structure_set_z0)
1794
+ set_z1 = _swig_new_instance_method(_RF_Track.TW_Structure_set_z1)
1795
+ __swig_destroy__ = _RF_Track.delete_TW_Structure
1796
+
1797
+ # Register TW_Structure in _RF_Track:
1798
+ _RF_Track.TW_Structure_swigregister(TW_Structure)
1799
+ class TM_mnp(RF_Field):
1800
+ r"""Proxy of C++ TM_mnp class."""
1801
+
1802
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1803
+ __repr__ = _swig_repr
1804
+ get_field_complex_analytic = _swig_new_instance_method(_RF_Track.TM_mnp_get_field_complex_analytic)
1805
+
1806
+ def __init__(self, a_mnp, first_m, first_p, frequency, phase_advance, number_of_cells, radius, cell_length=-1.0, nx=41, ny=41, nz=0):
1807
+ r"""__init__(TM_mnp self, ComplexMesh3d const & a_mnp, int first_m, int first_p, double frequency, double phase_advance, double number_of_cells, double radius, double cell_length=-1.0, size_t nx=41, size_t ny=41, size_t nz=0) -> TM_mnp"""
1808
+ _RF_Track.TM_mnp_swiginit(self, _RF_Track.new_TM_mnp(a_mnp, first_m, first_p, frequency, phase_advance, number_of_cells, radius, cell_length, nx, ny, nz))
1809
+ get_coefficients = _swig_new_instance_method(_RF_Track.TM_mnp_get_coefficients)
1810
+ get_first_m = _swig_new_instance_method(_RF_Track.TM_mnp_get_first_m)
1811
+ get_first_p = _swig_new_instance_method(_RF_Track.TM_mnp_get_first_p)
1812
+ get_cell_length = _swig_new_instance_method(_RF_Track.TM_mnp_get_cell_length)
1813
+ get_phase_advance = _swig_new_instance_method(_RF_Track.TM_mnp_get_phase_advance)
1814
+ get_number_of_cells = _swig_new_instance_method(_RF_Track.TM_mnp_get_number_of_cells)
1815
+ get_radius = _swig_new_instance_method(_RF_Track.TM_mnp_get_radius)
1816
+ get_nx = _swig_new_instance_method(_RF_Track.TM_mnp_get_nx)
1817
+ get_ny = _swig_new_instance_method(_RF_Track.TM_mnp_get_ny)
1818
+ get_nz = _swig_new_instance_method(_RF_Track.TM_mnp_get_nz)
1819
+ get_hx = _swig_new_instance_method(_RF_Track.TM_mnp_get_hx)
1820
+ get_hy = _swig_new_instance_method(_RF_Track.TM_mnp_get_hy)
1821
+ get_hz = _swig_new_instance_method(_RF_Track.TM_mnp_get_hz)
1822
+ set_coefficients = _swig_new_instance_method(_RF_Track.TM_mnp_set_coefficients)
1823
+ set_cell_length = _swig_new_instance_method(_RF_Track.TM_mnp_set_cell_length)
1824
+ set_phase_advance = _swig_new_instance_method(_RF_Track.TM_mnp_set_phase_advance)
1825
+ set_number_of_cells = _swig_new_instance_method(_RF_Track.TM_mnp_set_number_of_cells)
1826
+ set_radius = _swig_new_instance_method(_RF_Track.TM_mnp_set_radius)
1827
+ set_mesh_size = _swig_new_instance_method(_RF_Track.TM_mnp_set_mesh_size)
1828
+ __swig_destroy__ = _RF_Track.delete_TM_mnp
1829
+
1830
+ # Register TM_mnp in _RF_Track:
1831
+ _RF_Track.TM_mnp_swigregister(TM_mnp)
1832
+ class TE_mnp(RF_Field):
1833
+ r"""Proxy of C++ TE_mnp class."""
1834
+
1835
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1836
+ __repr__ = _swig_repr
1837
+ get_field_complex_analytic = _swig_new_instance_method(_RF_Track.TE_mnp_get_field_complex_analytic)
1838
+
1839
+ def __init__(self, a_mnp, first_m, first_p, frequency, phase_advance, number_of_cells, radius, cell_length=-1.0, nx=41, ny=41, nz=0):
1840
+ r"""__init__(TE_mnp self, ComplexMesh3d const & a_mnp, int first_m, int first_p, double frequency, double phase_advance, double number_of_cells, double radius, double cell_length=-1.0, size_t nx=41, size_t ny=41, size_t nz=0) -> TE_mnp"""
1841
+ _RF_Track.TE_mnp_swiginit(self, _RF_Track.new_TE_mnp(a_mnp, first_m, first_p, frequency, phase_advance, number_of_cells, radius, cell_length, nx, ny, nz))
1842
+ get_coefficients = _swig_new_instance_method(_RF_Track.TE_mnp_get_coefficients)
1843
+ get_first_m = _swig_new_instance_method(_RF_Track.TE_mnp_get_first_m)
1844
+ get_first_p = _swig_new_instance_method(_RF_Track.TE_mnp_get_first_p)
1845
+ get_cell_length = _swig_new_instance_method(_RF_Track.TE_mnp_get_cell_length)
1846
+ get_phase_advance = _swig_new_instance_method(_RF_Track.TE_mnp_get_phase_advance)
1847
+ get_number_of_cells = _swig_new_instance_method(_RF_Track.TE_mnp_get_number_of_cells)
1848
+ get_radius = _swig_new_instance_method(_RF_Track.TE_mnp_get_radius)
1849
+ get_nx = _swig_new_instance_method(_RF_Track.TE_mnp_get_nx)
1850
+ get_ny = _swig_new_instance_method(_RF_Track.TE_mnp_get_ny)
1851
+ get_nz = _swig_new_instance_method(_RF_Track.TE_mnp_get_nz)
1852
+ get_hx = _swig_new_instance_method(_RF_Track.TE_mnp_get_hx)
1853
+ get_hy = _swig_new_instance_method(_RF_Track.TE_mnp_get_hy)
1854
+ get_hz = _swig_new_instance_method(_RF_Track.TE_mnp_get_hz)
1855
+ set_coefficients = _swig_new_instance_method(_RF_Track.TE_mnp_set_coefficients)
1856
+ set_cell_length = _swig_new_instance_method(_RF_Track.TE_mnp_set_cell_length)
1857
+ set_phase_advance = _swig_new_instance_method(_RF_Track.TE_mnp_set_phase_advance)
1858
+ set_number_of_cells = _swig_new_instance_method(_RF_Track.TE_mnp_set_number_of_cells)
1859
+ set_radius = _swig_new_instance_method(_RF_Track.TE_mnp_set_radius)
1860
+ set_mesh_size = _swig_new_instance_method(_RF_Track.TE_mnp_set_mesh_size)
1861
+ __swig_destroy__ = _RF_Track.delete_TE_mnp
1862
+
1863
+ # Register TE_mnp in _RF_Track:
1864
+ _RF_Track.TE_mnp_swigregister(TE_mnp)
1865
+ class RF_FieldMap_1d_CINT(RF_Field):
1866
+ r"""
1867
+
1868
+ RF field reconstructed from a regular on-axis Ez map in V/m, using cylindrical symmetry
1869
+ and Maxwell equations. hz and length are in m; length=-1 uses the map length. Frequency
1870
+ is in Hz, direction is +1/-1 for travelling fields or 0 for static fields, and
1871
+ P_map/P_actual are in W. The default exported class uses linear interpolation; the _CINT
1872
+ variant uses cubic interpolation.
1873
+
1874
+
1875
+ """
1876
+
1877
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1878
+ __repr__ = _swig_repr
1879
+
1880
+ def __init__(self, *args):
1881
+ r"""
1882
+ __init__(RF_FieldMap_1d_CINT self, ComplexMesh1d const & Ez, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_1d_CINT
1883
+ __init__(RF_FieldMap_1d_CINT self) -> RF_FieldMap_1d_CINT
1884
+
1885
+ RF field reconstructed from a regular on-axis Ez map in V/m, using cylindrical symmetry
1886
+ and Maxwell equations. hz and length are in m; length=-1 uses the map length. Frequency
1887
+ is in Hz, direction is +1/-1 for travelling fields or 0 for static fields, and
1888
+ P_map/P_actual are in W. The default exported class uses linear interpolation; the _CINT
1889
+ variant uses cubic interpolation.
1890
+
1891
+
1892
+ """
1893
+ _RF_Track.RF_FieldMap_1d_CINT_swiginit(self, _RF_Track.new_RF_FieldMap_1d_CINT(*args))
1894
+ get_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_get_hz)
1895
+ get_nz = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_get_nz)
1896
+ get_z0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_get_z0)
1897
+ get_z1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_get_z1)
1898
+ get_P_map = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_get_P_map)
1899
+ get_P_actual = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_get_P_actual)
1900
+ get_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_get_direction)
1901
+ get_Ez = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_get_Ez)
1902
+ set_smooth = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_set_smooth)
1903
+ set_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_set_hz)
1904
+ set_z0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_set_z0)
1905
+ set_z1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_set_z1)
1906
+ set_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_CINT_set_direction)
1907
+ __swig_destroy__ = _RF_Track.delete_RF_FieldMap_1d_CINT
1908
+
1909
+ # Register RF_FieldMap_1d_CINT in _RF_Track:
1910
+ _RF_Track.RF_FieldMap_1d_CINT_swigregister(RF_FieldMap_1d_CINT)
1911
+ class RF_FieldMap_1d(RF_Field):
1912
+ r"""
1913
+
1914
+
1915
+
1916
+ RF field reconstructed from a regular on-axis Ez map in V/m, using cylindrical symmetry
1917
+ and Maxwell equations. hz and length are in m; length=-1 uses the map length. Frequency
1918
+ is in Hz, direction is +1/-1 for travelling fields or 0 for static fields, and
1919
+ P_map/P_actual are in W. The default exported class uses linear interpolation; the _CINT
1920
+ variant uses cubic interpolation.
1921
+
1922
+
1923
+ """
1924
+
1925
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1926
+ __repr__ = _swig_repr
1927
+
1928
+ def __init__(self, *args):
1929
+ r"""
1930
+ __init__(RF_FieldMap_1d self, ComplexMesh1d const & Ez, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_1d
1931
+ __init__(RF_FieldMap_1d self) -> RF_FieldMap_1d
1932
+
1933
+ RF field reconstructed from a regular on-axis Ez map in V/m, using cylindrical symmetry
1934
+ and Maxwell equations. hz and length are in m; length=-1 uses the map length. Frequency
1935
+ is in Hz, direction is +1/-1 for travelling fields or 0 for static fields, and
1936
+ P_map/P_actual are in W. The default exported class uses linear interpolation; the _CINT
1937
+ variant uses cubic interpolation.
1938
+
1939
+
1940
+ """
1941
+ _RF_Track.RF_FieldMap_1d_swiginit(self, _RF_Track.new_RF_FieldMap_1d(*args))
1942
+ get_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_get_hz)
1943
+ get_nz = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_get_nz)
1944
+ get_z0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_get_z0)
1945
+ get_z1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_get_z1)
1946
+ get_P_map = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_get_P_map)
1947
+ get_P_actual = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_get_P_actual)
1948
+ get_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_get_direction)
1949
+ get_Ez = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_get_Ez)
1950
+ set_smooth = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_set_smooth)
1951
+ set_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_set_hz)
1952
+ set_z0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_set_z0)
1953
+ set_z1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_set_z1)
1954
+ set_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_1d_set_direction)
1955
+ __swig_destroy__ = _RF_Track.delete_RF_FieldMap_1d
1956
+
1957
+ # Register RF_FieldMap_1d in _RF_Track:
1958
+ _RF_Track.RF_FieldMap_1d_swigregister(RF_FieldMap_1d)
1959
+ class TW_Field(RF_FieldMap_1d_CINT):
1960
+ r"""
1961
+
1962
+ Travelling-wave RF field constructed from input power and longitudinal profiles of
1963
+ quality factor, shunt impedance over Q, and group velocity. Inherits RF field-map phase
1964
+ and power controls.
1965
+
1966
+
1967
+ """
1968
+
1969
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1970
+ __repr__ = _swig_repr
1971
+
1972
+ def __init__(self, *args):
1973
+ r"""
1974
+ __init__(TW_Field self, double P_in, Mesh1d const & QQ, Mesh1d const & R_Q, Mesh1d const & VG, double frequency, double phase_advance, double number_of_cells, double z0_L=0.0) -> TW_Field
1975
+ __init__(TW_Field self, Mesh1d const & Pinput, double dt_Pinput, double t_inj, Mesh1d const & QQ, Mesh1d const & R_Q, Mesh1d const & VG, double frequency, double phase_advance, double number_of_cells) -> TW_Field
1976
+ __init__(TW_Field self) -> TW_Field
1977
+
1978
+ Travelling-wave RF field constructed from input power and longitudinal profiles of
1979
+ quality factor, shunt impedance over Q, and group velocity. Inherits RF field-map phase
1980
+ and power controls.
1981
+
1982
+
1983
+ """
1984
+ _RF_Track.TW_Field_swiginit(self, _RF_Track.new_TW_Field(*args))
1985
+ __swig_destroy__ = _RF_Track.delete_TW_Field
1986
+
1987
+ # Register TW_Field in _RF_Track:
1988
+ _RF_Track.TW_Field_swigregister(TW_Field)
1989
+ class Particle(object):
1990
+ r"""
1991
+
1992
+ One macroparticle in the spatial tracking model: x,y [mm], xp,yp [mrad], t [mm/c], Pc
1993
+ [MeV/c], mass [MeV/c^2], Q [e] and population N. Usually accessed through Bunch6d.
1994
+
1995
+
1996
+ """
1997
+
1998
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1999
+ __repr__ = _swig_repr
2000
+ mass = property(_RF_Track.Particle_mass_get, _RF_Track.Particle_mass_set, doc=r"""mass : double""")
2001
+ Q = property(_RF_Track.Particle_Q_get, _RF_Track.Particle_Q_set, doc=r"""Q : double""")
2002
+ N = property(_RF_Track.Particle_N_get, _RF_Track.Particle_N_set, doc=r"""N : double""")
2003
+ x = property(_RF_Track.Particle_x_get, _RF_Track.Particle_x_set, doc=r"""x : double""")
2004
+ xp = property(_RF_Track.Particle_xp_get, _RF_Track.Particle_xp_set, doc=r"""xp : double""")
2005
+ y = property(_RF_Track.Particle_y_get, _RF_Track.Particle_y_set, doc=r"""y : double""")
2006
+ yp = property(_RF_Track.Particle_yp_get, _RF_Track.Particle_yp_set, doc=r"""yp : double""")
2007
+ t = property(_RF_Track.Particle_t_get, _RF_Track.Particle_t_set, doc=r"""t : double""")
2008
+ Pc = property(_RF_Track.Particle_Pc_get, _RF_Track.Particle_Pc_set, doc=r"""Pc : double""")
2009
+ S_lost = property(_RF_Track.Particle_S_lost_get, _RF_Track.Particle_S_lost_set, doc=r"""S_lost : double""")
2010
+ lifetime = property(_RF_Track.Particle_lifetime_get, _RF_Track.Particle_lifetime_set, doc=r"""lifetime : double""")
2011
+ Sx = property(_RF_Track.Particle_Sx_get, _RF_Track.Particle_Sx_set, doc=r"""Sx : double""")
2012
+ Sy = property(_RF_Track.Particle_Sy_get, _RF_Track.Particle_Sy_set, doc=r"""Sy : double""")
2013
+ Sz = property(_RF_Track.Particle_Sz_get, _RF_Track.Particle_Sz_set, doc=r"""Sz : double""")
2014
+ anomalous_magnetic_moment = property(_RF_Track.Particle_anomalous_magnetic_moment_get, _RF_Track.Particle_anomalous_magnetic_moment_set, doc=r"""anomalous_magnetic_moment : double""")
2015
+
2016
+ def __init__(self, *args):
2017
+ r"""
2018
+ __init__(Particle self) -> Particle
2019
+ __init__(Particle self, double x_, double xp_, double y_, double yp_, double t_, double Pc_) -> Particle
2020
+
2021
+ One macroparticle in the spatial tracking model: x,y [mm], xp,yp [mrad], t [mm/c], Pc
2022
+ [MeV/c], mass [MeV/c^2], Q [e] and population N. Usually accessed through Bunch6d.
2023
+
2024
+
2025
+ """
2026
+ _RF_Track.Particle_swiginit(self, _RF_Track.new_Particle(*args))
2027
+
2028
+ def __nonzero__(self):
2029
+ return _RF_Track.Particle_is_valid(self)
2030
+ __bool__ = __nonzero__
2031
+
2032
+
2033
+ lost_at = _swig_new_instance_method(_RF_Track.Particle_lost_at)
2034
+ get_Pc_sqr = _swig_new_instance_method(_RF_Track.Particle_get_Pc_sqr)
2035
+ get_Pc = _swig_new_instance_method(_RF_Track.Particle_get_Pc)
2036
+ get_total_energy_sqr = _swig_new_instance_method(_RF_Track.Particle_get_total_energy_sqr)
2037
+ get_total_energy = _swig_new_instance_method(_RF_Track.Particle_get_total_energy)
2038
+ get_kinetic_energy = _swig_new_instance_method(_RF_Track.Particle_get_kinetic_energy)
2039
+ get_delta_plus_1 = _swig_new_instance_method(_RF_Track.Particle_get_delta_plus_1)
2040
+ get_delta = _swig_new_instance_method(_RF_Track.Particle_get_delta)
2041
+ get_beta_sqr = _swig_new_instance_method(_RF_Track.Particle_get_beta_sqr)
2042
+ get_beta = _swig_new_instance_method(_RF_Track.Particle_get_beta)
2043
+ get_gamma_sqr = _swig_new_instance_method(_RF_Track.Particle_get_gamma_sqr)
2044
+ get_gamma = _swig_new_instance_method(_RF_Track.Particle_get_gamma)
2045
+ get_pt = _swig_new_instance_method(_RF_Track.Particle_get_pt)
2046
+ get_xp_yp_zp = _swig_new_instance_method(_RF_Track.Particle_get_xp_yp_zp)
2047
+ get_Vx_Vy_Vz = _swig_new_instance_method(_RF_Track.Particle_get_Vx_Vy_Vz)
2048
+ get_Px_Py_Pz = _swig_new_instance_method(_RF_Track.Particle_get_Px_Py_Pz)
2049
+ get_px_py_pz = _swig_new_instance_method(_RF_Track.Particle_get_px_py_pz)
2050
+ get_Sx_Sy_Sz = _swig_new_instance_method(_RF_Track.Particle_get_Sx_Sy_Sz)
2051
+ get_four_momentum = _swig_new_instance_method(_RF_Track.Particle_get_four_momentum)
2052
+ get_four_velocity = _swig_new_instance_method(_RF_Track.Particle_get_four_velocity)
2053
+ get_id = _swig_new_instance_method(_RF_Track.Particle_get_id)
2054
+ set_id = _swig_new_instance_method(_RF_Track.Particle_set_id)
2055
+ get_pdg_id = _swig_new_instance_method(_RF_Track.Particle_get_pdg_id)
2056
+ set_pdg_id = _swig_new_instance_method(_RF_Track.Particle_set_pdg_id)
2057
+ __swig_destroy__ = _RF_Track.delete_Particle
2058
+
2059
+ # Register Particle in _RF_Track:
2060
+ _RF_Track.Particle_swigregister(Particle)
2061
+ class ParticleT(object):
2062
+ r"""
2063
+
2064
+ One macroparticle in the time tracking model: X,Y,Z [mm], Px,Py,Pz [MeV/c], mass
2065
+ [MeV/c^2], Q [e] and population N. Creation time is in mm/c. Usually accessed through
2066
+ Bunch6dT.
2067
+
2068
+
2069
+ """
2070
+
2071
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2072
+ __repr__ = _swig_repr
2073
+ mass = property(_RF_Track.ParticleT_mass_get, _RF_Track.ParticleT_mass_set, doc=r"""mass : double""")
2074
+ Q = property(_RF_Track.ParticleT_Q_get, _RF_Track.ParticleT_Q_set, doc=r"""Q : double""")
2075
+ N = property(_RF_Track.ParticleT_N_get, _RF_Track.ParticleT_N_set, doc=r"""N : double""")
2076
+ X = property(_RF_Track.ParticleT_X_get, _RF_Track.ParticleT_X_set, doc=r"""X : double""")
2077
+ Px = property(_RF_Track.ParticleT_Px_get, _RF_Track.ParticleT_Px_set, doc=r"""Px : double""")
2078
+ Y = property(_RF_Track.ParticleT_Y_get, _RF_Track.ParticleT_Y_set, doc=r"""Y : double""")
2079
+ Py = property(_RF_Track.ParticleT_Py_get, _RF_Track.ParticleT_Py_set, doc=r"""Py : double""")
2080
+ Z = property(_RF_Track.ParticleT_Z_get, _RF_Track.ParticleT_Z_set, doc=r"""Z : double""")
2081
+ Pz = property(_RF_Track.ParticleT_Pz_get, _RF_Track.ParticleT_Pz_set, doc=r"""Pz : double""")
2082
+ t0 = property(_RF_Track.ParticleT_t0_get, _RF_Track.ParticleT_t0_set, doc=r"""t0 : double""")
2083
+ t1 = property(_RF_Track.ParticleT_t1_get, _RF_Track.ParticleT_t1_set, doc=r"""t1 : double""")
2084
+ t_lost = property(_RF_Track.ParticleT_t_lost_get, _RF_Track.ParticleT_t_lost_set, doc=r"""t_lost : double""")
2085
+ lifetime = property(_RF_Track.ParticleT_lifetime_get, _RF_Track.ParticleT_lifetime_set, doc=r"""lifetime : double""")
2086
+ Sx = property(_RF_Track.ParticleT_Sx_get, _RF_Track.ParticleT_Sx_set, doc=r"""Sx : double""")
2087
+ Sy = property(_RF_Track.ParticleT_Sy_get, _RF_Track.ParticleT_Sy_set, doc=r"""Sy : double""")
2088
+ Sz = property(_RF_Track.ParticleT_Sz_get, _RF_Track.ParticleT_Sz_set, doc=r"""Sz : double""")
2089
+ anomalous_magnetic_moment = property(_RF_Track.ParticleT_anomalous_magnetic_moment_get, _RF_Track.ParticleT_anomalous_magnetic_moment_set, doc=r"""anomalous_magnetic_moment : double""")
2090
+
2091
+ def __init__(self, *args):
2092
+ r"""
2093
+ __init__(ParticleT self) -> ParticleT
2094
+ __init__(ParticleT self, double X_, double xp_, double Y_, double yp_, double Z_, double Pc_) -> ParticleT
2095
+
2096
+ One macroparticle in the time tracking model: X,Y,Z [mm], Px,Py,Pz [MeV/c], mass
2097
+ [MeV/c^2], Q [e] and population N. Creation time is in mm/c. Usually accessed through
2098
+ Bunch6dT.
2099
+
2100
+
2101
+ """
2102
+ _RF_Track.ParticleT_swiginit(self, _RF_Track.new_ParticleT(*args))
2103
+
2104
+ def __nonzero__(self):
2105
+ return _RF_Track.ParticleT_is_valid(self)
2106
+ __bool__ = __nonzero__
2107
+
2108
+
2109
+ lost_at = _swig_new_instance_method(_RF_Track.ParticleT_lost_at)
2110
+ get_Pc_sqr = _swig_new_instance_method(_RF_Track.ParticleT_get_Pc_sqr)
2111
+ get_Pc = _swig_new_instance_method(_RF_Track.ParticleT_get_Pc)
2112
+ get_total_energy_sqr = _swig_new_instance_method(_RF_Track.ParticleT_get_total_energy_sqr)
2113
+ get_total_energy = _swig_new_instance_method(_RF_Track.ParticleT_get_total_energy)
2114
+ get_kinetic_energy = _swig_new_instance_method(_RF_Track.ParticleT_get_kinetic_energy)
2115
+ get_delta_plus_1 = _swig_new_instance_method(_RF_Track.ParticleT_get_delta_plus_1)
2116
+ get_delta = _swig_new_instance_method(_RF_Track.ParticleT_get_delta)
2117
+ get_beta_sqr = _swig_new_instance_method(_RF_Track.ParticleT_get_beta_sqr)
2118
+ get_beta = _swig_new_instance_method(_RF_Track.ParticleT_get_beta)
2119
+ get_gamma_sqr = _swig_new_instance_method(_RF_Track.ParticleT_get_gamma_sqr)
2120
+ get_gamma = _swig_new_instance_method(_RF_Track.ParticleT_get_gamma)
2121
+ get_pt = _swig_new_instance_method(_RF_Track.ParticleT_get_pt)
2122
+ get_xp_yp_zp = _swig_new_instance_method(_RF_Track.ParticleT_get_xp_yp_zp)
2123
+ get_Vx_Vy_Vz = _swig_new_instance_method(_RF_Track.ParticleT_get_Vx_Vy_Vz)
2124
+ get_Px_Py_Pz = _swig_new_instance_method(_RF_Track.ParticleT_get_Px_Py_Pz)
2125
+ get_px_py_pz = _swig_new_instance_method(_RF_Track.ParticleT_get_px_py_pz)
2126
+ get_Sx_Sy_Sz = _swig_new_instance_method(_RF_Track.ParticleT_get_Sx_Sy_Sz)
2127
+ get_four_momentum = _swig_new_instance_method(_RF_Track.ParticleT_get_four_momentum)
2128
+ get_four_velocity = _swig_new_instance_method(_RF_Track.ParticleT_get_four_velocity)
2129
+ get_id = _swig_new_instance_method(_RF_Track.ParticleT_get_id)
2130
+ set_id = _swig_new_instance_method(_RF_Track.ParticleT_set_id)
2131
+ get_pdg_id = _swig_new_instance_method(_RF_Track.ParticleT_get_pdg_id)
2132
+ set_pdg_id = _swig_new_instance_method(_RF_Track.ParticleT_set_pdg_id)
2133
+ __swig_destroy__ = _RF_Track.delete_ParticleT
2134
+
2135
+ # Register ParticleT in _RF_Track:
2136
+ _RF_Track.ParticleT_swigregister(ParticleT)
2137
+ class Bunch6dT(object):
2138
+ r"""
2139
+
2140
+ A bunch represented at a common time t, for Volume tracking.
2141
+
2142
+ Each phase-space matrix row is one macroparticle. The six standard columns
2143
+ are [X, Px, Y, Py, Z, Pz]: positions in mm and momenta in MeV/c.
2144
+ Extended rows add [mass, Q, N, T0] and optionally ID; T0 is the creation
2145
+ time in mm/c. Mass is in MeV/c^2, Q in units of e, and N is the number of
2146
+ real particles represented by that macroparticle. The common clock t is
2147
+ in mm/c. One mm/c is approximately 3.336 ps.
2148
+ Construct from (mass, population, charge, matrix), an extended matrix,
2149
+ Twiss parameters, Bunch6dT_Generator, Bunch6d, or a saved RF-Track file.
2150
+ The no-argument constructor creates an empty bunch. The conversion from
2151
+ Bunch6d reconstructs a simultaneous distribution; its optional S is in m.
2152
+ For Twiss generation, Pref is in MeV/c and sigma_cut=0 disables truncation.
2153
+
2154
+
2155
+ """
2156
+
2157
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2158
+ __repr__ = _swig_repr
2159
+ t = property(_RF_Track.Bunch6dT_t_get, _RF_Track.Bunch6dT_t_set, doc=r"""
2160
+ t : double
2161
+
2162
+ Common bunch time in mm/c.
2163
+
2164
+
2165
+ """)
2166
+
2167
+ def __init__(self, *args):
2168
+ r"""
2169
+ __init__(Bunch6dT self, size_t N=0) -> Bunch6dT
2170
+ __init__(Bunch6dT self, double mass, double population, double charge, MatrixNd const & X) -> Bunch6dT
2171
+ __init__(Bunch6dT self, double mass, double population, double charge, double Pref, Bunch6dT_twiss T, size_t N, double sigma_cut=0.0) -> Bunch6dT
2172
+ __init__(Bunch6dT self, MatrixNd const & X) -> Bunch6dT
2173
+ __init__(Bunch6dT self, Bunch6dT_Generator g, size_t Nparticles) -> Bunch6dT
2174
+ __init__(Bunch6dT self, Bunch6d b, double S=std::numeric_limits< double >::quiet_NaN(), bool backtracking=False) -> Bunch6dT
2175
+ __init__(Bunch6dT self, Bunch6d b, Frame f, bool backtrackng=False) -> Bunch6dT
2176
+ __init__(Bunch6dT self, std::string const & rft_filename) -> Bunch6dT
2177
+
2178
+ A bunch represented at a common time t, for Volume tracking.
2179
+
2180
+ Each phase-space matrix row is one macroparticle. The six standard columns
2181
+ are [X, Px, Y, Py, Z, Pz]: positions in mm and momenta in MeV/c.
2182
+ Extended rows add [mass, Q, N, T0] and optionally ID; T0 is the creation
2183
+ time in mm/c. Mass is in MeV/c^2, Q in units of e, and N is the number of
2184
+ real particles represented by that macroparticle. The common clock t is
2185
+ in mm/c. One mm/c is approximately 3.336 ps.
2186
+ Construct from (mass, population, charge, matrix), an extended matrix,
2187
+ Twiss parameters, Bunch6dT_Generator, Bunch6d, or a saved RF-Track file.
2188
+ The no-argument constructor creates an empty bunch. The conversion from
2189
+ Bunch6d reconstructs a simultaneous distribution; its optional S is in m.
2190
+ For Twiss generation, Pref is in MeV/c and sigma_cut=0 disables truncation.
2191
+
2192
+
2193
+ """
2194
+ _RF_Track.Bunch6dT_swiginit(self, _RF_Track.new_Bunch6dT(*args))
2195
+ resize = _swig_new_instance_method(_RF_Track.Bunch6dT_resize)
2196
+ clear = _swig_new_instance_method(_RF_Track.Bunch6dT_clear)
2197
+ size = _swig_new_instance_method(_RF_Track.Bunch6dT_size)
2198
+ displaced = _swig_new_instance_method(_RF_Track.Bunch6dT_displaced)
2199
+ append = _swig_new_instance_method(_RF_Track.Bunch6dT_append)
2200
+ set_lifetime = _swig_new_instance_method(_RF_Track.Bunch6dT_set_lifetime)
2201
+ set_polarization = _swig_new_instance_method(_RF_Track.Bunch6dT_set_polarization)
2202
+ coasting = _swig_new_instance_method(_RF_Track.Bunch6dT_coasting)
2203
+ set_coasting = _swig_new_instance_method(_RF_Track.Bunch6dT_set_coasting)
2204
+ get_info = _swig_new_instance_method(_RF_Track.Bunch6dT_get_info)
2205
+ set_phase_space = _swig_new_instance_method(_RF_Track.Bunch6dT_set_phase_space)
2206
+ get_particle = _swig_new_instance_method(_RF_Track.Bunch6dT_get_particle)
2207
+ get_S_min = _swig_new_instance_method(_RF_Track.Bunch6dT_get_S_min)
2208
+ get_S_max = _swig_new_instance_method(_RF_Track.Bunch6dT_get_S_max)
2209
+ get_S_mean = _swig_new_instance_method(_RF_Track.Bunch6dT_get_S_mean)
2210
+ get_t = _swig_new_instance_method(_RF_Track.Bunch6dT_get_t)
2211
+ get_average_particle = _swig_new_instance_method(_RF_Track.Bunch6dT_get_average_particle)
2212
+ get_reference_particle = _swig_new_instance_method(_RF_Track.Bunch6dT_get_reference_particle)
2213
+ get_bunch_temperature = _swig_new_instance_method(_RF_Track.Bunch6dT_get_bunch_temperature)
2214
+ get_phase_space = _swig_new_instance_method(_RF_Track.Bunch6dT_get_phase_space)
2215
+ get_population = _swig_new_instance_method(_RF_Track.Bunch6dT_get_population)
2216
+ get_ngood = _swig_new_instance_method(_RF_Track.Bunch6dT_get_ngood)
2217
+ get_nlost = _swig_new_instance_method(_RF_Track.Bunch6dT_get_nlost)
2218
+ get_total_charge = _swig_new_instance_method(_RF_Track.Bunch6dT_get_total_charge)
2219
+ apply_force = _swig_new_instance_method(_RF_Track.Bunch6dT_apply_force)
2220
+ kick = _swig_new_instance_method(_RF_Track.Bunch6dT_kick)
2221
+ drift = _swig_new_instance_method(_RF_Track.Bunch6dT_drift)
2222
+ load = _swig_new_instance_method(_RF_Track.Bunch6dT_load)
2223
+ save = _swig_new_instance_method(_RF_Track.Bunch6dT_save)
2224
+ save_as_dst_file = _swig_new_instance_method(_RF_Track.Bunch6dT_save_as_dst_file)
2225
+ save_as_sdds_file = _swig_new_instance_method(_RF_Track.Bunch6dT_save_as_sdds_file)
2226
+ __getitem__ = _swig_new_instance_method(_RF_Track.Bunch6dT___getitem__)
2227
+ __len__ = _swig_new_instance_method(_RF_Track.Bunch6dT___len__)
2228
+ __iter__ = _swig_new_instance_method(_RF_Track.Bunch6dT___iter__)
2229
+ __swig_destroy__ = _RF_Track.delete_Bunch6dT
2230
+
2231
+ # Register Bunch6dT in _RF_Track:
2232
+ _RF_Track.Bunch6dT_swigregister(Bunch6dT)
2233
+ class Bunch6d(object):
2234
+ r"""
2235
+
2236
+ A bunch represented at a common longitudinal position S, for Lattice tracking.
2237
+
2238
+ Construct from (mass, population, charge, X), an extended matrix X, Twiss
2239
+ parameters, a generator, or a saved RF-Track file. With no arguments the bunch
2240
+ is empty. Each matrix row is one macroparticle.
2241
+ The six standard columns are [x, xp, y, yp, t, Pc]: positions in mm, slopes
2242
+ in mrad, arrival time in mm/c, and total momentum in MeV/c.
2243
+ Extended rows add [mass, Q, N] and optionally ID; mass is in MeV/c^2,
2244
+ Q is single-particle charge in units of e, and N is macroparticle population.
2245
+ In the separate-species constructor, population is the total number of real
2246
+ particles, not the number of macroparticles. S is in metres.
2247
+ Twiss generation takes Pref in MeV/c and N macroparticles; sigma_cut=0
2248
+ means no truncation. See Bunch6d_twiss for the distribution parameters.
2249
+
2250
+ Python example:
2251
+ B = RF_Track.Bunch6d(RF_Track.electronmass, 1e6, -1,
2252
+ numpy.array([[0., 0., 0., 0., 0., 100.]]))
2253
+ X = B.get_phase_space("%x %xp %y %yp %t %Pc")
2254
+ Octave example (after loading RF_Track):
2255
+ B = Bunch6d(electronmass, 1e6, -1, [0 0 0 0 0 100]);
2256
+ X = B.get_phase_space('%x %xp %y %yp %t %Pc');
2257
+
2258
+
2259
+ """
2260
+
2261
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2262
+ __repr__ = _swig_repr
2263
+ S = property(_RF_Track.Bunch6d_S_get, _RF_Track.Bunch6d_S_set, doc=r"""
2264
+ S : double
2265
+
2266
+ Longitudinal bunch coordinate in metres.
2267
+
2268
+
2269
+ """)
2270
+
2271
+ def __init__(self, *args):
2272
+ r"""
2273
+ __init__(Bunch6d self, size_t N=0) -> Bunch6d
2274
+ __init__(Bunch6d self, double mass, double population, double charge, MatrixNd const & X) -> Bunch6d
2275
+ __init__(Bunch6d self, double mass, double population, double charge, double Pref, Bunch6d_twiss T, size_t N, double sigma_cut=0.0) -> Bunch6d
2276
+ __init__(Bunch6d self, MatrixNd const & X, double S_position=0.0) -> Bunch6d
2277
+ __init__(Bunch6d self, Bunch6dT_Generator g, size_t Nparticles) -> Bunch6d
2278
+ __init__(Bunch6d self, std::string const & rft_filename) -> Bunch6d
2279
+
2280
+ A bunch represented at a common longitudinal position S, for Lattice tracking.
2281
+
2282
+ Construct from (mass, population, charge, X), an extended matrix X, Twiss
2283
+ parameters, a generator, or a saved RF-Track file. With no arguments the bunch
2284
+ is empty. Each matrix row is one macroparticle.
2285
+ The six standard columns are [x, xp, y, yp, t, Pc]: positions in mm, slopes
2286
+ in mrad, arrival time in mm/c, and total momentum in MeV/c.
2287
+ Extended rows add [mass, Q, N] and optionally ID; mass is in MeV/c^2,
2288
+ Q is single-particle charge in units of e, and N is macroparticle population.
2289
+ In the separate-species constructor, population is the total number of real
2290
+ particles, not the number of macroparticles. S is in metres.
2291
+ Twiss generation takes Pref in MeV/c and N macroparticles; sigma_cut=0
2292
+ means no truncation. See Bunch6d_twiss for the distribution parameters.
2293
+
2294
+ Python example:
2295
+ B = RF_Track.Bunch6d(RF_Track.electronmass, 1e6, -1,
2296
+ numpy.array([[0., 0., 0., 0., 0., 100.]]))
2297
+ X = B.get_phase_space("%x %xp %y %yp %t %Pc")
2298
+ Octave example (after loading RF_Track):
2299
+ B = Bunch6d(electronmass, 1e6, -1, [0 0 0 0 0 100]);
2300
+ X = B.get_phase_space('%x %xp %y %yp %t %Pc');
2301
+
2302
+
2303
+ """
2304
+ _RF_Track.Bunch6d_swiginit(self, _RF_Track.new_Bunch6d(*args))
2305
+ resize = _swig_new_instance_method(_RF_Track.Bunch6d_resize)
2306
+ clear = _swig_new_instance_method(_RF_Track.Bunch6d_clear)
2307
+ size = _swig_new_instance_method(_RF_Track.Bunch6d_size)
2308
+ set_lifetime = _swig_new_instance_method(_RF_Track.Bunch6d_set_lifetime)
2309
+ set_polarization = _swig_new_instance_method(_RF_Track.Bunch6d_set_polarization)
2310
+ displaced = _swig_new_instance_method(_RF_Track.Bunch6d_displaced)
2311
+ append = _swig_new_instance_method(_RF_Track.Bunch6d_append)
2312
+ coasting = _swig_new_instance_method(_RF_Track.Bunch6d_coasting)
2313
+ set_coasting = _swig_new_instance_method(_RF_Track.Bunch6d_set_coasting)
2314
+ set_phase_space = _swig_new_instance_method(_RF_Track.Bunch6d_set_phase_space)
2315
+ set_S = _swig_new_instance_method(_RF_Track.Bunch6d_set_S)
2316
+ get_particle = _swig_new_instance_method(_RF_Track.Bunch6d_get_particle)
2317
+ get_t_mean = _swig_new_instance_method(_RF_Track.Bunch6d_get_t_mean)
2318
+ get_t_min = _swig_new_instance_method(_RF_Track.Bunch6d_get_t_min)
2319
+ get_t_max = _swig_new_instance_method(_RF_Track.Bunch6d_get_t_max)
2320
+ get_S = _swig_new_instance_method(_RF_Track.Bunch6d_get_S)
2321
+ get_average_particle = _swig_new_instance_method(_RF_Track.Bunch6d_get_average_particle)
2322
+ get_reference_particle = _swig_new_instance_method(_RF_Track.Bunch6d_get_reference_particle)
2323
+ get_bunch_temperature = _swig_new_instance_method(_RF_Track.Bunch6d_get_bunch_temperature)
2324
+ get_phase_space = _swig_new_instance_method(_RF_Track.Bunch6d_get_phase_space)
2325
+ get_population = _swig_new_instance_method(_RF_Track.Bunch6d_get_population)
2326
+ get_ngood = _swig_new_instance_method(_RF_Track.Bunch6d_get_ngood)
2327
+ get_nlost = _swig_new_instance_method(_RF_Track.Bunch6d_get_nlost)
2328
+ get_total_charge = _swig_new_instance_method(_RF_Track.Bunch6d_get_total_charge)
2329
+ get_info = _swig_new_instance_method(_RF_Track.Bunch6d_get_info)
2330
+ apply_force = _swig_new_instance_method(_RF_Track.Bunch6d_apply_force)
2331
+ kick = _swig_new_instance_method(_RF_Track.Bunch6d_kick)
2332
+ drift = _swig_new_instance_method(_RF_Track.Bunch6d_drift)
2333
+ load = _swig_new_instance_method(_RF_Track.Bunch6d_load)
2334
+ save = _swig_new_instance_method(_RF_Track.Bunch6d_save)
2335
+ save_as_dst_file = _swig_new_instance_method(_RF_Track.Bunch6d_save_as_dst_file)
2336
+ save_as_sdds_file = _swig_new_instance_method(_RF_Track.Bunch6d_save_as_sdds_file)
2337
+ __getitem__ = _swig_new_instance_method(_RF_Track.Bunch6d___getitem__)
2338
+ __len__ = _swig_new_instance_method(_RF_Track.Bunch6d___len__)
2339
+ __iter__ = _swig_new_instance_method(_RF_Track.Bunch6d___iter__)
2340
+ __swig_destroy__ = _RF_Track.delete_Bunch6d
2341
+
2342
+ # Register Bunch6d in _RF_Track:
2343
+ _RF_Track.Bunch6d_swigregister(Bunch6d)
2344
+ Bunch6d_QR = _RF_Track.Bunch6d_QR
2345
+ class Bunch6d_info(object):
2346
+ r"""
2347
+
2348
+ Bunch statistics returned by get_info(). Contains population, mean coordinates, RMS
2349
+ sizes, normalized emittances, Twiss parameters and correlations. Coordinate units follow
2350
+ the corresponding bunch model; normalized emittances are in mm.mrad.
2351
+
2352
+
2353
+ """
2354
+
2355
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2356
+ __repr__ = _swig_repr
2357
+ S = property(_RF_Track.Bunch6d_info_S_get, _RF_Track.Bunch6d_info_S_set, doc=r"""S : double""")
2358
+ mean_x = property(_RF_Track.Bunch6d_info_mean_x_get, _RF_Track.Bunch6d_info_mean_x_set, doc=r"""mean_x : double""")
2359
+ mean_y = property(_RF_Track.Bunch6d_info_mean_y_get, _RF_Track.Bunch6d_info_mean_y_set, doc=r"""mean_y : double""")
2360
+ mean_t = property(_RF_Track.Bunch6d_info_mean_t_get, _RF_Track.Bunch6d_info_mean_t_set, doc=r"""mean_t : double""")
2361
+ mean_xp = property(_RF_Track.Bunch6d_info_mean_xp_get, _RF_Track.Bunch6d_info_mean_xp_set, doc=r"""mean_xp : double""")
2362
+ mean_yp = property(_RF_Track.Bunch6d_info_mean_yp_get, _RF_Track.Bunch6d_info_mean_yp_set, doc=r"""mean_yp : double""")
2363
+ mean_Px = property(_RF_Track.Bunch6d_info_mean_Px_get, _RF_Track.Bunch6d_info_mean_Px_set, doc=r"""mean_Px : double""")
2364
+ mean_Py = property(_RF_Track.Bunch6d_info_mean_Py_get, _RF_Track.Bunch6d_info_mean_Py_set, doc=r"""mean_Py : double""")
2365
+ mean_Pz = property(_RF_Track.Bunch6d_info_mean_Pz_get, _RF_Track.Bunch6d_info_mean_Pz_set, doc=r"""mean_Pz : double""")
2366
+ mean_P = property(_RF_Track.Bunch6d_info_mean_P_get, _RF_Track.Bunch6d_info_mean_P_set, doc=r"""mean_P : double""")
2367
+ mean_K = property(_RF_Track.Bunch6d_info_mean_K_get, _RF_Track.Bunch6d_info_mean_K_set, doc=r"""mean_K : double""")
2368
+ mean_E = property(_RF_Track.Bunch6d_info_mean_E_get, _RF_Track.Bunch6d_info_mean_E_set, doc=r"""mean_E : double""")
2369
+ mean_Sx = property(_RF_Track.Bunch6d_info_mean_Sx_get, _RF_Track.Bunch6d_info_mean_Sx_set, doc=r"""mean_Sx : double""")
2370
+ mean_Sy = property(_RF_Track.Bunch6d_info_mean_Sy_get, _RF_Track.Bunch6d_info_mean_Sy_set, doc=r"""mean_Sy : double""")
2371
+ mean_Sz = property(_RF_Track.Bunch6d_info_mean_Sz_get, _RF_Track.Bunch6d_info_mean_Sz_set, doc=r"""mean_Sz : double""")
2372
+ sigma_x = property(_RF_Track.Bunch6d_info_sigma_x_get, _RF_Track.Bunch6d_info_sigma_x_set, doc=r"""sigma_x : double""")
2373
+ sigma_y = property(_RF_Track.Bunch6d_info_sigma_y_get, _RF_Track.Bunch6d_info_sigma_y_set, doc=r"""sigma_y : double""")
2374
+ sigma_t = property(_RF_Track.Bunch6d_info_sigma_t_get, _RF_Track.Bunch6d_info_sigma_t_set, doc=r"""sigma_t : double""")
2375
+ sigma_px = property(_RF_Track.Bunch6d_info_sigma_px_get, _RF_Track.Bunch6d_info_sigma_px_set, doc=r"""sigma_px : double""")
2376
+ sigma_py = property(_RF_Track.Bunch6d_info_sigma_py_get, _RF_Track.Bunch6d_info_sigma_py_set, doc=r"""sigma_py : double""")
2377
+ sigma_pt = property(_RF_Track.Bunch6d_info_sigma_pt_get, _RF_Track.Bunch6d_info_sigma_pt_set, doc=r"""sigma_pt : double""")
2378
+ sigma_E = property(_RF_Track.Bunch6d_info_sigma_E_get, _RF_Track.Bunch6d_info_sigma_E_set, doc=r"""sigma_E : double""")
2379
+ sigma_P = property(_RF_Track.Bunch6d_info_sigma_P_get, _RF_Track.Bunch6d_info_sigma_P_set, doc=r"""sigma_P : double""")
2380
+ emitt_x = property(_RF_Track.Bunch6d_info_emitt_x_get, _RF_Track.Bunch6d_info_emitt_x_set, doc=r"""emitt_x : double""")
2381
+ emitt_y = property(_RF_Track.Bunch6d_info_emitt_y_get, _RF_Track.Bunch6d_info_emitt_y_set, doc=r"""emitt_y : double""")
2382
+ emitt_z = property(_RF_Track.Bunch6d_info_emitt_z_get, _RF_Track.Bunch6d_info_emitt_z_set, doc=r"""emitt_z : double""")
2383
+ emitt_4d = property(_RF_Track.Bunch6d_info_emitt_4d_get, _RF_Track.Bunch6d_info_emitt_4d_set, doc=r"""emitt_4d : double""")
2384
+ emitt_6d = property(_RF_Track.Bunch6d_info_emitt_6d_get, _RF_Track.Bunch6d_info_emitt_6d_set, doc=r"""emitt_6d : double""")
2385
+ alpha_x = property(_RF_Track.Bunch6d_info_alpha_x_get, _RF_Track.Bunch6d_info_alpha_x_set, doc=r"""alpha_x : double""")
2386
+ alpha_y = property(_RF_Track.Bunch6d_info_alpha_y_get, _RF_Track.Bunch6d_info_alpha_y_set, doc=r"""alpha_y : double""")
2387
+ alpha_z = property(_RF_Track.Bunch6d_info_alpha_z_get, _RF_Track.Bunch6d_info_alpha_z_set, doc=r"""alpha_z : double""")
2388
+ beta_x = property(_RF_Track.Bunch6d_info_beta_x_get, _RF_Track.Bunch6d_info_beta_x_set, doc=r"""beta_x : double""")
2389
+ beta_y = property(_RF_Track.Bunch6d_info_beta_y_get, _RF_Track.Bunch6d_info_beta_y_set, doc=r"""beta_y : double""")
2390
+ beta_z = property(_RF_Track.Bunch6d_info_beta_z_get, _RF_Track.Bunch6d_info_beta_z_set, doc=r"""beta_z : double""")
2391
+ disp_x = property(_RF_Track.Bunch6d_info_disp_x_get, _RF_Track.Bunch6d_info_disp_x_set, doc=r"""disp_x : double""")
2392
+ disp_y = property(_RF_Track.Bunch6d_info_disp_y_get, _RF_Track.Bunch6d_info_disp_y_set, doc=r"""disp_y : double""")
2393
+ disp_z = property(_RF_Track.Bunch6d_info_disp_z_get, _RF_Track.Bunch6d_info_disp_z_set, doc=r"""disp_z : double""")
2394
+ disp_px = property(_RF_Track.Bunch6d_info_disp_px_get, _RF_Track.Bunch6d_info_disp_px_set, doc=r"""disp_px : double""")
2395
+ disp_py = property(_RF_Track.Bunch6d_info_disp_py_get, _RF_Track.Bunch6d_info_disp_py_set, doc=r"""disp_py : double""")
2396
+ rmax = property(_RF_Track.Bunch6d_info_rmax_get, _RF_Track.Bunch6d_info_rmax_set, doc=r"""rmax : double""")
2397
+ rmax90 = property(_RF_Track.Bunch6d_info_rmax90_get, _RF_Track.Bunch6d_info_rmax90_set, doc=r"""rmax90 : double""")
2398
+ rmax99 = property(_RF_Track.Bunch6d_info_rmax99_get, _RF_Track.Bunch6d_info_rmax99_set, doc=r"""rmax99 : double""")
2399
+ rmax99p9 = property(_RF_Track.Bunch6d_info_rmax99p9_get, _RF_Track.Bunch6d_info_rmax99p9_set, doc=r"""rmax99p9 : double""")
2400
+ xmax = property(_RF_Track.Bunch6d_info_xmax_get, _RF_Track.Bunch6d_info_xmax_set, doc=r"""xmax : double""")
2401
+ xmax90 = property(_RF_Track.Bunch6d_info_xmax90_get, _RF_Track.Bunch6d_info_xmax90_set, doc=r"""xmax90 : double""")
2402
+ xmax99 = property(_RF_Track.Bunch6d_info_xmax99_get, _RF_Track.Bunch6d_info_xmax99_set, doc=r"""xmax99 : double""")
2403
+ ymax = property(_RF_Track.Bunch6d_info_ymax_get, _RF_Track.Bunch6d_info_ymax_set, doc=r"""ymax : double""")
2404
+ ymax90 = property(_RF_Track.Bunch6d_info_ymax90_get, _RF_Track.Bunch6d_info_ymax90_set, doc=r"""ymax90 : double""")
2405
+ ymax99 = property(_RF_Track.Bunch6d_info_ymax99_get, _RF_Track.Bunch6d_info_ymax99_set, doc=r"""ymax99 : double""")
2406
+ transmission = property(_RF_Track.Bunch6d_info_transmission_get, _RF_Track.Bunch6d_info_transmission_set, doc=r"""transmission : double""")
2407
+ get_bunch_info = _swig_new_instance_method(_RF_Track.Bunch6d_info_get_bunch_info)
2408
+
2409
+ def __init__(self):
2410
+ r"""
2411
+ __init__(Bunch6d_info self) -> Bunch6d_info
2412
+
2413
+ Bunch statistics returned by get_info(). Contains population, mean coordinates, RMS
2414
+ sizes, normalized emittances, Twiss parameters and correlations. Coordinate units follow
2415
+ the corresponding bunch model; normalized emittances are in mm.mrad.
2416
+
2417
+
2418
+ """
2419
+ _RF_Track.Bunch6d_info_swiginit(self, _RF_Track.new_Bunch6d_info())
2420
+ __swig_destroy__ = _RF_Track.delete_Bunch6d_info
2421
+
2422
+ # Register Bunch6d_info in _RF_Track:
2423
+ _RF_Track.Bunch6d_info_swigregister(Bunch6d_info)
2424
+ class Bunch6dT_info(object):
2425
+ r"""
2426
+
2427
+ Bunch statistics returned by get_info(). Contains population, mean coordinates, RMS
2428
+ sizes, normalized emittances, Twiss parameters and correlations. Coordinate units follow
2429
+ the corresponding bunch model; normalized emittances are in mm.mrad.
2430
+
2431
+
2432
+ """
2433
+
2434
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2435
+ __repr__ = _swig_repr
2436
+ t = property(_RF_Track.Bunch6dT_info_t_get, _RF_Track.Bunch6dT_info_t_set, doc=r"""t : double""")
2437
+ mean_X = property(_RF_Track.Bunch6dT_info_mean_X_get, _RF_Track.Bunch6dT_info_mean_X_set, doc=r"""mean_X : double""")
2438
+ mean_Y = property(_RF_Track.Bunch6dT_info_mean_Y_get, _RF_Track.Bunch6dT_info_mean_Y_set, doc=r"""mean_Y : double""")
2439
+ mean_Z = property(_RF_Track.Bunch6dT_info_mean_Z_get, _RF_Track.Bunch6dT_info_mean_Z_set, doc=r"""mean_Z : double""")
2440
+ mean_Px = property(_RF_Track.Bunch6dT_info_mean_Px_get, _RF_Track.Bunch6dT_info_mean_Px_set, doc=r"""mean_Px : double""")
2441
+ mean_Py = property(_RF_Track.Bunch6dT_info_mean_Py_get, _RF_Track.Bunch6dT_info_mean_Py_set, doc=r"""mean_Py : double""")
2442
+ mean_Pz = property(_RF_Track.Bunch6dT_info_mean_Pz_get, _RF_Track.Bunch6dT_info_mean_Pz_set, doc=r"""mean_Pz : double""")
2443
+ mean_K = property(_RF_Track.Bunch6dT_info_mean_K_get, _RF_Track.Bunch6dT_info_mean_K_set, doc=r"""mean_K : double""")
2444
+ mean_E = property(_RF_Track.Bunch6dT_info_mean_E_get, _RF_Track.Bunch6dT_info_mean_E_set, doc=r"""mean_E : double""")
2445
+ mean_Sx = property(_RF_Track.Bunch6dT_info_mean_Sx_get, _RF_Track.Bunch6dT_info_mean_Sx_set, doc=r"""mean_Sx : double""")
2446
+ mean_Sy = property(_RF_Track.Bunch6dT_info_mean_Sy_get, _RF_Track.Bunch6dT_info_mean_Sy_set, doc=r"""mean_Sy : double""")
2447
+ mean_Sz = property(_RF_Track.Bunch6dT_info_mean_Sz_get, _RF_Track.Bunch6dT_info_mean_Sz_set, doc=r"""mean_Sz : double""")
2448
+ sigma_X = property(_RF_Track.Bunch6dT_info_sigma_X_get, _RF_Track.Bunch6dT_info_sigma_X_set, doc=r"""sigma_X : double""")
2449
+ sigma_Y = property(_RF_Track.Bunch6dT_info_sigma_Y_get, _RF_Track.Bunch6dT_info_sigma_Y_set, doc=r"""sigma_Y : double""")
2450
+ sigma_Z = property(_RF_Track.Bunch6dT_info_sigma_Z_get, _RF_Track.Bunch6dT_info_sigma_Z_set, doc=r"""sigma_Z : double""")
2451
+ sigma_Px = property(_RF_Track.Bunch6dT_info_sigma_Px_get, _RF_Track.Bunch6dT_info_sigma_Px_set, doc=r"""sigma_Px : double""")
2452
+ sigma_Py = property(_RF_Track.Bunch6dT_info_sigma_Py_get, _RF_Track.Bunch6dT_info_sigma_Py_set, doc=r"""sigma_Py : double""")
2453
+ sigma_Pz = property(_RF_Track.Bunch6dT_info_sigma_Pz_get, _RF_Track.Bunch6dT_info_sigma_Pz_set, doc=r"""sigma_Pz : double""")
2454
+ sigma_E = property(_RF_Track.Bunch6dT_info_sigma_E_get, _RF_Track.Bunch6dT_info_sigma_E_set, doc=r"""sigma_E : double""")
2455
+ emitt_x = property(_RF_Track.Bunch6dT_info_emitt_x_get, _RF_Track.Bunch6dT_info_emitt_x_set, doc=r"""emitt_x : double""")
2456
+ emitt_y = property(_RF_Track.Bunch6dT_info_emitt_y_get, _RF_Track.Bunch6dT_info_emitt_y_set, doc=r"""emitt_y : double""")
2457
+ emitt_z = property(_RF_Track.Bunch6dT_info_emitt_z_get, _RF_Track.Bunch6dT_info_emitt_z_set, doc=r"""emitt_z : double""")
2458
+ emitt_4d = property(_RF_Track.Bunch6dT_info_emitt_4d_get, _RF_Track.Bunch6dT_info_emitt_4d_set, doc=r"""emitt_4d : double""")
2459
+ emitt_6d = property(_RF_Track.Bunch6dT_info_emitt_6d_get, _RF_Track.Bunch6dT_info_emitt_6d_set, doc=r"""emitt_6d : double""")
2460
+ alpha_x = property(_RF_Track.Bunch6dT_info_alpha_x_get, _RF_Track.Bunch6dT_info_alpha_x_set, doc=r"""alpha_x : double""")
2461
+ alpha_y = property(_RF_Track.Bunch6dT_info_alpha_y_get, _RF_Track.Bunch6dT_info_alpha_y_set, doc=r"""alpha_y : double""")
2462
+ alpha_z = property(_RF_Track.Bunch6dT_info_alpha_z_get, _RF_Track.Bunch6dT_info_alpha_z_set, doc=r"""alpha_z : double""")
2463
+ beta_x = property(_RF_Track.Bunch6dT_info_beta_x_get, _RF_Track.Bunch6dT_info_beta_x_set, doc=r"""beta_x : double""")
2464
+ beta_y = property(_RF_Track.Bunch6dT_info_beta_y_get, _RF_Track.Bunch6dT_info_beta_y_set, doc=r"""beta_y : double""")
2465
+ beta_z = property(_RF_Track.Bunch6dT_info_beta_z_get, _RF_Track.Bunch6dT_info_beta_z_set, doc=r"""beta_z : double""")
2466
+ disp_x = property(_RF_Track.Bunch6dT_info_disp_x_get, _RF_Track.Bunch6dT_info_disp_x_set, doc=r"""disp_x : double""")
2467
+ disp_y = property(_RF_Track.Bunch6dT_info_disp_y_get, _RF_Track.Bunch6dT_info_disp_y_set, doc=r"""disp_y : double""")
2468
+ disp_z = property(_RF_Track.Bunch6dT_info_disp_z_get, _RF_Track.Bunch6dT_info_disp_z_set, doc=r"""disp_z : double""")
2469
+ disp_px = property(_RF_Track.Bunch6dT_info_disp_px_get, _RF_Track.Bunch6dT_info_disp_px_set, doc=r"""disp_px : double""")
2470
+ disp_py = property(_RF_Track.Bunch6dT_info_disp_py_get, _RF_Track.Bunch6dT_info_disp_py_set, doc=r"""disp_py : double""")
2471
+ rmax = property(_RF_Track.Bunch6dT_info_rmax_get, _RF_Track.Bunch6dT_info_rmax_set, doc=r"""rmax : double""")
2472
+ rmax90 = property(_RF_Track.Bunch6dT_info_rmax90_get, _RF_Track.Bunch6dT_info_rmax90_set, doc=r"""rmax90 : double""")
2473
+ rmax99 = property(_RF_Track.Bunch6dT_info_rmax99_get, _RF_Track.Bunch6dT_info_rmax99_set, doc=r"""rmax99 : double""")
2474
+ rmax99p9 = property(_RF_Track.Bunch6dT_info_rmax99p9_get, _RF_Track.Bunch6dT_info_rmax99p9_set, doc=r"""rmax99p9 : double""")
2475
+ xmax = property(_RF_Track.Bunch6dT_info_xmax_get, _RF_Track.Bunch6dT_info_xmax_set, doc=r"""xmax : double""")
2476
+ xmax90 = property(_RF_Track.Bunch6dT_info_xmax90_get, _RF_Track.Bunch6dT_info_xmax90_set, doc=r"""xmax90 : double""")
2477
+ xmax99 = property(_RF_Track.Bunch6dT_info_xmax99_get, _RF_Track.Bunch6dT_info_xmax99_set, doc=r"""xmax99 : double""")
2478
+ ymax = property(_RF_Track.Bunch6dT_info_ymax_get, _RF_Track.Bunch6dT_info_ymax_set, doc=r"""ymax : double""")
2479
+ ymax90 = property(_RF_Track.Bunch6dT_info_ymax90_get, _RF_Track.Bunch6dT_info_ymax90_set, doc=r"""ymax90 : double""")
2480
+ ymax99 = property(_RF_Track.Bunch6dT_info_ymax99_get, _RF_Track.Bunch6dT_info_ymax99_set, doc=r"""ymax99 : double""")
2481
+ transmission = property(_RF_Track.Bunch6dT_info_transmission_get, _RF_Track.Bunch6dT_info_transmission_set, doc=r"""transmission : double""")
2482
+ get_bunch_info = _swig_new_instance_method(_RF_Track.Bunch6dT_info_get_bunch_info)
2483
+
2484
+ def __init__(self):
2485
+ r"""
2486
+ __init__(Bunch6dT_info self) -> Bunch6dT_info
2487
+
2488
+ Bunch statistics returned by get_info(). Contains population, mean coordinates, RMS
2489
+ sizes, normalized emittances, Twiss parameters and correlations. Coordinate units follow
2490
+ the corresponding bunch model; normalized emittances are in mm.mrad.
2491
+
2492
+
2493
+ """
2494
+ _RF_Track.Bunch6dT_info_swiginit(self, _RF_Track.new_Bunch6dT_info())
2495
+ __swig_destroy__ = _RF_Track.delete_Bunch6dT_info
2496
+
2497
+ # Register Bunch6dT_info in _RF_Track:
2498
+ _RF_Track.Bunch6dT_info_swigregister(Bunch6dT_info)
2499
+ class Bunch6d_twiss(object):
2500
+ r"""
2501
+
2502
+ Twiss parameters for bunch generation. Normalized emittances are in mm.mrad; beta
2503
+ functions and spatial dispersions are in metres. See the individual fields for
2504
+ longitudinal conventions.
2505
+
2506
+
2507
+ """
2508
+
2509
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2510
+ __repr__ = _swig_repr
2511
+ emitt_x = property(_RF_Track.Bunch6d_twiss_emitt_x_get, _RF_Track.Bunch6d_twiss_emitt_x_set, doc=r"""
2512
+ emitt_x : double
2513
+
2514
+ Normalized x emittance in mm.mrad. Default: 0.
2515
+
2516
+
2517
+ """)
2518
+ emitt_y = property(_RF_Track.Bunch6d_twiss_emitt_y_get, _RF_Track.Bunch6d_twiss_emitt_y_set, doc=r"""
2519
+ emitt_y : double
2520
+
2521
+ Normalized y emittance in mm.mrad. Default: 0.
2522
+
2523
+
2524
+ """)
2525
+ emitt_z = property(_RF_Track.Bunch6d_twiss_emitt_z_get, _RF_Track.Bunch6d_twiss_emitt_z_set, doc=r"""
2526
+ emitt_z : double
2527
+
2528
+ Normalized z emittance in mm.mrad. Default: 0.
2529
+
2530
+
2531
+ """)
2532
+ alpha_x = property(_RF_Track.Bunch6d_twiss_alpha_x_get, _RF_Track.Bunch6d_twiss_alpha_x_set, doc=r"""
2533
+ alpha_x : double
2534
+
2535
+ Dimensionless Twiss alpha parameter. Default: 0.0.
2536
+
2537
+
2538
+ """)
2539
+ alpha_y = property(_RF_Track.Bunch6d_twiss_alpha_y_get, _RF_Track.Bunch6d_twiss_alpha_y_set, doc=r"""
2540
+ alpha_y : double
2541
+
2542
+ Dimensionless Twiss alpha parameter. Default: 0.0.
2543
+
2544
+
2545
+ """)
2546
+ alpha_z = property(_RF_Track.Bunch6d_twiss_alpha_z_get, _RF_Track.Bunch6d_twiss_alpha_z_set, doc=r"""
2547
+ alpha_z : double
2548
+
2549
+ Dimensionless Twiss alpha parameter. Default: 0.0.
2550
+
2551
+
2552
+ """)
2553
+ beta_x = property(_RF_Track.Bunch6d_twiss_beta_x_get, _RF_Track.Bunch6d_twiss_beta_x_set, doc=r"""
2554
+ beta_x : double
2555
+
2556
+ Twiss beta_x in metres. Default: 0.
2557
+
2558
+
2559
+ """)
2560
+ beta_y = property(_RF_Track.Bunch6d_twiss_beta_y_get, _RF_Track.Bunch6d_twiss_beta_y_set, doc=r"""
2561
+ beta_y : double
2562
+
2563
+ Twiss beta_y in metres. Default: 0.
2564
+
2565
+
2566
+ """)
2567
+ beta_z = property(_RF_Track.Bunch6d_twiss_beta_z_get, _RF_Track.Bunch6d_twiss_beta_z_set, doc=r"""
2568
+ beta_z : double
2569
+
2570
+ Twiss beta_z in metres. Default: 0.
2571
+
2572
+
2573
+ """)
2574
+ sigma_t = property(_RF_Track.Bunch6d_twiss_sigma_t_get, _RF_Track.Bunch6d_twiss_sigma_t_set, doc=r"""
2575
+ sigma_t : double
2576
+
2577
+ RMS arrival-time spread in mm/c. Default: 0.
2578
+
2579
+
2580
+ """)
2581
+ sigma_pt = property(_RF_Track.Bunch6d_twiss_sigma_pt_get, _RF_Track.Bunch6d_twiss_sigma_pt_set, doc=r"""
2582
+ sigma_pt : double
2583
+
2584
+ RMS relative energy coordinate (E-E0)/(P0*c), expressed in per mille. Default: 0.
2585
+
2586
+
2587
+ """)
2588
+ disp_x = property(_RF_Track.Bunch6d_twiss_disp_x_get, _RF_Track.Bunch6d_twiss_disp_x_set, doc=r"""
2589
+ disp_x : double
2590
+
2591
+ Spatial x dispersion in metres. Default: 0.
2592
+
2593
+
2594
+ """)
2595
+ disp_px = property(_RF_Track.Bunch6d_twiss_disp_px_get, _RF_Track.Bunch6d_twiss_disp_px_set, doc=r"""
2596
+ disp_px : double
2597
+
2598
+ Angular x dispersion in radians. Default: 0.
2599
+
2600
+
2601
+ """)
2602
+ disp_y = property(_RF_Track.Bunch6d_twiss_disp_y_get, _RF_Track.Bunch6d_twiss_disp_y_set, doc=r"""
2603
+ disp_y : double
2604
+
2605
+ Spatial y dispersion in metres. Default: 0.
2606
+
2607
+
2608
+ """)
2609
+ disp_py = property(_RF_Track.Bunch6d_twiss_disp_py_get, _RF_Track.Bunch6d_twiss_disp_py_set, doc=r"""
2610
+ disp_py : double
2611
+
2612
+ Angular y dispersion in radians. Default: 0.
2613
+
2614
+
2615
+ """)
2616
+ disp_z = property(_RF_Track.Bunch6d_twiss_disp_z_get, _RF_Track.Bunch6d_twiss_disp_z_set, doc=r"""
2617
+ disp_z : double
2618
+
2619
+ Spatial z dispersion in metres. Default: 0.
2620
+
2621
+
2622
+ """)
2623
+
2624
+ def __init__(self):
2625
+ r"""
2626
+ __init__(Bunch6d_twiss self) -> Bunch6d_twiss
2627
+
2628
+ Twiss parameters for bunch generation. Normalized emittances are in mm.mrad; beta
2629
+ functions and spatial dispersions are in metres. See the individual fields for
2630
+ longitudinal conventions.
2631
+
2632
+
2633
+ """
2634
+ _RF_Track.Bunch6d_twiss_swiginit(self, _RF_Track.new_Bunch6d_twiss())
2635
+ __swig_destroy__ = _RF_Track.delete_Bunch6d_twiss
2636
+
2637
+ # Register Bunch6d_twiss in _RF_Track:
2638
+ _RF_Track.Bunch6d_twiss_swigregister(Bunch6d_twiss)
2639
+ class Bunch6dT_twiss(object):
2640
+ r"""
2641
+
2642
+ Twiss parameters for bunch generation. Normalized emittances are in mm.mrad; beta
2643
+ functions and spatial dispersions are in metres. See the individual fields for
2644
+ longitudinal conventions.
2645
+
2646
+
2647
+ """
2648
+
2649
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2650
+ __repr__ = _swig_repr
2651
+ emitt_x = property(_RF_Track.Bunch6dT_twiss_emitt_x_get, _RF_Track.Bunch6dT_twiss_emitt_x_set, doc=r"""
2652
+ emitt_x : double
2653
+
2654
+ Normalized x emittance in mm.mrad. Default: 0.
2655
+
2656
+
2657
+ """)
2658
+ emitt_y = property(_RF_Track.Bunch6dT_twiss_emitt_y_get, _RF_Track.Bunch6dT_twiss_emitt_y_set, doc=r"""
2659
+ emitt_y : double
2660
+
2661
+ Normalized y emittance in mm.mrad. Default: 0.
2662
+
2663
+
2664
+ """)
2665
+ emitt_z = property(_RF_Track.Bunch6dT_twiss_emitt_z_get, _RF_Track.Bunch6dT_twiss_emitt_z_set, doc=r"""
2666
+ emitt_z : double
2667
+
2668
+ Normalized z emittance in mm.mrad. Default: 0.
2669
+
2670
+
2671
+ """)
2672
+ alpha_x = property(_RF_Track.Bunch6dT_twiss_alpha_x_get, _RF_Track.Bunch6dT_twiss_alpha_x_set, doc=r"""
2673
+ alpha_x : double
2674
+
2675
+ Dimensionless Twiss alpha parameter. Default: 0.0.
2676
+
2677
+
2678
+ """)
2679
+ alpha_y = property(_RF_Track.Bunch6dT_twiss_alpha_y_get, _RF_Track.Bunch6dT_twiss_alpha_y_set, doc=r"""
2680
+ alpha_y : double
2681
+
2682
+ Dimensionless Twiss alpha parameter. Default: 0.0.
2683
+
2684
+
2685
+ """)
2686
+ alpha_z = property(_RF_Track.Bunch6dT_twiss_alpha_z_get, _RF_Track.Bunch6dT_twiss_alpha_z_set, doc=r"""
2687
+ alpha_z : double
2688
+
2689
+ Dimensionless Twiss alpha parameter. Default: 0.0.
2690
+
2691
+
2692
+ """)
2693
+ beta_x = property(_RF_Track.Bunch6dT_twiss_beta_x_get, _RF_Track.Bunch6dT_twiss_beta_x_set, doc=r"""
2694
+ beta_x : double
2695
+
2696
+ Twiss beta_x in metres. Default: 0.
2697
+
2698
+
2699
+ """)
2700
+ beta_y = property(_RF_Track.Bunch6dT_twiss_beta_y_get, _RF_Track.Bunch6dT_twiss_beta_y_set, doc=r"""
2701
+ beta_y : double
2702
+
2703
+ Twiss beta_y in metres. Default: 0.
2704
+
2705
+
2706
+ """)
2707
+ beta_z = property(_RF_Track.Bunch6dT_twiss_beta_z_get, _RF_Track.Bunch6dT_twiss_beta_z_set, doc=r"""
2708
+ beta_z : double
2709
+
2710
+ Twiss beta_z in metres. Default: 0.
2711
+
2712
+
2713
+ """)
2714
+ sigma_z = property(_RF_Track.Bunch6dT_twiss_sigma_z_get, _RF_Track.Bunch6dT_twiss_sigma_z_set, doc=r"""
2715
+ sigma_z : double
2716
+
2717
+ RMS bunch length in mm. Default: 0.
2718
+
2719
+
2720
+ """)
2721
+ sigma_pz = property(_RF_Track.Bunch6dT_twiss_sigma_pz_get, _RF_Track.Bunch6dT_twiss_sigma_pz_set, doc=r"""
2722
+ sigma_pz : double
2723
+
2724
+ RMS relative longitudinal momentum spread (Pz-P0)/P0, expressed in per mille. Default:
2725
+ 0.
2726
+
2727
+
2728
+ """)
2729
+ disp_x = property(_RF_Track.Bunch6dT_twiss_disp_x_get, _RF_Track.Bunch6dT_twiss_disp_x_set, doc=r"""
2730
+ disp_x : double
2731
+
2732
+ Spatial x dispersion in metres. Default: 0.
2733
+
2734
+
2735
+ """)
2736
+ disp_px = property(_RF_Track.Bunch6dT_twiss_disp_px_get, _RF_Track.Bunch6dT_twiss_disp_px_set, doc=r"""
2737
+ disp_px : double
2738
+
2739
+ Angular x dispersion in radians. Default: 0.
2740
+
2741
+
2742
+ """)
2743
+ disp_y = property(_RF_Track.Bunch6dT_twiss_disp_y_get, _RF_Track.Bunch6dT_twiss_disp_y_set, doc=r"""
2744
+ disp_y : double
2745
+
2746
+ Spatial y dispersion in metres. Default: 0.
2747
+
2748
+
2749
+ """)
2750
+ disp_py = property(_RF_Track.Bunch6dT_twiss_disp_py_get, _RF_Track.Bunch6dT_twiss_disp_py_set, doc=r"""
2751
+ disp_py : double
2752
+
2753
+ Angular y dispersion in radians. Default: 0.
2754
+
2755
+
2756
+ """)
2757
+ disp_z = property(_RF_Track.Bunch6dT_twiss_disp_z_get, _RF_Track.Bunch6dT_twiss_disp_z_set, doc=r"""
2758
+ disp_z : double
2759
+
2760
+ Spatial z dispersion in metres. Default: 0.
2761
+
2762
+
2763
+ """)
2764
+
2765
+ def __init__(self):
2766
+ r"""
2767
+ __init__(Bunch6dT_twiss self) -> Bunch6dT_twiss
2768
+
2769
+ Twiss parameters for bunch generation. Normalized emittances are in mm.mrad; beta
2770
+ functions and spatial dispersions are in metres. See the individual fields for
2771
+ longitudinal conventions.
2772
+
2773
+
2774
+ """
2775
+ _RF_Track.Bunch6dT_twiss_swiginit(self, _RF_Track.new_Bunch6dT_twiss())
2776
+ __swig_destroy__ = _RF_Track.delete_Bunch6dT_twiss
2777
+
2778
+ # Register Bunch6dT_twiss in _RF_Track:
2779
+ _RF_Track.Bunch6dT_twiss_swigregister(Bunch6dT_twiss)
2780
+ class Bunch6dT_Generator(object):
2781
+ r"""
2782
+
2783
+ Distribution and photocathode-emission parameters for bunch generation.
2784
+ Pass this object and the requested macroparticle count to Bunch6dT.
2785
+ The generator uses mixed units: q_total [nC], ref_zpos [m], ref_clock [ns],
2786
+ ref_ekin [MeV], transverse sizes [mm], momentum spreads [keV/c] and emission
2787
+ times [ns]. These differ from the bunch storage units. cathode enables
2788
+ emission-time generation. See individual property help for units.
2789
+
2790
+
2791
+ """
2792
+
2793
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2794
+ __repr__ = _swig_repr
2795
+ species = property(_RF_Track.Bunch6dT_Generator_species_get, _RF_Track.Bunch6dT_Generator_species_set, doc=r"""
2796
+ species : std::string
2797
+
2798
+ Type of particle. Default: "electron".
2799
+
2800
+
2801
+ """)
2802
+ noise_reduc = property(_RF_Track.Bunch6dT_Generator_noise_reduc_get, _RF_Track.Bunch6dT_Generator_noise_reduc_set, doc=r"""
2803
+ noise_reduc : bool
2804
+
2805
+ Enable noise reduction. Default: true.
2806
+
2807
+
2808
+ """)
2809
+ rand_generator = property(_RF_Track.Bunch6dT_Generator_rand_generator_get, _RF_Track.Bunch6dT_Generator_rand_generator_set, doc=r"""
2810
+ rand_generator : std::string
2811
+
2812
+ generator type. Default: "halton".
2813
+
2814
+
2815
+ """)
2816
+ cathode = property(_RF_Track.Bunch6dT_Generator_cathode_get, _RF_Track.Bunch6dT_Generator_cathode_set, doc=r"""
2817
+ cathode : bool
2818
+
2819
+ Enable photocathode emission. Default: false.
2820
+
2821
+
2822
+ """)
2823
+ q_total = property(_RF_Track.Bunch6dT_Generator_q_total_get, _RF_Track.Bunch6dT_Generator_q_total_set, doc=r"""
2824
+ q_total : double
2825
+
2826
+ nC bunch charge. Default: 0.
2827
+
2828
+
2829
+ """)
2830
+ ref_zpos = property(_RF_Track.Bunch6dT_Generator_ref_zpos_get, _RF_Track.Bunch6dT_Generator_ref_zpos_set, doc=r"""
2831
+ ref_zpos : double
2832
+
2833
+ m position of reference particle. Default: 0.
2834
+
2835
+
2836
+ """)
2837
+ ref_clock = property(_RF_Track.Bunch6dT_Generator_ref_clock_get, _RF_Track.Bunch6dT_Generator_ref_clock_set, doc=r"""
2838
+ ref_clock : double
2839
+
2840
+ ns clock of reference particle. Default: 0.
2841
+
2842
+
2843
+ """)
2844
+ ref_ekin = property(_RF_Track.Bunch6dT_Generator_ref_ekin_get, _RF_Track.Bunch6dT_Generator_ref_ekin_set, doc=r"""
2845
+ ref_ekin : double
2846
+
2847
+ MeV energy of reference particle. Default: 0.
2848
+
2849
+
2850
+ """)
2851
+ dist_z = property(_RF_Track.Bunch6dT_Generator_dist_z_get, _RF_Track.Bunch6dT_Generator_dist_z_set, doc=r"""
2852
+ dist_z : std::string
2853
+
2854
+ longitudinal particle distribution. Default: "gaussian".
2855
+
2856
+
2857
+ """)
2858
+ sig_z = property(_RF_Track.Bunch6dT_Generator_sig_z_get, _RF_Track.Bunch6dT_Generator_sig_z_set, doc=r"""
2859
+ sig_z : double
2860
+
2861
+ mm rms value of the bunch length. Default: 0.
2862
+
2863
+
2864
+ """)
2865
+ shape_z = property(_RF_Track.Bunch6dT_Generator_shape_z_get, _RF_Track.Bunch6dT_Generator_shape_z_set, doc=r"""
2866
+ shape_z : double
2867
+
2868
+ shape of the Generalized Gaussian distribution. Default: 2.
2869
+
2870
+
2871
+ """)
2872
+ c_sig_z = property(_RF_Track.Bunch6dT_Generator_c_sig_z_get, _RF_Track.Bunch6dT_Generator_c_sig_z_set, doc=r"""
2873
+ c_sig_z : double
2874
+
2875
+ cuts off a Gaussian longitudinal distribution. Default: 4.
2876
+
2877
+
2878
+ """)
2879
+ lz = property(_RF_Track.Bunch6dT_Generator_lz_get, _RF_Track.Bunch6dT_Generator_lz_set, doc=r"""
2880
+ lz : double
2881
+
2882
+ mm length of the bunch. Default: 0.
2883
+
2884
+
2885
+ """)
2886
+ rz = property(_RF_Track.Bunch6dT_Generator_rz_get, _RF_Track.Bunch6dT_Generator_rz_set, doc=r"""
2887
+ rz : double
2888
+
2889
+ mm rising of the bunch distribution; only for plateau distribution. Default: 0.
2890
+
2891
+
2892
+ """)
2893
+ sig_t = property(_RF_Track.Bunch6dT_Generator_sig_t_get, _RF_Track.Bunch6dT_Generator_sig_t_set, doc=r"""
2894
+ sig_t : double
2895
+
2896
+ ns rms value of the emission time,. Default: 0.
2897
+
2898
+
2899
+ """)
2900
+ shape_t = property(_RF_Track.Bunch6dT_Generator_shape_t_get, _RF_Track.Bunch6dT_Generator_shape_t_set, doc=r"""
2901
+ shape_t : double
2902
+
2903
+ shape of the Generalized Gaussian distribution. Default: 2.
2904
+
2905
+
2906
+ """)
2907
+ c_sig_t = property(_RF_Track.Bunch6dT_Generator_c_sig_t_get, _RF_Track.Bunch6dT_Generator_c_sig_t_set, doc=r"""
2908
+ c_sig_t : double
2909
+
2910
+ cuts off a Gaussian longitudinal distribution. Default: 4.
2911
+
2912
+
2913
+ """)
2914
+ lt = property(_RF_Track.Bunch6dT_Generator_lt_get, _RF_Track.Bunch6dT_Generator_lt_set, doc=r"""
2915
+ lt : double
2916
+
2917
+ ns emission time. Default: 0.
2918
+
2919
+
2920
+ """)
2921
+ rt = property(_RF_Track.Bunch6dT_Generator_rt_get, _RF_Track.Bunch6dT_Generator_rt_set, doc=r"""
2922
+ rt : double
2923
+
2924
+ ns rise time of the bunch; only for plateau distribution. Default: 0.
2925
+
2926
+
2927
+ """)
2928
+ dist_pz = property(_RF_Track.Bunch6dT_Generator_dist_pz_get, _RF_Track.Bunch6dT_Generator_dist_pz_set, doc=r"""
2929
+ dist_pz : std::string
2930
+
2931
+ longitudinal energy and momentum distribution. Default: "gaussian".
2932
+
2933
+
2934
+ """)
2935
+ sig_ekin = property(_RF_Track.Bunch6dT_Generator_sig_ekin_get, _RF_Track.Bunch6dT_Generator_sig_ekin_set, doc=r"""
2936
+ sig_ekin : double
2937
+
2938
+ keV rms value of the energy spread. Default: 0.
2939
+
2940
+
2941
+ """)
2942
+ c_sig_ekin = property(_RF_Track.Bunch6dT_Generator_c_sig_ekin_get, _RF_Track.Bunch6dT_Generator_c_sig_ekin_set, doc=r"""
2943
+ c_sig_ekin : double
2944
+
2945
+ cuts off a Gaussian energy and momentum distribution. Default: 4.
2946
+
2947
+
2948
+ """)
2949
+ le = property(_RF_Track.Bunch6dT_Generator_le_get, _RF_Track.Bunch6dT_Generator_le_set, doc=r"""
2950
+ le : double
2951
+
2952
+ keV width of the energy distribution. Default: 0.
2953
+
2954
+
2955
+ """)
2956
+ re = property(_RF_Track.Bunch6dT_Generator_re_get, _RF_Track.Bunch6dT_Generator_re_set, doc=r"""
2957
+ re : double
2958
+
2959
+ keV rising of the energy distribution, only for plateau distribution. Default: 0.
2960
+
2961
+
2962
+ """)
2963
+ emit_z = property(_RF_Track.Bunch6dT_Generator_emit_z_get, _RF_Track.Bunch6dT_Generator_emit_z_set, doc=r"""
2964
+ emit_z : double
2965
+
2966
+ keV mm longitudinal emittance. Default: 0.
2967
+
2968
+
2969
+ """)
2970
+ emit_t = property(_RF_Track.Bunch6dT_Generator_emit_t_get, _RF_Track.Bunch6dT_Generator_emit_t_set, doc=r"""
2971
+ emit_t : double
2972
+
2973
+ keV ps longitudinal emittance. Default: 0.
2974
+
2975
+
2976
+ """)
2977
+ cor_ekin = property(_RF_Track.Bunch6dT_Generator_cor_ekin_get, _RF_Track.Bunch6dT_Generator_cor_ekin_set, doc=r"""
2978
+ cor_ekin : double
2979
+
2980
+ keV correlated energy spread. Default: 0.
2981
+
2982
+
2983
+ """)
2984
+ e_photon = property(_RF_Track.Bunch6dT_Generator_e_photon_get, _RF_Track.Bunch6dT_Generator_e_photon_set, doc=r"""
2985
+ e_photon : double
2986
+
2987
+ eV photon energy for Fermi-Dirac distribution. Default: 0.
2988
+
2989
+
2990
+ """)
2991
+ phi_eff = property(_RF_Track.Bunch6dT_Generator_phi_eff_get, _RF_Track.Bunch6dT_Generator_phi_eff_set, doc=r"""
2992
+ phi_eff : double
2993
+
2994
+ eV effective work function for Fermi-Dirac distribution. Default: 0.
2995
+
2996
+
2997
+ """)
2998
+ dist_x = property(_RF_Track.Bunch6dT_Generator_dist_x_get, _RF_Track.Bunch6dT_Generator_dist_x_set, doc=r"""
2999
+ dist_x : std::string
3000
+
3001
+ transverse particle distribution. Default: "gaussian".
3002
+
3003
+
3004
+ """)
3005
+ sig_x = property(_RF_Track.Bunch6dT_Generator_sig_x_get, _RF_Track.Bunch6dT_Generator_sig_x_set, doc=r"""
3006
+ sig_x : double
3007
+
3008
+ mm rms bunch size in the horizontal direction. Default: 0.
3009
+
3010
+
3011
+ """)
3012
+ shape_x = property(_RF_Track.Bunch6dT_Generator_shape_x_get, _RF_Track.Bunch6dT_Generator_shape_x_set, doc=r"""
3013
+ shape_x : double
3014
+
3015
+ shape of the Generalized Gaussian distribution . Default: 2.
3016
+
3017
+
3018
+ """)
3019
+ c_sig_x = property(_RF_Track.Bunch6dT_Generator_c_sig_x_get, _RF_Track.Bunch6dT_Generator_c_sig_x_set, doc=r"""
3020
+ c_sig_x : double
3021
+
3022
+ cuts off a Gaussian horizontal distribution. Default: 4.
3023
+
3024
+
3025
+ """)
3026
+ lx = property(_RF_Track.Bunch6dT_Generator_lx_get, _RF_Track.Bunch6dT_Generator_lx_set, doc=r"""
3027
+ lx : double
3028
+
3029
+ mm width of the horizontal particle distribution. Default: 0.
3030
+
3031
+
3032
+ """)
3033
+ rx = property(_RF_Track.Bunch6dT_Generator_rx_get, _RF_Track.Bunch6dT_Generator_rx_set, doc=r"""
3034
+ rx : double
3035
+
3036
+ mm rising of the horizontal particle distribution; only for plateau distribution. Default: 0.
3037
+
3038
+
3039
+ """)
3040
+ x_off = property(_RF_Track.Bunch6dT_Generator_x_off_get, _RF_Track.Bunch6dT_Generator_x_off_set, doc=r"""
3041
+ x_off : double
3042
+
3043
+ mm horizontal offset of the particle distribution. Default: 0.
3044
+
3045
+
3046
+ """)
3047
+ disp_x = property(_RF_Track.Bunch6dT_Generator_disp_x_get, _RF_Track.Bunch6dT_Generator_disp_x_set, doc=r"""
3048
+ disp_x : double
3049
+
3050
+ m horizontal dispersion;. Default: 0.
3051
+
3052
+
3053
+ """)
3054
+ dist_y = property(_RF_Track.Bunch6dT_Generator_dist_y_get, _RF_Track.Bunch6dT_Generator_dist_y_set, doc=r"""
3055
+ dist_y : std::string
3056
+
3057
+ vertical particle distribution. Default: "gaussian".
3058
+
3059
+
3060
+ """)
3061
+ sig_y = property(_RF_Track.Bunch6dT_Generator_sig_y_get, _RF_Track.Bunch6dT_Generator_sig_y_set, doc=r"""
3062
+ sig_y : double
3063
+
3064
+ mm rms bunch size in the vertical direction. Default: 0.
3065
+
3066
+
3067
+ """)
3068
+ shape_y = property(_RF_Track.Bunch6dT_Generator_shape_y_get, _RF_Track.Bunch6dT_Generator_shape_y_set, doc=r"""
3069
+ shape_y : double
3070
+
3071
+ shape of the Generalized Gaussian distribution . Default: 2.
3072
+
3073
+
3074
+ """)
3075
+ c_sig_y = property(_RF_Track.Bunch6dT_Generator_c_sig_y_get, _RF_Track.Bunch6dT_Generator_c_sig_y_set, doc=r"""
3076
+ c_sig_y : double
3077
+
3078
+ cuts off a Gaussian vertical distribution. Default: 4.
3079
+
3080
+
3081
+ """)
3082
+ ly = property(_RF_Track.Bunch6dT_Generator_ly_get, _RF_Track.Bunch6dT_Generator_ly_set, doc=r"""
3083
+ ly : double
3084
+
3085
+ mm width of the vertical particle distribution. Default: 0.
3086
+
3087
+
3088
+ """)
3089
+ ry = property(_RF_Track.Bunch6dT_Generator_ry_get, _RF_Track.Bunch6dT_Generator_ry_set, doc=r"""
3090
+ ry : double
3091
+
3092
+ mm rising of the vertical particle distribution; only for plateau distribution. Default: 0.
3093
+
3094
+
3095
+ """)
3096
+ y_off = property(_RF_Track.Bunch6dT_Generator_y_off_get, _RF_Track.Bunch6dT_Generator_y_off_set, doc=r"""
3097
+ y_off : double
3098
+
3099
+ mm vertical offset of the particle distribution. Default: 0.
3100
+
3101
+
3102
+ """)
3103
+ disp_y = property(_RF_Track.Bunch6dT_Generator_disp_y_get, _RF_Track.Bunch6dT_Generator_disp_y_set, doc=r"""
3104
+ disp_y : double
3105
+
3106
+ m vertical dispersion;. Default: 0.
3107
+
3108
+
3109
+ """)
3110
+ dist_px = property(_RF_Track.Bunch6dT_Generator_dist_px_get, _RF_Track.Bunch6dT_Generator_dist_px_set, doc=r"""
3111
+ dist_px : std::string
3112
+
3113
+ transverse momentum distribution in the horizontal direction. Default: "gaussian".
3114
+
3115
+
3116
+ """)
3117
+ nemit_x = property(_RF_Track.Bunch6dT_Generator_nemit_x_get, _RF_Track.Bunch6dT_Generator_nemit_x_set, doc=r"""
3118
+ nemit_x : double
3119
+
3120
+ mrad mm normalized transverse emittance in the horizontal direction. Default: 0.
3121
+
3122
+
3123
+ """)
3124
+ sig_px = property(_RF_Track.Bunch6dT_Generator_sig_px_get, _RF_Track.Bunch6dT_Generator_sig_px_set, doc=r"""
3125
+ sig_px : double
3126
+
3127
+ keV/c rms value of the horizontal momentum distribution. Default: 0.
3128
+
3129
+
3130
+ """)
3131
+ c_sig_px = property(_RF_Track.Bunch6dT_Generator_c_sig_px_get, _RF_Track.Bunch6dT_Generator_c_sig_px_set, doc=r"""
3132
+ c_sig_px : double
3133
+
3134
+ cuts off the horizontal momentum distribution. Default: 4.
3135
+
3136
+
3137
+ """)
3138
+ lpx = property(_RF_Track.Bunch6dT_Generator_lpx_get, _RF_Track.Bunch6dT_Generator_lpx_set, doc=r"""
3139
+ lpx : double
3140
+
3141
+ keV/c width of the horizontal momentum distribution; only for plateau distribution. Default: 0.
3142
+
3143
+
3144
+ """)
3145
+ rpx = property(_RF_Track.Bunch6dT_Generator_rpx_get, _RF_Track.Bunch6dT_Generator_rpx_set, doc=r"""
3146
+ rpx : double
3147
+
3148
+ keV/c rising of the horizontal momentum distribution; only for plateau distribution. Default: 0.
3149
+
3150
+
3151
+ """)
3152
+ cor_px = property(_RF_Track.Bunch6dT_Generator_cor_px_get, _RF_Track.Bunch6dT_Generator_cor_px_set, doc=r"""
3153
+ cor_px : double
3154
+
3155
+ mrad correlated beam divergence in the horizontal direction. Default: 0.
3156
+
3157
+
3158
+ """)
3159
+ dist_py = property(_RF_Track.Bunch6dT_Generator_dist_py_get, _RF_Track.Bunch6dT_Generator_dist_py_set, doc=r"""
3160
+ dist_py : std::string
3161
+
3162
+ transverse momentum distribution in the vertical direction. Default: "gaussian".
3163
+
3164
+
3165
+ """)
3166
+ nemit_y = property(_RF_Track.Bunch6dT_Generator_nemit_y_get, _RF_Track.Bunch6dT_Generator_nemit_y_set, doc=r"""
3167
+ nemit_y : double
3168
+
3169
+ mrad mm normalized transverse emittance in the vertical direction. Default: 0.
3170
+
3171
+
3172
+ """)
3173
+ sig_py = property(_RF_Track.Bunch6dT_Generator_sig_py_get, _RF_Track.Bunch6dT_Generator_sig_py_set, doc=r"""
3174
+ sig_py : double
3175
+
3176
+ keV/c rms value of the vertical momentum distribution. Default: 0.
3177
+
3178
+
3179
+ """)
3180
+ c_sig_py = property(_RF_Track.Bunch6dT_Generator_c_sig_py_get, _RF_Track.Bunch6dT_Generator_c_sig_py_set, doc=r"""
3181
+ c_sig_py : double
3182
+
3183
+ cuts off the vertical momentum distribution. Default: 4.
3184
+
3185
+
3186
+ """)
3187
+ lpy = property(_RF_Track.Bunch6dT_Generator_lpy_get, _RF_Track.Bunch6dT_Generator_lpy_set, doc=r"""
3188
+ lpy : double
3189
+
3190
+ keV/c width of the vertical momentum distribution; only for plateau distribution. Default: 0.
3191
+
3192
+
3193
+ """)
3194
+ rpy = property(_RF_Track.Bunch6dT_Generator_rpy_get, _RF_Track.Bunch6dT_Generator_rpy_set, doc=r"""
3195
+ rpy : double
3196
+
3197
+ keV/c rising of the vertical momentum distribution; only for plateau distribution. Default: 0.
3198
+
3199
+
3200
+ """)
3201
+ cor_py = property(_RF_Track.Bunch6dT_Generator_cor_py_get, _RF_Track.Bunch6dT_Generator_cor_py_set, doc=r"""
3202
+ cor_py : double
3203
+
3204
+ mrad correlated beam divergence in the vertical direction. Default: 0.
3205
+
3206
+
3207
+ """)
3208
+ charge = property(_RF_Track.Bunch6dT_Generator_charge_get, _RF_Track.Bunch6dT_Generator_charge_set, doc=r"""charge : double""")
3209
+ mass = property(_RF_Track.Bunch6dT_Generator_mass_get, _RF_Track.Bunch6dT_Generator_mass_set, doc=r"""mass : double""")
3210
+ p_ref = property(_RF_Track.Bunch6dT_Generator_p_ref_get, _RF_Track.Bunch6dT_Generator_p_ref_set, doc=r"""p_ref : double""")
3211
+ nmacro = property(_RF_Track.Bunch6dT_Generator_nmacro_get, _RF_Track.Bunch6dT_Generator_nmacro_set, doc=r"""nmacro : double""")
3212
+
3213
+ def __init__(self):
3214
+ r"""
3215
+ __init__(Bunch6dT_Generator self) -> Bunch6dT_Generator
3216
+
3217
+ Distribution and photocathode-emission parameters for bunch generation.
3218
+ Pass this object and the requested macroparticle count to Bunch6dT.
3219
+ The generator uses mixed units: q_total [nC], ref_zpos [m], ref_clock [ns],
3220
+ ref_ekin [MeV], transverse sizes [mm], momentum spreads [keV/c] and emission
3221
+ times [ns]. These differ from the bunch storage units. cathode enables
3222
+ emission-time generation. See individual property help for units.
3223
+
3224
+
3225
+ """
3226
+ _RF_Track.Bunch6dT_Generator_swiginit(self, _RF_Track.new_Bunch6dT_Generator())
3227
+ __swig_destroy__ = _RF_Track.delete_Bunch6dT_Generator
3228
+
3229
+ # Register Bunch6dT_Generator in _RF_Track:
3230
+ _RF_Track.Bunch6dT_Generator_swigregister(Bunch6dT_Generator)
3231
+ randu = _RF_Track.randu
3232
+ qrand = _RF_Track.qrand
3233
+ qrandn = _RF_Track.qrandn
3234
+ class BeamT(object):
3235
+ r"""
3236
+
3237
+ A multi-bunch beam containing Bunch6dT objects. Use this container to track bunch trains
3238
+ and interactions between bunches. Bunch populations and macroparticle counts remain
3239
+ distinct.
3240
+
3241
+
3242
+ """
3243
+
3244
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3245
+ __repr__ = _swig_repr
3246
+
3247
+ def __init__(self, *args):
3248
+ r"""
3249
+ __init__(BeamT self, Beam beam) -> BeamT
3250
+ __init__(BeamT self, Bunch6dT bunch) -> BeamT
3251
+ __init__(BeamT self, Beam b, Frame f, bool backtrackng=False) -> BeamT
3252
+ __init__(BeamT self, size_t n, Bunch6dT bunch, double bunch_spacing) -> BeamT
3253
+ __init__(BeamT self) -> BeamT
3254
+
3255
+ A multi-bunch beam containing Bunch6dT objects. Use this container to track bunch trains
3256
+ and interactions between bunches. Bunch populations and macroparticle counts remain
3257
+ distinct.
3258
+
3259
+
3260
+ """
3261
+ _RF_Track.BeamT_swiginit(self, _RF_Track.new_BeamT(*args))
3262
+ __swig_destroy__ = _RF_Track.delete_BeamT
3263
+ append = _swig_new_instance_method(_RF_Track.BeamT_append)
3264
+ size = _swig_new_instance_method(_RF_Track.BeamT_size)
3265
+ load = _swig_new_instance_method(_RF_Track.BeamT_load)
3266
+ save = _swig_new_instance_method(_RF_Track.BeamT_save)
3267
+ __getitem__ = _swig_new_instance_method(_RF_Track.BeamT___getitem__)
3268
+ __len__ = _swig_new_instance_method(_RF_Track.BeamT___len__)
3269
+ __iter__ = _swig_new_instance_method(_RF_Track.BeamT___iter__)
3270
+
3271
+ # Register BeamT in _RF_Track:
3272
+ _RF_Track.BeamT_swigregister(BeamT)
3273
+ class Beam(object):
3274
+ r"""
3275
+
3276
+ A multi-bunch beam containing Bunch6d objects. Use this container to track bunch trains
3277
+ and interactions between bunches. Bunch populations and macroparticle counts remain
3278
+ distinct.
3279
+
3280
+
3281
+ """
3282
+
3283
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3284
+ __repr__ = _swig_repr
3285
+
3286
+ def __init__(self, *args):
3287
+ r"""
3288
+ __init__(Beam self, Bunch6d bunch) -> Beam
3289
+ __init__(Beam self, size_t n, Bunch6d bunch, double bunch_spacing) -> Beam
3290
+ __init__(Beam self) -> Beam
3291
+
3292
+ A multi-bunch beam containing Bunch6d objects. Use this container to track bunch trains
3293
+ and interactions between bunches. Bunch populations and macroparticle counts remain
3294
+ distinct.
3295
+
3296
+
3297
+ """
3298
+ _RF_Track.Beam_swiginit(self, _RF_Track.new_Beam(*args))
3299
+ __swig_destroy__ = _RF_Track.delete_Beam
3300
+ __assign__ = _swig_new_instance_method(_RF_Track.Beam___assign__)
3301
+ append = _swig_new_instance_method(_RF_Track.Beam_append)
3302
+ size = _swig_new_instance_method(_RF_Track.Beam_size)
3303
+ load = _swig_new_instance_method(_RF_Track.Beam_load)
3304
+ save = _swig_new_instance_method(_RF_Track.Beam_save)
3305
+ __getitem__ = _swig_new_instance_method(_RF_Track.Beam___getitem__)
3306
+ __len__ = _swig_new_instance_method(_RF_Track.Beam___len__)
3307
+ __iter__ = _swig_new_instance_method(_RF_Track.Beam___iter__)
3308
+
3309
+ # Register Beam in _RF_Track:
3310
+ _RF_Track.Beam_swigregister(Beam)
3311
+ class CollectiveEffect(object):
3312
+ r"""
3313
+
3314
+ Base interface for forces acting collectively on a bunch or beam. Attach an effect with
3315
+ add_collective_effect and configure the kick interval on the tracking environment.
3316
+
3317
+
3318
+ """
3319
+
3320
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3321
+
3322
+ def __init__(self, *args, **kwargs):
3323
+ raise AttributeError("No constructor defined - class is abstract")
3324
+ __repr__ = _swig_repr
3325
+ __swig_destroy__ = _RF_Track.delete_CollectiveEffect
3326
+ compute_force = _swig_new_instance_method(_RF_Track.CollectiveEffect_compute_force)
3327
+
3328
+ # Register CollectiveEffect in _RF_Track:
3329
+ _RF_Track.CollectiveEffect_swigregister(CollectiveEffect)
3330
+ class SpaceCharge(object):
3331
+ r"""
3332
+
3333
+ Base interface for space-charge solvers. Assign a concrete solver using set_sc_engine.
3334
+
3335
+
3336
+ """
3337
+
3338
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3339
+
3340
+ def __init__(self, *args, **kwargs):
3341
+ raise AttributeError("No constructor defined - class is abstract")
3342
+ __repr__ = _swig_repr
3343
+ __swig_destroy__ = _RF_Track.delete_SpaceCharge
3344
+ compute_force = _swig_new_instance_method(_RF_Track.SpaceCharge_compute_force)
3345
+
3346
+ # Register SpaceCharge in _RF_Track:
3347
+ _RF_Track.SpaceCharge_swigregister(SpaceCharge)
3348
+ class SpaceCharge_P2P(SpaceCharge):
3349
+ r"""
3350
+
3351
+ Direct particle-to-particle space-charge solver. Computes pair interactions without a particle-in-cell mesh.
3352
+
3353
+
3354
+ """
3355
+
3356
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3357
+ __repr__ = _swig_repr
3358
+ set_Dmin = _swig_new_instance_method(_RF_Track.SpaceCharge_P2P_set_Dmin)
3359
+ get_Dmin = _swig_new_instance_method(_RF_Track.SpaceCharge_P2P_get_Dmin)
3360
+
3361
+ def __init__(self):
3362
+ r"""
3363
+ __init__(SpaceCharge_P2P self) -> SpaceCharge_P2P
3364
+
3365
+ Direct particle-to-particle space-charge solver. Computes pair interactions without a particle-in-cell mesh.
3366
+
3367
+
3368
+ """
3369
+ _RF_Track.SpaceCharge_P2P_swiginit(self, _RF_Track.new_SpaceCharge_P2P())
3370
+ __swig_destroy__ = _RF_Track.delete_SpaceCharge_P2P
3371
+
3372
+ # Register SpaceCharge_P2P in _RF_Track:
3373
+ _RF_Track.SpaceCharge_P2P_swigregister(SpaceCharge_P2P)
3374
+ class SpaceCharge_PIC_FreeSpace(SpaceCharge):
3375
+ r"""
3376
+
3377
+ Particle-in-cell space-charge solver. The exported specializations select free-space,
3378
+ conducting-cylinder or horizontal-plate boundary conditions.
3379
+
3380
+
3381
+ """
3382
+
3383
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3384
+ __repr__ = _swig_repr
3385
+
3386
+ def __init__(self, *args):
3387
+ r"""
3388
+ __init__(SpaceCharge_PIC_FreeSpace self, size_t Nx_=16, size_t Ny_=16, size_t Nz_=16) -> SpaceCharge_PIC_FreeSpace
3389
+ __init__(SpaceCharge_PIC_FreeSpace self, SpaceCharge_PIC_FreeSpace sc) -> SpaceCharge_PIC_FreeSpace
3390
+
3391
+ Particle-in-cell space-charge solver. The exported specializations select free-space,
3392
+ conducting-cylinder or horizontal-plate boundary conditions.
3393
+
3394
+
3395
+ """
3396
+ _RF_Track.SpaceCharge_PIC_FreeSpace_swiginit(self, _RF_Track.new_SpaceCharge_PIC_FreeSpace(*args))
3397
+ __swig_destroy__ = _RF_Track.delete_SpaceCharge_PIC_FreeSpace
3398
+ __assign__ = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_FreeSpace___assign__)
3399
+ set_mirror = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_FreeSpace_set_mirror)
3400
+ set_smooth = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_FreeSpace_set_smooth)
3401
+ set_velocity_slices = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_FreeSpace_set_velocity_slices)
3402
+ set_mirror_charge_tolerance = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_FreeSpace_set_mirror_charge_tolerance)
3403
+ get_mirror = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_FreeSpace_get_mirror)
3404
+ get_smooth = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_FreeSpace_get_smooth)
3405
+ get_velocity_slices = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_FreeSpace_get_velocity_slices)
3406
+ get_mirror_charge_tolerance = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_FreeSpace_get_mirror_charge_tolerance)
3407
+
3408
+ # Register SpaceCharge_PIC_FreeSpace in _RF_Track:
3409
+ _RF_Track.SpaceCharge_PIC_FreeSpace_swigregister(SpaceCharge_PIC_FreeSpace)
3410
+ class SpaceCharge_PIC_LongCylinder_T(SpaceCharge):
3411
+ r"""
3412
+
3413
+ Particle-in-cell space-charge solver. The exported specializations select free-space,
3414
+ conducting-cylinder or horizontal-plate boundary conditions.
3415
+
3416
+
3417
+ """
3418
+
3419
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3420
+
3421
+ def __init__(self, *args, **kwargs):
3422
+ raise AttributeError("No constructor defined")
3423
+ __repr__ = _swig_repr
3424
+ __swig_destroy__ = _RF_Track.delete_SpaceCharge_PIC_LongCylinder_T
3425
+ __assign__ = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_T___assign__)
3426
+ set_mirror = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_T_set_mirror)
3427
+ set_smooth = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_T_set_smooth)
3428
+ set_velocity_slices = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_T_set_velocity_slices)
3429
+ set_mirror_charge_tolerance = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_T_set_mirror_charge_tolerance)
3430
+ get_mirror = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_T_get_mirror)
3431
+ get_smooth = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_T_get_smooth)
3432
+ get_velocity_slices = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_T_get_velocity_slices)
3433
+ get_mirror_charge_tolerance = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_T_get_mirror_charge_tolerance)
3434
+
3435
+ # Register SpaceCharge_PIC_LongCylinder_T in _RF_Track:
3436
+ _RF_Track.SpaceCharge_PIC_LongCylinder_T_swigregister(SpaceCharge_PIC_LongCylinder_T)
3437
+ class SpaceCharge_PIC_HorizontalPlates_T(SpaceCharge):
3438
+ r"""
3439
+
3440
+ Particle-in-cell space-charge solver. The exported specializations select free-space,
3441
+ conducting-cylinder or horizontal-plate boundary conditions.
3442
+
3443
+
3444
+ """
3445
+
3446
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3447
+
3448
+ def __init__(self, *args, **kwargs):
3449
+ raise AttributeError("No constructor defined")
3450
+ __repr__ = _swig_repr
3451
+ __swig_destroy__ = _RF_Track.delete_SpaceCharge_PIC_HorizontalPlates_T
3452
+ __assign__ = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_T___assign__)
3453
+ set_mirror = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_T_set_mirror)
3454
+ set_smooth = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_T_set_smooth)
3455
+ set_velocity_slices = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_T_set_velocity_slices)
3456
+ set_mirror_charge_tolerance = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_T_set_mirror_charge_tolerance)
3457
+ get_mirror = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_T_get_mirror)
3458
+ get_smooth = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_T_get_smooth)
3459
+ get_velocity_slices = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_T_get_velocity_slices)
3460
+ get_mirror_charge_tolerance = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_T_get_mirror_charge_tolerance)
3461
+
3462
+ # Register SpaceCharge_PIC_HorizontalPlates_T in _RF_Track:
3463
+ _RF_Track.SpaceCharge_PIC_HorizontalPlates_T_swigregister(SpaceCharge_PIC_HorizontalPlates_T)
3464
+ class MultipoleKick(CollectiveEffect):
3465
+ r"""
3466
+
3467
+ Collective-effect representation of magnetic multipolar errors, applied as kicks.
3468
+
3469
+
3470
+ """
3471
+
3472
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3473
+ __repr__ = _swig_repr
3474
+
3475
+ def __init__(self, *args):
3476
+ r"""
3477
+ __init__(MultipoleKick self, std::vector< std::complex< double > > const & Bn_=std::vector< std::complex< double > >(size_t(0))) -> MultipoleKick
3478
+
3479
+ Collective-effect representation of magnetic multipolar errors, applied as kicks.
3480
+
3481
+
3482
+ """
3483
+ _RF_Track.MultipoleKick_swiginit(self, _RF_Track.new_MultipoleKick(*args))
3484
+ set_Bn = _swig_new_instance_method(_RF_Track.MultipoleKick_set_Bn)
3485
+ get_Bn = _swig_new_instance_method(_RF_Track.MultipoleKick_get_Bn)
3486
+ compute_force = _swig_new_instance_method(_RF_Track.MultipoleKick_compute_force)
3487
+ __swig_destroy__ = _RF_Track.delete_MultipoleKick
3488
+
3489
+ # Register MultipoleKick in _RF_Track:
3490
+ _RF_Track.MultipoleKick_swigregister(MultipoleKick)
3491
+ class BeamLoading(CollectiveEffect):
3492
+ r"""
3493
+
3494
+ Travelling-wave beam-loading model for relativistic beams. Constructor inputs are cell
3495
+ count Ncells, frequency f0 [Hz], phaseadvance [rad], and longitudinal profiles QQ
3496
+ (dimensionless), R_Q [ohm/m] and VG [c]. nbins controls the short-range wake binning.
3497
+ The steady-state overload additionally takes single-particle charge q_single [e],
3498
+ physical particles_bunch and bunch frequency fb [Hz]. Supports both spatial and
3499
+ time-based bunch models.
3500
+
3501
+
3502
+ """
3503
+
3504
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3505
+ __repr__ = _swig_repr
3506
+
3507
+ def __init__(self, *args):
3508
+ r"""
3509
+ __init__(BeamLoading self, size_t Ncells, double f0, double phaseadvance, Mesh1d const & QQ, Mesh1d const & R_Q, Mesh1d const & VG, size_t nbins=16) -> BeamLoading
3510
+ __init__(BeamLoading self, size_t Ncells, double f0, double phaseadvance, Mesh1d const & QQ, Mesh1d const & R_Q, Mesh1d const & VG, double q_single, double particles_bunch, double fb, size_t nbins=16) -> BeamLoading
3511
+
3512
+ Travelling-wave beam-loading model for relativistic beams. Constructor inputs are cell
3513
+ count Ncells, frequency f0 [Hz], phaseadvance [rad], and longitudinal profiles QQ
3514
+ (dimensionless), R_Q [ohm/m] and VG [c]. nbins controls the short-range wake binning.
3515
+ The steady-state overload additionally takes single-particle charge q_single [e],
3516
+ physical particles_bunch and bunch frequency fb [Hz]. Supports both spatial and
3517
+ time-based bunch models.
3518
+
3519
+
3520
+ """
3521
+ _RF_Track.BeamLoading_swiginit(self, _RF_Track.new_BeamLoading(*args))
3522
+ compute_force = _swig_new_instance_method(_RF_Track.BeamLoading_compute_force)
3523
+ solve_pde_steady = _swig_new_instance_method(_RF_Track.BeamLoading_solve_pde_steady)
3524
+ solve_pde_transient = _swig_new_instance_method(_RF_Track.BeamLoading_solve_pde_transient)
3525
+ get_vg = _swig_new_instance_method(_RF_Track.BeamLoading_get_vg)
3526
+ get_Q = _swig_new_instance_method(_RF_Track.BeamLoading_get_Q)
3527
+ get_r_Q = _swig_new_instance_method(_RF_Track.BeamLoading_get_r_Q)
3528
+ get_dr_Q = _swig_new_instance_method(_RF_Track.BeamLoading_get_dr_Q)
3529
+ get_G = _swig_new_instance_method(_RF_Track.BeamLoading_get_G)
3530
+ get_G_unloaded = _swig_new_instance_method(_RF_Track.BeamLoading_get_G_unloaded)
3531
+ get_G_steady = _swig_new_instance_method(_RF_Track.BeamLoading_get_G_steady)
3532
+ get_wake_function = _swig_new_instance_method(_RF_Track.BeamLoading_get_wake_function)
3533
+ get_Lcell = _swig_new_instance_method(_RF_Track.BeamLoading_get_Lcell)
3534
+ get_dt = _swig_new_instance_method(_RF_Track.BeamLoading_get_dt)
3535
+ get_z0 = _swig_new_instance_method(_RF_Track.BeamLoading_get_z0)
3536
+ get_z1 = _swig_new_instance_method(_RF_Track.BeamLoading_get_z1)
3537
+ get_tfill = _swig_new_instance_method(_RF_Track.BeamLoading_get_tfill)
3538
+ set_z0 = _swig_new_instance_method(_RF_Track.BeamLoading_set_z0)
3539
+ set_unloaded_gradient = _swig_new_instance_method(_RF_Track.BeamLoading_set_unloaded_gradient)
3540
+ set_early_injection = _swig_new_instance_method(_RF_Track.BeamLoading_set_early_injection)
3541
+ disable_short_range = _swig_new_instance_method(_RF_Track.BeamLoading_disable_short_range)
3542
+ enable_short_range = _swig_new_instance_method(_RF_Track.BeamLoading_enable_short_range)
3543
+ __swig_destroy__ = _RF_Track.delete_BeamLoading
3544
+
3545
+ # Register BeamLoading in _RF_Track:
3546
+ _RF_Track.BeamLoading_swigregister(BeamLoading)
3547
+ class BeamLoadingSW(CollectiveEffect):
3548
+ r"""
3549
+
3550
+ Standing-wave beam-loading model for Bunch6dT or BeamT in a Volume. Initialize with an
3551
+ RF_Field, quality factor QQ, RHO=R/Q per unit length [ohm/m], cell count Ncells, mass
3552
+ [MeV/c^2], single-particle charge q [e], and tinj_frac. The injection time is tinj_frac
3553
+ times the filling time. Frequency, QQ, RHO, Ncells, mass and tinj_frac must be positive;
3554
+ q must be nonzero. The Bunch6d and Beam force overloads are not implemented.
3555
+
3556
+
3557
+ """
3558
+
3559
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3560
+ __repr__ = _swig_repr
3561
+
3562
+ def __init__(self, Ez, QQ, RHO, Ncells, mass, q, tinj_frac):
3563
+ r"""
3564
+ __init__(BeamLoadingSW self, RF_Field Ez, double QQ, double RHO, double Ncells, double mass, double q, double tinj_frac) -> BeamLoadingSW
3565
+
3566
+ Standing-wave beam-loading model for Bunch6dT or BeamT in a Volume. Initialize with an
3567
+ RF_Field, quality factor QQ, RHO=R/Q per unit length [ohm/m], cell count Ncells, mass
3568
+ [MeV/c^2], single-particle charge q [e], and tinj_frac. The injection time is tinj_frac
3569
+ times the filling time. Frequency, QQ, RHO, Ncells, mass and tinj_frac must be positive;
3570
+ q must be nonzero. The Bunch6d and Beam force overloads are not implemented.
3571
+
3572
+
3573
+ """
3574
+ _RF_Track.BeamLoadingSW_swiginit(self, _RF_Track.new_BeamLoadingSW(Ez, QQ, RHO, Ncells, mass, q, tinj_frac))
3575
+ compute_force = _swig_new_instance_method(_RF_Track.BeamLoadingSW_compute_force)
3576
+ get_TT1 = _swig_new_instance_method(_RF_Track.BeamLoadingSW_get_TT1)
3577
+ get_TT2 = _swig_new_instance_method(_RF_Track.BeamLoadingSW_get_TT2)
3578
+ get_Lcell = _swig_new_instance_method(_RF_Track.BeamLoadingSW_get_Lcell)
3579
+ get_tfill = _swig_new_instance_method(_RF_Track.BeamLoadingSW_get_tfill)
3580
+ get_tinj = _swig_new_instance_method(_RF_Track.BeamLoadingSW_get_tinj)
3581
+ __swig_destroy__ = _RF_Track.delete_BeamLoadingSW
3582
+
3583
+ # Register BeamLoadingSW in _RF_Track:
3584
+ _RF_Track.BeamLoadingSW_swigregister(BeamLoadingSW)
3585
+ class LongRangeWakefield(CollectiveEffect):
3586
+ r"""
3587
+
3588
+ Long-range wakefield effect for interactions between separated bunches.
3589
+
3590
+
3591
+ """
3592
+
3593
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3594
+ __repr__ = _swig_repr
3595
+
3596
+ def __init__(self, *args):
3597
+ r"""
3598
+ __init__(LongRangeWakefield self, MatrixNd const & A_, MatrixNd const & f1_, MatrixNd const & Q__, MatrixNd const & angle_, double z0_center, double z1_center) -> LongRangeWakefield
3599
+ __init__(LongRangeWakefield self, MatrixNd const & A_, MatrixNd const & f1_, MatrixNd const & Q__, double z0_center, double z1_center) -> LongRangeWakefield
3600
+ __init__(LongRangeWakefield self, MatrixNd const & A_, MatrixNd const & f1_, MatrixNd const & Q__, MatrixNd const & angle_) -> LongRangeWakefield
3601
+ __init__(LongRangeWakefield self, MatrixNd const & A_, MatrixNd const & f1_, MatrixNd const & Q__) -> LongRangeWakefield
3602
+
3603
+ Long-range wakefield effect for interactions between separated bunches.
3604
+
3605
+
3606
+ """
3607
+ _RF_Track.LongRangeWakefield_swiginit(self, _RF_Track.new_LongRangeWakefield(*args))
3608
+ set_nbins = _swig_new_instance_method(_RF_Track.LongRangeWakefield_set_nbins)
3609
+ compute_force = _swig_new_instance_method(_RF_Track.LongRangeWakefield_compute_force)
3610
+ w_transv = _swig_new_instance_method(_RF_Track.LongRangeWakefield_w_transv)
3611
+ __swig_destroy__ = _RF_Track.delete_LongRangeWakefield
3612
+
3613
+ # Register LongRangeWakefield in _RF_Track:
3614
+ _RF_Track.LongRangeWakefield_swigregister(LongRangeWakefield)
3615
+ class ResistiveWallWake(CollectiveEffect):
3616
+ r"""
3617
+
3618
+ Wakefield effect from the finite conductivity of the beam-pipe wall.
3619
+
3620
+
3621
+ """
3622
+
3623
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3624
+ __repr__ = _swig_repr
3625
+
3626
+ def __init__(self, *args):
3627
+ r"""
3628
+ __init__(ResistiveWallWake self, std::string material) -> ResistiveWallWake
3629
+ __init__(ResistiveWallWake self, double sigma_c) -> ResistiveWallWake
3630
+ __init__(ResistiveWallWake self, double b, double sigma_c) -> ResistiveWallWake
3631
+ __init__(ResistiveWallWake self, double b, std::string material) -> ResistiveWallWake
3632
+ __init__(ResistiveWallWake self) -> ResistiveWallWake
3633
+
3634
+ Wakefield effect from the finite conductivity of the beam-pipe wall.
3635
+
3636
+
3637
+ """
3638
+ _RF_Track.ResistiveWallWake_swiginit(self, _RF_Track.new_ResistiveWallWake(*args))
3639
+ set_nbins = _swig_new_instance_method(_RF_Track.ResistiveWallWake_set_nbins)
3640
+ w_transv = _swig_new_instance_method(_RF_Track.ResistiveWallWake_w_transv)
3641
+ w_long = _swig_new_instance_method(_RF_Track.ResistiveWallWake_w_long)
3642
+ __swig_destroy__ = _RF_Track.delete_ResistiveWallWake
3643
+
3644
+ # Register ResistiveWallWake in _RF_Track:
3645
+ _RF_Track.ResistiveWallWake_swigregister(ResistiveWallWake)
3646
+ class ShortRangeWakefield(CollectiveEffect):
3647
+ r"""
3648
+
3649
+ Short-range wakefield effect acting within a bunch.
3650
+
3651
+
3652
+ """
3653
+
3654
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3655
+ __repr__ = _swig_repr
3656
+
3657
+ def __init__(self, *args):
3658
+ r"""
3659
+ __init__(ShortRangeWakefield self, double a=1, double g=1, double l=1) -> ShortRangeWakefield
3660
+ __init__(ShortRangeWakefield self, VectorNd const & a_, VectorNd const & g_, VectorNd const & l_, size_t ncells_) -> ShortRangeWakefield
3661
+
3662
+ Short-range wakefield effect acting within a bunch.
3663
+
3664
+
3665
+ """
3666
+ _RF_Track.ShortRangeWakefield_swiginit(self, _RF_Track.new_ShortRangeWakefield(*args))
3667
+ set_nbins = _swig_new_instance_method(_RF_Track.ShortRangeWakefield_set_nbins)
3668
+ scatter_cells = _swig_new_instance_method(_RF_Track.ShortRangeWakefield_scatter_cells)
3669
+ compute_force = _swig_new_instance_method(_RF_Track.ShortRangeWakefield_compute_force)
3670
+ w_long = _swig_new_instance_method(_RF_Track.ShortRangeWakefield_w_long)
3671
+ w_transv = _swig_new_instance_method(_RF_Track.ShortRangeWakefield_w_transv)
3672
+ __swig_destroy__ = _RF_Track.delete_ShortRangeWakefield
3673
+
3674
+ # Register ShortRangeWakefield in _RF_Track:
3675
+ _RF_Track.ShortRangeWakefield_swigregister(ShortRangeWakefield)
3676
+ class MultipleCoulombScattering(CollectiveEffect):
3677
+ r"""
3678
+
3679
+ Multiple Coulomb scattering in matter. Material parameters include radiation length in cm.
3680
+
3681
+
3682
+ """
3683
+
3684
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3685
+ __repr__ = _swig_repr
3686
+
3687
+ def __init__(self, *args):
3688
+ r"""
3689
+ __init__(MultipleCoulombScattering self, double radiation_length=0.0, double Z=0.0, double A=0.0, double density=0.0, double mean_excitation_energy=-1.0) -> MultipleCoulombScattering
3690
+ __init__(MultipleCoulombScattering self, std::string const & material_name) -> MultipleCoulombScattering
3691
+ __init__(MultipleCoulombScattering self, Material const & m) -> MultipleCoulombScattering
3692
+
3693
+ Multiple Coulomb scattering in matter. Material parameters include radiation length in cm.
3694
+
3695
+
3696
+ """
3697
+ _RF_Track.MultipleCoulombScattering_swiginit(self, _RF_Track.new_MultipleCoulombScattering(*args))
3698
+ enable_log_term = _swig_new_instance_method(_RF_Track.MultipleCoulombScattering_enable_log_term)
3699
+ disable_log_term = _swig_new_instance_method(_RF_Track.MultipleCoulombScattering_disable_log_term)
3700
+ enable_fruehwirth_model = _swig_new_instance_method(_RF_Track.MultipleCoulombScattering_enable_fruehwirth_model)
3701
+ disable_fruehwirth_model = _swig_new_instance_method(_RF_Track.MultipleCoulombScattering_disable_fruehwirth_model)
3702
+ enable_wentzel_model = _swig_new_instance_method(_RF_Track.MultipleCoulombScattering_enable_wentzel_model)
3703
+ disable_wentzel_model = _swig_new_instance_method(_RF_Track.MultipleCoulombScattering_disable_wentzel_model)
3704
+ compute_force = _swig_new_instance_method(_RF_Track.MultipleCoulombScattering_compute_force)
3705
+ __swig_destroy__ = _RF_Track.delete_MultipleCoulombScattering
3706
+
3707
+ # Register MultipleCoulombScattering in _RF_Track:
3708
+ _RF_Track.MultipleCoulombScattering_swigregister(MultipleCoulombScattering)
3709
+ class IntraBeamScattering(CollectiveEffect):
3710
+ r"""
3711
+
3712
+ Collective effect modelling intra-beam scattering. Attach with add_collective_effect and
3713
+ configure collective-effect kick sampling.
3714
+
3715
+
3716
+ """
3717
+
3718
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3719
+ __repr__ = _swig_repr
3720
+
3721
+ def __init__(self, nx=16, ny=16, nz=16, ncol=-1):
3722
+ r"""
3723
+ __init__(IntraBeamScattering self, size_t nx=16, size_t ny=16, size_t nz=16, int ncol=-1) -> IntraBeamScattering
3724
+
3725
+ Collective effect modelling intra-beam scattering. Attach with add_collective_effect and
3726
+ configure collective-effect kick sampling.
3727
+
3728
+
3729
+ """
3730
+ _RF_Track.IntraBeamScattering_swiginit(self, _RF_Track.new_IntraBeamScattering(nx, ny, nz, ncol))
3731
+ __swig_destroy__ = _RF_Track.delete_IntraBeamScattering
3732
+
3733
+ # Register IntraBeamScattering in _RF_Track:
3734
+ _RF_Track.IntraBeamScattering_swigregister(IntraBeamScattering)
3735
+ class EnergyStraggling(CollectiveEffect):
3736
+ r"""
3737
+
3738
+ Fluctuations of energy loss through matter.
3739
+
3740
+
3741
+ """
3742
+
3743
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3744
+ __repr__ = _swig_repr
3745
+
3746
+ def __init__(self, *args):
3747
+ r"""
3748
+ __init__(EnergyStraggling self, double radiation_length=0.0, double Z=0.0, double A=0.0, double density=0.0, double mean_excitation_energy=-1.0) -> EnergyStraggling
3749
+ __init__(EnergyStraggling self, std::string const & material_name) -> EnergyStraggling
3750
+ __init__(EnergyStraggling self, Material const & m) -> EnergyStraggling
3751
+
3752
+ Fluctuations of energy loss through matter.
3753
+
3754
+
3755
+ """
3756
+ _RF_Track.EnergyStraggling_swiginit(self, _RF_Track.new_EnergyStraggling(*args))
3757
+ compute_force = _swig_new_instance_method(_RF_Track.EnergyStraggling_compute_force)
3758
+ __swig_destroy__ = _RF_Track.delete_EnergyStraggling
3759
+
3760
+ # Register EnergyStraggling in _RF_Track:
3761
+ _RF_Track.EnergyStraggling_swigregister(EnergyStraggling)
3762
+ class StoppingPower(CollectiveEffect):
3763
+ r"""
3764
+
3765
+ Mean energy loss through matter due to stopping power.
3766
+
3767
+
3768
+ """
3769
+
3770
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3771
+ __repr__ = _swig_repr
3772
+
3773
+ def __init__(self, *args):
3774
+ r"""
3775
+ __init__(StoppingPower self, double radiation_length=0.0, double Z=0.0, double A=0.0, double density=0.0, double mean_excitation_energy=-1.0) -> StoppingPower
3776
+ __init__(StoppingPower self, std::string const & material_name) -> StoppingPower
3777
+ __init__(StoppingPower self, StoppingPower m) -> StoppingPower
3778
+ __init__(StoppingPower self, Material const & m) -> StoppingPower
3779
+
3780
+ Mean energy loss through matter due to stopping power.
3781
+
3782
+
3783
+ """
3784
+ _RF_Track.StoppingPower_swiginit(self, _RF_Track.new_StoppingPower(*args))
3785
+ __swig_destroy__ = _RF_Track.delete_StoppingPower
3786
+ __assign__ = _swig_new_instance_method(_RF_Track.StoppingPower___assign__)
3787
+
3788
+ # Register StoppingPower in _RF_Track:
3789
+ _RF_Track.StoppingPower_swigregister(StoppingPower)
3790
+ class IncoherentSynchrotronRadiation(CollectiveEffect):
3791
+ r"""
3792
+
3793
+ Radiative energy loss and quantum excitation from incoherent synchrotron radiation.
3794
+
3795
+
3796
+ """
3797
+
3798
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3799
+ __repr__ = _swig_repr
3800
+
3801
+ def __init__(self, quantum=False, create_photons=False):
3802
+ r"""
3803
+ __init__(IncoherentSynchrotronRadiation self, bool quantum=False, bool create_photons=False) -> IncoherentSynchrotronRadiation
3804
+
3805
+ Radiative energy loss and quantum excitation from incoherent synchrotron radiation.
3806
+
3807
+
3808
+ """
3809
+ _RF_Track.IncoherentSynchrotronRadiation_swiginit(self, _RF_Track.new_IncoherentSynchrotronRadiation(quantum, create_photons))
3810
+ compute_force = _swig_new_instance_method(_RF_Track.IncoherentSynchrotronRadiation_compute_force)
3811
+ __swig_destroy__ = _RF_Track.delete_IncoherentSynchrotronRadiation
3812
+
3813
+ # Register IncoherentSynchrotronRadiation in _RF_Track:
3814
+ _RF_Track.IncoherentSynchrotronRadiation_swigregister(IncoherentSynchrotronRadiation)
3815
+ class SpaceCharge_PIC_LongCylinder(SpaceCharge_PIC_LongCylinder_T):
3816
+ r"""
3817
+
3818
+ Particle-in-cell space-charge solver with a long conducting cylindrical boundary.
3819
+
3820
+
3821
+ """
3822
+
3823
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3824
+ __repr__ = _swig_repr
3825
+
3826
+ def __init__(self, Nx_=1, Ny_=1, Nz_=1, a=1.0):
3827
+ r"""
3828
+ __init__(SpaceCharge_PIC_LongCylinder self, size_t Nx_=1, size_t Ny_=1, size_t Nz_=1, double a=1.0) -> SpaceCharge_PIC_LongCylinder
3829
+
3830
+ Particle-in-cell space-charge solver with a long conducting cylindrical boundary.
3831
+
3832
+
3833
+ """
3834
+ _RF_Track.SpaceCharge_PIC_LongCylinder_swiginit(self, _RF_Track.new_SpaceCharge_PIC_LongCylinder(Nx_, Ny_, Nz_, a))
3835
+ set_aperture = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_set_aperture)
3836
+ get_aperture = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_LongCylinder_get_aperture)
3837
+ __swig_destroy__ = _RF_Track.delete_SpaceCharge_PIC_LongCylinder
3838
+
3839
+ # Register SpaceCharge_PIC_LongCylinder in _RF_Track:
3840
+ _RF_Track.SpaceCharge_PIC_LongCylinder_swigregister(SpaceCharge_PIC_LongCylinder)
3841
+ class SpaceCharge_PIC_HorizontalPlates(SpaceCharge_PIC_HorizontalPlates_T):
3842
+ r"""
3843
+
3844
+ Particle-in-cell space-charge solver between conducting horizontal plates.
3845
+
3846
+
3847
+ """
3848
+
3849
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3850
+ __repr__ = _swig_repr
3851
+
3852
+ def __init__(self, Nx_=1, Ny_=1, Nz_=1, h=1.0):
3853
+ r"""
3854
+ __init__(SpaceCharge_PIC_HorizontalPlates self, size_t Nx_=1, size_t Ny_=1, size_t Nz_=1, double h=1.0) -> SpaceCharge_PIC_HorizontalPlates
3855
+
3856
+ Particle-in-cell space-charge solver between conducting horizontal plates.
3857
+
3858
+
3859
+ """
3860
+ _RF_Track.SpaceCharge_PIC_HorizontalPlates_swiginit(self, _RF_Track.new_SpaceCharge_PIC_HorizontalPlates(Nx_, Ny_, Nz_, h))
3861
+ set_half_gap = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_set_half_gap)
3862
+ get_half_gap = _swig_new_instance_method(_RF_Track.SpaceCharge_PIC_HorizontalPlates_get_half_gap)
3863
+ __swig_destroy__ = _RF_Track.delete_SpaceCharge_PIC_HorizontalPlates
3864
+
3865
+ # Register SpaceCharge_PIC_HorizontalPlates in _RF_Track:
3866
+ _RF_Track.SpaceCharge_PIC_HorizontalPlates_swigregister(SpaceCharge_PIC_HorizontalPlates)
3867
+ class Visitor(object):
3868
+ r"""
3869
+
3870
+ Base interface for visiting beamline elements.
3871
+
3872
+
3873
+ """
3874
+
3875
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3876
+ __repr__ = _swig_repr
3877
+ __swig_destroy__ = _RF_Track.delete_Visitor
3878
+ visit = _swig_new_instance_method(_RF_Track.Visitor_visit)
3879
+ should_stop = _swig_new_instance_method(_RF_Track.Visitor_should_stop)
3880
+
3881
+ def __init__(self):
3882
+ r"""
3883
+ __init__(Visitor self) -> Visitor
3884
+
3885
+ Base interface for visiting beamline elements.
3886
+
3887
+
3888
+ """
3889
+ _RF_Track.Visitor_swiginit(self, _RF_Track.new_Visitor())
3890
+
3891
+ # Register Visitor in _RF_Track:
3892
+ _RF_Track.Visitor_swigregister(Visitor)
3893
+ class UserEffect(CollectiveEffect):
3894
+ r"""
3895
+
3896
+ Subclass in Python or Octave to implement a collective force. Force outputs have one row
3897
+ per macroparticle and three columns in MeV/m. Time and spatial tracking use different
3898
+ compute_force overloads; consult the extension examples in manual chapter 9.
3899
+
3900
+
3901
+ """
3902
+
3903
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3904
+ __repr__ = _swig_repr
3905
+
3906
+ def __init__(self):
3907
+ r"""
3908
+ __init__(UserEffect self) -> UserEffect
3909
+
3910
+ Subclass in Python or Octave to implement a collective force. Force outputs have one row
3911
+ per macroparticle and three columns in MeV/m. Time and spatial tracking use different
3912
+ compute_force overloads; consult the extension examples in manual chapter 9.
3913
+
3914
+
3915
+ """
3916
+ if self.__class__ == UserEffect:
3917
+ _self = None
3918
+ else:
3919
+ _self = self
3920
+ _RF_Track.UserEffect_swiginit(self, _RF_Track.new_UserEffect(_self, ))
3921
+ __swig_destroy__ = _RF_Track.delete_UserEffect
3922
+ compute_force = _swig_new_instance_method(_RF_Track.UserEffect_compute_force)
3923
+ def __disown__(self):
3924
+ self.this.disown()
3925
+ _RF_Track.disown_UserEffect(self)
3926
+ return weakref.proxy(self)
3927
+
3928
+ # Register UserEffect in _RF_Track:
3929
+ _RF_Track.UserEffect_swigregister(UserEffect)
3930
+ class UserElement(TimeDependent_Field):
3931
+ r"""
3932
+
3933
+ Subclass in Python or Octave to implement a custom lattice element. Initialize the
3934
+ parent with the element length in metres. Override track(bunch) and modify its Bunch6d
3935
+ argument in place; no return value is used. Override btrack for backward tracking. See
3936
+ manual chapter 9 for director/subclass examples.
3937
+
3938
+
3939
+ """
3940
+
3941
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3942
+ __repr__ = _swig_repr
3943
+
3944
+ def __init__(self, L=0.0):
3945
+ r"""
3946
+ __init__(UserElement self, double L=0.0) -> UserElement
3947
+
3948
+ Subclass in Python or Octave to implement a custom lattice element. Initialize the
3949
+ parent with the element length in metres. Override track(bunch) and modify its Bunch6d
3950
+ argument in place; no return value is used. Override btrack for backward tracking. See
3951
+ manual chapter 9 for director/subclass examples.
3952
+
3953
+
3954
+ """
3955
+ if self.__class__ == UserElement:
3956
+ _self = None
3957
+ else:
3958
+ _self = self
3959
+ _RF_Track.UserElement_swiginit(self, _RF_Track.new_UserElement(_self, L))
3960
+ __swig_destroy__ = _RF_Track.delete_UserElement
3961
+ get_length = _swig_new_instance_method(_RF_Track.UserElement_get_length)
3962
+ track = _swig_new_instance_method(_RF_Track.UserElement_track)
3963
+ btrack = _swig_new_instance_method(_RF_Track.UserElement_btrack)
3964
+ def __disown__(self):
3965
+ self.this.disown()
3966
+ _RF_Track.disown_UserElement(self)
3967
+ return weakref.proxy(self)
3968
+
3969
+ # Register UserElement in _RF_Track:
3970
+ _RF_Track.UserElement_swigregister(UserElement)
3971
+ class UserField(TimeDependent_Field):
3972
+ r"""
3973
+
3974
+ Subclass in Python or Octave to implement an electromagnetic field. Override
3975
+ get_field(x,y,z,t), with positions in mm and time in mm/c, returning E [V/m] and B [T].
3976
+
3977
+
3978
+ """
3979
+
3980
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3981
+ __repr__ = _swig_repr
3982
+
3983
+ def __init__(self, L=0):
3984
+ r"""
3985
+ __init__(UserField self, double L=0) -> UserField
3986
+
3987
+ Subclass in Python or Octave to implement an electromagnetic field. Override
3988
+ get_field(x,y,z,t), with positions in mm and time in mm/c, returning E [V/m] and B [T].
3989
+
3990
+
3991
+ """
3992
+ if self.__class__ == UserField:
3993
+ _self = None
3994
+ else:
3995
+ _self = self
3996
+ _RF_Track.UserField_swiginit(self, _RF_Track.new_UserField(_self, L))
3997
+ __swig_destroy__ = _RF_Track.delete_UserField
3998
+ get_length = _swig_new_instance_method(_RF_Track.UserField_get_length)
3999
+ get_field = _swig_new_instance_method(_RF_Track.UserField_get_field)
4000
+ def __disown__(self):
4001
+ self.this.disown()
4002
+ _RF_Track.disown_UserField(self)
4003
+ return weakref.proxy(self)
4004
+
4005
+ # Register UserField in _RF_Track:
4006
+ _RF_Track.UserField_swigregister(UserField)
4007
+ class UserVisitor(Visitor):
4008
+ r"""
4009
+
4010
+ Subclass to traverse and inspect or modify beamline elements through the visitor
4011
+ callbacks. Pass the visitor to the beamline accept method.
4012
+
4013
+
4014
+ """
4015
+
4016
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4017
+ __repr__ = _swig_repr
4018
+
4019
+ def __init__(self):
4020
+ r"""
4021
+ __init__(UserVisitor self) -> UserVisitor
4022
+
4023
+ Subclass to traverse and inspect or modify beamline elements through the visitor
4024
+ callbacks. Pass the visitor to the beamline accept method.
4025
+
4026
+
4027
+ """
4028
+ if self.__class__ == UserVisitor:
4029
+ _self = None
4030
+ else:
4031
+ _self = self
4032
+ _RF_Track.UserVisitor_swiginit(self, _RF_Track.new_UserVisitor(_self, ))
4033
+ __swig_destroy__ = _RF_Track.delete_UserVisitor
4034
+ stop_at = _swig_new_instance_method(_RF_Track.UserVisitor_stop_at)
4035
+ visit = _swig_new_instance_method(_RF_Track.UserVisitor_visit)
4036
+ def __disown__(self):
4037
+ self.this.disown()
4038
+ _RF_Track.disown_UserVisitor(self)
4039
+ return weakref.proxy(self)
4040
+
4041
+ # Register UserVisitor in _RF_Track:
4042
+ _RF_Track.UserVisitor_swigregister(UserVisitor)
4043
+ class Wakefield_1d_CINT(CollectiveEffect):
4044
+ r"""
4045
+
4046
+ Wakefield effect from one-dimensional sampled wake functions. Linear and cubic
4047
+ interpolation variants are exposed by the interface.
4048
+
4049
+
4050
+ """
4051
+
4052
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4053
+ __repr__ = _swig_repr
4054
+
4055
+ def __init__(self, *args):
4056
+ r"""
4057
+ __init__(Wakefield_1d_CINT self, Mesh1d const & W_transv_, Mesh1d const & W_long_, double hz_, size_t nbins_=63) -> Wakefield_1d_CINT
4058
+ __init__(Wakefield_1d_CINT self, Mesh1d const & W_transv_, double hz_, size_t nbins_=63) -> Wakefield_1d_CINT
4059
+ __init__(Wakefield_1d_CINT self, size_t nbins_=63) -> Wakefield_1d_CINT
4060
+
4061
+ Wakefield effect from one-dimensional sampled wake functions. Linear and cubic
4062
+ interpolation variants are exposed by the interface.
4063
+
4064
+
4065
+ """
4066
+ _RF_Track.Wakefield_1d_CINT_swiginit(self, _RF_Track.new_Wakefield_1d_CINT(*args))
4067
+ w_transv = _swig_new_instance_method(_RF_Track.Wakefield_1d_CINT_w_transv)
4068
+ w_long = _swig_new_instance_method(_RF_Track.Wakefield_1d_CINT_w_long)
4069
+ set_nbins = _swig_new_instance_method(_RF_Track.Wakefield_1d_CINT_set_nbins)
4070
+ set_hz = _swig_new_instance_method(_RF_Track.Wakefield_1d_CINT_set_hz)
4071
+ get_hz = _swig_new_instance_method(_RF_Track.Wakefield_1d_CINT_get_hz)
4072
+ __swig_destroy__ = _RF_Track.delete_Wakefield_1d_CINT
4073
+
4074
+ # Register Wakefield_1d_CINT in _RF_Track:
4075
+ _RF_Track.Wakefield_1d_CINT_swigregister(Wakefield_1d_CINT)
4076
+ class Wakefield_1d(CollectiveEffect):
4077
+ r"""
4078
+
4079
+
4080
+
4081
+ Wakefield effect from one-dimensional sampled wake functions. Linear and cubic
4082
+ interpolation variants are exposed by the interface.
4083
+
4084
+
4085
+ """
4086
+
4087
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4088
+ __repr__ = _swig_repr
4089
+
4090
+ def __init__(self, *args):
4091
+ r"""
4092
+ __init__(Wakefield_1d self, Mesh1d const & W_transv_, Mesh1d const & W_long_, double hz_, size_t nbins_=63) -> Wakefield_1d
4093
+ __init__(Wakefield_1d self, Mesh1d const & W_transv_, double hz_, size_t nbins_=63) -> Wakefield_1d
4094
+ __init__(Wakefield_1d self, size_t nbins_=63) -> Wakefield_1d
4095
+
4096
+ Wakefield effect from one-dimensional sampled wake functions. Linear and cubic
4097
+ interpolation variants are exposed by the interface.
4098
+
4099
+
4100
+ """
4101
+ _RF_Track.Wakefield_1d_swiginit(self, _RF_Track.new_Wakefield_1d(*args))
4102
+ w_transv = _swig_new_instance_method(_RF_Track.Wakefield_1d_w_transv)
4103
+ w_long = _swig_new_instance_method(_RF_Track.Wakefield_1d_w_long)
4104
+ set_nbins = _swig_new_instance_method(_RF_Track.Wakefield_1d_set_nbins)
4105
+ set_hz = _swig_new_instance_method(_RF_Track.Wakefield_1d_set_hz)
4106
+ get_hz = _swig_new_instance_method(_RF_Track.Wakefield_1d_get_hz)
4107
+ __swig_destroy__ = _RF_Track.delete_Wakefield_1d
4108
+
4109
+ # Register Wakefield_1d in _RF_Track:
4110
+ _RF_Track.Wakefield_1d_swigregister(Wakefield_1d)
4111
+ class RF_FieldMap_CINT(RF_Field):
4112
+ r"""
4113
+
4114
+ Three-dimensional RF field map on a regular Cartesian mesh. Electric components are in
4115
+ V/m and magnetic components in T; origins, mesh spacings and element length are in
4116
+ metres. Frequency is in Hz. P_map and P_actual are in W; field amplitude scales with
4117
+ sqrt(P_actual/P_map). Direction selects forward (+1), backward (-1), or static (0)
4118
+ fields. NaN field values mark material boundaries.
4119
+
4120
+
4121
+ """
4122
+
4123
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4124
+ __repr__ = _swig_repr
4125
+
4126
+ def __init__(self, *args):
4127
+ r"""
4128
+ __init__(RF_FieldMap_CINT self, ComplexMesh3d const & Ex, ComplexMesh3d const & Ey, ComplexMesh3d const & Ez, ComplexMesh3d const & Bx, ComplexMesh3d const & By, ComplexMesh3d const & Bz, double xa, double ya, double hx, double hy, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_CINT
4129
+ __init__(RF_FieldMap_CINT self, double Ex, double Ey, double Ez, ComplexMesh3d const & Bx, ComplexMesh3d const & By, ComplexMesh3d const & Bz, double xa, double ya, double hx, double hy, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_CINT
4130
+ __init__(RF_FieldMap_CINT self, ComplexMesh3d const & Ex, ComplexMesh3d const & Ey, ComplexMesh3d const & Ez, double Bx, double By, double Bz, double xa, double ya, double hx, double hy, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_CINT
4131
+ __init__(RF_FieldMap_CINT self) -> RF_FieldMap_CINT
4132
+
4133
+ Three-dimensional RF field map on a regular Cartesian mesh. Electric components are in
4134
+ V/m and magnetic components in T; origins, mesh spacings and element length are in
4135
+ metres. Frequency is in Hz. P_map and P_actual are in W; field amplitude scales with
4136
+ sqrt(P_actual/P_map). Direction selects forward (+1), backward (-1), or static (0)
4137
+ fields. NaN field values mark material boundaries.
4138
+
4139
+
4140
+ """
4141
+ _RF_Track.RF_FieldMap_CINT_swiginit(self, _RF_Track.new_RF_FieldMap_CINT(*args))
4142
+ get_hx = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_hx)
4143
+ get_hy = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_hy)
4144
+ get_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_hz)
4145
+ get_nx = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_nx)
4146
+ get_ny = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_ny)
4147
+ get_nz = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_nz)
4148
+ get_xa = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_xa)
4149
+ get_ya = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_ya)
4150
+ get_x0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_x0)
4151
+ get_y0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_y0)
4152
+ get_z0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_z0)
4153
+ get_x1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_x1)
4154
+ get_y1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_y1)
4155
+ get_z1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_z1)
4156
+ is_cylindrical = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_is_cylindrical)
4157
+ set_cylindrical = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_set_cylindrical)
4158
+ get_P_map = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_P_map)
4159
+ get_P_actual = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_P_actual)
4160
+ get_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_get_direction)
4161
+ set_hx = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_set_hx)
4162
+ set_hy = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_set_hy)
4163
+ set_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_set_hz)
4164
+ set_xa = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_set_xa)
4165
+ set_ya = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_set_ya)
4166
+ set_z0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_set_z0)
4167
+ set_z1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_set_z1)
4168
+ set_smooth = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_set_smooth)
4169
+ set_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_CINT_set_direction)
4170
+ __swig_destroy__ = _RF_Track.delete_RF_FieldMap_CINT
4171
+
4172
+ # Register RF_FieldMap_CINT in _RF_Track:
4173
+ _RF_Track.RF_FieldMap_CINT_swigregister(RF_FieldMap_CINT)
4174
+ class RF_FieldMap(RF_Field):
4175
+ r"""
4176
+
4177
+
4178
+
4179
+ Three-dimensional RF field map on a regular Cartesian mesh. Electric components are in
4180
+ V/m and magnetic components in T; origins, mesh spacings and element length are in
4181
+ metres. Frequency is in Hz. P_map and P_actual are in W; field amplitude scales with
4182
+ sqrt(P_actual/P_map). Direction selects forward (+1), backward (-1), or static (0)
4183
+ fields. NaN field values mark material boundaries.
4184
+
4185
+
4186
+ """
4187
+
4188
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4189
+ __repr__ = _swig_repr
4190
+
4191
+ def __init__(self, *args):
4192
+ r"""
4193
+ __init__(RF_FieldMap self, ComplexMesh3d const & Ex, ComplexMesh3d const & Ey, ComplexMesh3d const & Ez, ComplexMesh3d const & Bx, ComplexMesh3d const & By, ComplexMesh3d const & Bz, double xa, double ya, double hx, double hy, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap
4194
+ __init__(RF_FieldMap self, double Ex, double Ey, double Ez, ComplexMesh3d const & Bx, ComplexMesh3d const & By, ComplexMesh3d const & Bz, double xa, double ya, double hx, double hy, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap
4195
+ __init__(RF_FieldMap self, ComplexMesh3d const & Ex, ComplexMesh3d const & Ey, ComplexMesh3d const & Ez, double Bx, double By, double Bz, double xa, double ya, double hx, double hy, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap
4196
+ __init__(RF_FieldMap self) -> RF_FieldMap
4197
+
4198
+ Three-dimensional RF field map on a regular Cartesian mesh. Electric components are in
4199
+ V/m and magnetic components in T; origins, mesh spacings and element length are in
4200
+ metres. Frequency is in Hz. P_map and P_actual are in W; field amplitude scales with
4201
+ sqrt(P_actual/P_map). Direction selects forward (+1), backward (-1), or static (0)
4202
+ fields. NaN field values mark material boundaries.
4203
+
4204
+
4205
+ """
4206
+ _RF_Track.RF_FieldMap_swiginit(self, _RF_Track.new_RF_FieldMap(*args))
4207
+ get_hx = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_hx)
4208
+ get_hy = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_hy)
4209
+ get_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_hz)
4210
+ get_nx = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_nx)
4211
+ get_ny = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_ny)
4212
+ get_nz = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_nz)
4213
+ get_xa = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_xa)
4214
+ get_ya = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_ya)
4215
+ get_x0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_x0)
4216
+ get_y0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_y0)
4217
+ get_z0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_z0)
4218
+ get_x1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_x1)
4219
+ get_y1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_y1)
4220
+ get_z1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_z1)
4221
+ is_cylindrical = _swig_new_instance_method(_RF_Track.RF_FieldMap_is_cylindrical)
4222
+ set_cylindrical = _swig_new_instance_method(_RF_Track.RF_FieldMap_set_cylindrical)
4223
+ get_P_map = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_P_map)
4224
+ get_P_actual = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_P_actual)
4225
+ get_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_get_direction)
4226
+ set_hx = _swig_new_instance_method(_RF_Track.RF_FieldMap_set_hx)
4227
+ set_hy = _swig_new_instance_method(_RF_Track.RF_FieldMap_set_hy)
4228
+ set_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_set_hz)
4229
+ set_xa = _swig_new_instance_method(_RF_Track.RF_FieldMap_set_xa)
4230
+ set_ya = _swig_new_instance_method(_RF_Track.RF_FieldMap_set_ya)
4231
+ set_z0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_set_z0)
4232
+ set_z1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_set_z1)
4233
+ set_smooth = _swig_new_instance_method(_RF_Track.RF_FieldMap_set_smooth)
4234
+ set_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_set_direction)
4235
+ __swig_destroy__ = _RF_Track.delete_RF_FieldMap
4236
+
4237
+ # Register RF_FieldMap in _RF_Track:
4238
+ _RF_Track.RF_FieldMap_swigregister(RF_FieldMap)
4239
+ class RF_FieldMap_2d_CINT(RF_Field):
4240
+ r"""
4241
+
4242
+ Cylindrically symmetric RF field map on a regular radial/longitudinal mesh. Electric
4243
+ fields are in V/m, magnetic fields in T, geometry in m, frequency in Hz and
4244
+ map/operating powers in W.
4245
+
4246
+
4247
+ """
4248
+
4249
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4250
+ __repr__ = _swig_repr
4251
+
4252
+ def __init__(self, *args):
4253
+ r"""
4254
+ __init__(RF_FieldMap_2d_CINT self, ComplexMesh2d const & Er, ComplexMesh2d const & Ez, ComplexMesh2d const & Bt, ComplexMesh2d const & Bz, double hr, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_2d_CINT
4255
+ __init__(RF_FieldMap_2d_CINT self, double Er, double Ez, ComplexMesh2d const & Bt, ComplexMesh2d const & Bz, double hr, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_2d_CINT
4256
+ __init__(RF_FieldMap_2d_CINT self, ComplexMesh2d const & Er, ComplexMesh2d const & Ez, double Bt, double Bz, double hr, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_2d_CINT
4257
+ __init__(RF_FieldMap_2d_CINT self) -> RF_FieldMap_2d_CINT
4258
+
4259
+ Cylindrically symmetric RF field map on a regular radial/longitudinal mesh. Electric
4260
+ fields are in V/m, magnetic fields in T, geometry in m, frequency in Hz and
4261
+ map/operating powers in W.
4262
+
4263
+
4264
+ """
4265
+ _RF_Track.RF_FieldMap_2d_CINT_swiginit(self, _RF_Track.new_RF_FieldMap_2d_CINT(*args))
4266
+ get_hr = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_get_hr)
4267
+ get_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_get_hz)
4268
+ get_nr = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_get_nr)
4269
+ get_nz = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_get_nz)
4270
+ get_P_map = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_get_P_map)
4271
+ get_P_actual = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_get_P_actual)
4272
+ get_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_get_direction)
4273
+ set_hr = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_set_hr)
4274
+ set_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_set_hz)
4275
+ set_z0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_set_z0)
4276
+ set_z1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_set_z1)
4277
+ set_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_CINT_set_direction)
4278
+ __swig_destroy__ = _RF_Track.delete_RF_FieldMap_2d_CINT
4279
+
4280
+ # Register RF_FieldMap_2d_CINT in _RF_Track:
4281
+ _RF_Track.RF_FieldMap_2d_CINT_swigregister(RF_FieldMap_2d_CINT)
4282
+ class RF_FieldMap_2d(RF_Field):
4283
+ r"""
4284
+
4285
+
4286
+
4287
+ Cylindrically symmetric RF field map on a regular radial/longitudinal mesh. Electric
4288
+ fields are in V/m, magnetic fields in T, geometry in m, frequency in Hz and
4289
+ map/operating powers in W.
4290
+
4291
+
4292
+ """
4293
+
4294
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4295
+ __repr__ = _swig_repr
4296
+
4297
+ def __init__(self, *args):
4298
+ r"""
4299
+ __init__(RF_FieldMap_2d self, ComplexMesh2d const & Er, ComplexMesh2d const & Ez, ComplexMesh2d const & Bt, ComplexMesh2d const & Bz, double hr, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_2d
4300
+ __init__(RF_FieldMap_2d self, double Er, double Ez, ComplexMesh2d const & Bt, ComplexMesh2d const & Bz, double hr, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_2d
4301
+ __init__(RF_FieldMap_2d self, ComplexMesh2d const & Er, ComplexMesh2d const & Ez, double Bt, double Bz, double hr, double hz, double length, double freq, double direction, double P_map=1.0, double P_actual=1.0) -> RF_FieldMap_2d
4302
+ __init__(RF_FieldMap_2d self) -> RF_FieldMap_2d
4303
+
4304
+ Cylindrically symmetric RF field map on a regular radial/longitudinal mesh. Electric
4305
+ fields are in V/m, magnetic fields in T, geometry in m, frequency in Hz and
4306
+ map/operating powers in W.
4307
+
4308
+
4309
+ """
4310
+ _RF_Track.RF_FieldMap_2d_swiginit(self, _RF_Track.new_RF_FieldMap_2d(*args))
4311
+ get_hr = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_get_hr)
4312
+ get_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_get_hz)
4313
+ get_nr = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_get_nr)
4314
+ get_nz = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_get_nz)
4315
+ get_P_map = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_get_P_map)
4316
+ get_P_actual = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_get_P_actual)
4317
+ get_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_get_direction)
4318
+ set_hr = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_set_hr)
4319
+ set_hz = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_set_hz)
4320
+ set_z0 = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_set_z0)
4321
+ set_z1 = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_set_z1)
4322
+ set_direction = _swig_new_instance_method(_RF_Track.RF_FieldMap_2d_set_direction)
4323
+ __swig_destroy__ = _RF_Track.delete_RF_FieldMap_2d
4324
+
4325
+ # Register RF_FieldMap_2d in _RF_Track:
4326
+ _RF_Track.RF_FieldMap_2d_swigregister(RF_FieldMap_2d)
4327
+ class Static_Magnetic_FieldMap_1d_CINT(GenericField):
4328
+ r"""
4329
+
4330
+ Axisymmetric static magnetic field reconstructed from an on-axis Bz map in T.
4331
+ Longitudinal spacing and length are in metres.
4332
+
4333
+
4334
+ """
4335
+
4336
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4337
+ __repr__ = _swig_repr
4338
+
4339
+ def __init__(self, *args):
4340
+ r"""
4341
+ __init__(Static_Magnetic_FieldMap_1d_CINT self, Mesh1d const & static_Bz, double hz, double length=-1) -> Static_Magnetic_FieldMap_1d_CINT
4342
+ __init__(Static_Magnetic_FieldMap_1d_CINT self) -> Static_Magnetic_FieldMap_1d_CINT
4343
+
4344
+ Axisymmetric static magnetic field reconstructed from an on-axis Bz map in T.
4345
+ Longitudinal spacing and length are in metres.
4346
+
4347
+
4348
+ """
4349
+ _RF_Track.Static_Magnetic_FieldMap_1d_CINT_swiginit(self, _RF_Track.new_Static_Magnetic_FieldMap_1d_CINT(*args))
4350
+ get_hz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_CINT_get_hz)
4351
+ get_nz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_CINT_get_nz)
4352
+ get_z0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_CINT_get_z0)
4353
+ get_z1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_CINT_get_z1)
4354
+ set_smooth = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_CINT_set_smooth)
4355
+ set_hz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_CINT_set_hz)
4356
+ set_z0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_CINT_set_z0)
4357
+ set_z1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_CINT_set_z1)
4358
+ __swig_destroy__ = _RF_Track.delete_Static_Magnetic_FieldMap_1d_CINT
4359
+
4360
+ # Register Static_Magnetic_FieldMap_1d_CINT in _RF_Track:
4361
+ _RF_Track.Static_Magnetic_FieldMap_1d_CINT_swigregister(Static_Magnetic_FieldMap_1d_CINT)
4362
+ class Static_Magnetic_FieldMap_1d(GenericField):
4363
+ r"""
4364
+
4365
+
4366
+
4367
+ Axisymmetric static magnetic field reconstructed from an on-axis Bz map in T.
4368
+ Longitudinal spacing and length are in metres.
4369
+
4370
+
4371
+ """
4372
+
4373
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4374
+ __repr__ = _swig_repr
4375
+
4376
+ def __init__(self, *args):
4377
+ r"""
4378
+ __init__(Static_Magnetic_FieldMap_1d self, Mesh1d const & static_Bz, double hz, double length=-1) -> Static_Magnetic_FieldMap_1d
4379
+ __init__(Static_Magnetic_FieldMap_1d self) -> Static_Magnetic_FieldMap_1d
4380
+
4381
+ Axisymmetric static magnetic field reconstructed from an on-axis Bz map in T.
4382
+ Longitudinal spacing and length are in metres.
4383
+
4384
+
4385
+ """
4386
+ _RF_Track.Static_Magnetic_FieldMap_1d_swiginit(self, _RF_Track.new_Static_Magnetic_FieldMap_1d(*args))
4387
+ get_hz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_get_hz)
4388
+ get_nz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_get_nz)
4389
+ get_z0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_get_z0)
4390
+ get_z1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_get_z1)
4391
+ set_smooth = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_set_smooth)
4392
+ set_hz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_set_hz)
4393
+ set_z0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_set_z0)
4394
+ set_z1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_1d_set_z1)
4395
+ __swig_destroy__ = _RF_Track.delete_Static_Magnetic_FieldMap_1d
4396
+
4397
+ # Register Static_Magnetic_FieldMap_1d in _RF_Track:
4398
+ _RF_Track.Static_Magnetic_FieldMap_1d_swigregister(Static_Magnetic_FieldMap_1d)
4399
+ class Static_Magnetic_FieldMap_2d_CINT(GenericField):
4400
+ r"""
4401
+
4402
+ Axisymmetric static magnetic field supplied as Br and Bz on a regular
4403
+ radial/longitudinal mesh. Fields are in T and geometry arguments in metres.
4404
+
4405
+
4406
+ """
4407
+
4408
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4409
+ __repr__ = _swig_repr
4410
+
4411
+ def __init__(self, *args):
4412
+ r"""
4413
+ __init__(Static_Magnetic_FieldMap_2d_CINT self, Mesh2d const & static_Br, Mesh2d const & static_Bz, double hr, double hz, double length=-1) -> Static_Magnetic_FieldMap_2d_CINT
4414
+ __init__(Static_Magnetic_FieldMap_2d_CINT self) -> Static_Magnetic_FieldMap_2d_CINT
4415
+
4416
+ Axisymmetric static magnetic field supplied as Br and Bz on a regular
4417
+ radial/longitudinal mesh. Fields are in T and geometry arguments in metres.
4418
+
4419
+
4420
+ """
4421
+ _RF_Track.Static_Magnetic_FieldMap_2d_CINT_swiginit(self, _RF_Track.new_Static_Magnetic_FieldMap_2d_CINT(*args))
4422
+ get_hr = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_CINT_get_hr)
4423
+ get_hz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_CINT_get_hz)
4424
+ get_nr = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_CINT_get_nr)
4425
+ get_nz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_CINT_get_nz)
4426
+ get_z0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_CINT_get_z0)
4427
+ get_z1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_CINT_get_z1)
4428
+ set_hr = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_CINT_set_hr)
4429
+ set_hz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_CINT_set_hz)
4430
+ set_z0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_CINT_set_z0)
4431
+ set_z1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_CINT_set_z1)
4432
+ __swig_destroy__ = _RF_Track.delete_Static_Magnetic_FieldMap_2d_CINT
4433
+
4434
+ # Register Static_Magnetic_FieldMap_2d_CINT in _RF_Track:
4435
+ _RF_Track.Static_Magnetic_FieldMap_2d_CINT_swigregister(Static_Magnetic_FieldMap_2d_CINT)
4436
+ class Static_Magnetic_FieldMap_2d(GenericField):
4437
+ r"""
4438
+
4439
+
4440
+
4441
+ Axisymmetric static magnetic field supplied as Br and Bz on a regular
4442
+ radial/longitudinal mesh. Fields are in T and geometry arguments in metres.
4443
+
4444
+
4445
+ """
4446
+
4447
+ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4448
+ __repr__ = _swig_repr
4449
+
4450
+ def __init__(self, *args):
4451
+ r"""
4452
+ __init__(Static_Magnetic_FieldMap_2d self, Mesh2d const & static_Br, Mesh2d const & static_Bz, double hr, double hz, double length=-1) -> Static_Magnetic_FieldMap_2d
4453
+ __init__(Static_Magnetic_FieldMap_2d self) -> Static_Magnetic_FieldMap_2d
4454
+
4455
+ Axisymmetric static magnetic field supplied as Br and Bz on a regular
4456
+ radial/longitudinal mesh. Fields are in T and geometry arguments in metres.
4457
+
4458
+
4459
+ """
4460
+ _RF_Track.Static_Magnetic_FieldMap_2d_swiginit(self, _RF_Track.new_Static_Magnetic_FieldMap_2d(*args))
4461
+ get_hr = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_get_hr)
4462
+ get_hz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_get_hz)
4463
+ get_nr = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_get_nr)
4464
+ get_nz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_get_nz)
4465
+ get_z0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_get_z0)
4466
+ get_z1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_get_z1)
4467
+ set_hr = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_set_hr)
4468
+ set_hz = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_set_hz)
4469
+ set_z0 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_set_z0)
4470
+ set_z1 = _swig_new_instance_method(_RF_Track.Static_Magnetic_FieldMap_2d_set_z1)
4471
+ __swig_destroy__ = _RF_Track.delete_Static_Magnetic_FieldMap_2d
4472
+
4473
+ # Register Static_Magnetic_FieldMap_2d in _RF_Track:
4474
+ _RF_Track.Static_Magnetic_FieldMap_2d_swigregister(Static_Magnetic_FieldMap_2d)
4475
+
4476
+ Element.deepcopy = lambda self: self.clone()
4477
+ Particle.id = property(Particle.get_id, Particle.set_id)
4478
+ ParticleT.id = property(ParticleT.get_id, ParticleT.set_id)
4479
+ Particle.pdg_id = property(Particle.get_pdg_id, Particle.set_pdg_id)
4480
+ ParticleT.pdg_id = property(ParticleT.get_pdg_id, ParticleT.set_pdg_id)
4481
+
4482
+ # SWIG exposes writable C++ globals only through ``cvar``. Forward them at
4483
+ # module level as well, while retaining ``cvar`` for backwards compatibility.
4484
+ # A module subclass is needed so that assignments update the C++ variable
4485
+ # instead of merely replacing a Python module attribute.
4486
+ import sys as _sys
4487
+ import types as _types
4488
+
4489
+ _rft_writable_globals = frozenset(("number_of_threads", "SC_engine"))
4490
+
4491
+ class _RFTrackModule(_types.ModuleType):
4492
+ def __getattribute__(self, name):
4493
+ if name in _rft_writable_globals:
4494
+ return getattr(cvar, name)
4495
+ return _types.ModuleType.__getattribute__(self, name)
4496
+
4497
+ def __setattr__(self, name, value):
4498
+ if name in _rft_writable_globals:
4499
+ setattr(cvar, name, value)
4500
+ else:
4501
+ _types.ModuleType.__setattr__(self, name, value)
4502
+
4503
+ def __dir__(self):
4504
+ return sorted(set(_types.ModuleType.__dir__(self)) |
4505
+ _rft_writable_globals)
4506
+
4507
+ _sys.modules[__name__].__class__ = _RFTrackModule
4508
+
4509
+