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.
- RF_Track.py +4509 -0
- _RF_Track.cp313-win_amd64.pyd +0 -0
- rf_track-2.7.2.data/platlib/fftw3-d20e8714df9708c0a5d9b8af7948ccd8.dll +0 -0
- rf_track-2.7.2.data/platlib/gsl-0d685d7ba0bf19545ef8440888ba1d23.dll +0 -0
- rf_track-2.7.2.data/platlib/gslcblas-3f8a0a48e9fad00daadb0807853ed43c.dll +0 -0
- rf_track-2.7.2.data/platlib/libcurl-531ecc97b34403d6cfec5bacd0ac0df1.dll +0 -0
- rf_track-2.7.2.data/platlib/msvcp140-0f885b509a685d2bbfa652fed26b5fb3.dll +0 -0
- rf_track-2.7.2.data/platlib/msvcp140_2-8b50c5ef14443911ad15f819a530f37f.dll +0 -0
- rf_track-2.7.2.data/platlib/msvcp140_atomic_wait-4cdcefc123380c8f46116e92310a3e8c.dll +0 -0
- rf_track-2.7.2.data/platlib/z-3298cae8047abeb00ba5a17eb32abf12.dll +0 -0
- rf_track-2.7.2.dist-info/DELVEWHEEL +2 -0
- rf_track-2.7.2.dist-info/METADATA +317 -0
- rf_track-2.7.2.dist-info/RECORD +53 -0
- rf_track-2.7.2.dist-info/WHEEL +5 -0
- rf_track-2.7.2.dist-info/licenses/LICENSE.md +11 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-assert.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-cmake.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-compat.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-concept-check.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-config.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-container-hash.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-container.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-core.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-describe.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-dynamic-bitset.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-headers.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-integer.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-intrusive.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-io.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-lexical-cast.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-math.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-move.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-mp11.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-predef.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-preprocessor.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-random.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-system.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-throw-exception.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-type-traits.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-utility.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-variant2.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/boost-winapi.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/curl.txt +48 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/eigen3.txt +677 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/fftw3.txt +340 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/gsl.txt +674 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/nlohmann-json.txt +21 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/vcpkg-boost.txt +20 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/vcpkg-cmake-config.txt +23 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/vcpkg-cmake.txt +20 -0
- rf_track-2.7.2.dist-info/licenses/third-party-licenses/zlib.txt +22 -0
- rf_track-2.7.2.dist-info/licenses/windows-compat/COPYRIGHT.musl +193 -0
- 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
|
+
|