39 from .
import config_setter_utils
as csu
49 """ Number of turbulent layers."""
53 """ Pupil pixel size (in meters)."""
55 """ L0 per layers in meters."""
57 """ Linear size of phase screens."""
59 """ Altitudes of each layer."""
61 """ Wind directions of each layer."""
63 """ Wind speeds of each layer."""
65 """ Fraction of r0 for each layer."""
67 """ x translation speed (in pix / iteration) for each layer."""
69 """ y translation speed (in pix / iteration) for each layer."""
71 """ RNG Seeds for each layer."""
75 """ Set the number of turbulent layers
77 :return: (long) number of screens.
82 """ Set the number of turbulent layers
84 :param n: (long) number of screens.
88 nscreens = property(get_nscreens, set_nscreens)
93 :return: (float) : global r0
100 :param r: (float) : global r0
102 self.
__r0 = csu.enforce_float(r)
104 r0 = property(get_r0, set_r0)
107 """ Get the pupil pixel size
109 :return: (float) : pupil pixel size
114 """ Set the pupil pixel size
116 :param xsize: (float) : pupil pixel size
120 pupixsize = property(get_pupixsize, set_pupixsize)
123 """ Get the L0 per layers
125 :return: (lit of float) : L0 for each layers
130 """ Set the L0 per layers
132 :param l: (lit of float) : L0 for each layers
134 self.
__L0 = csu.enforce_array(l, size=self.
nscreens, dtype=np.float32,
137 L0 = property(get_L0, set_L0)
140 """ Get the size of the phase screens
142 :return: (lit of float) : phase screens sizes
147 """ Set the size of the phase screens
149 :param l: (lit of float) : phase screens sizes
154 dim_screens = property(get_dim_screens, set_dim_screens)
157 """ Get the altitudes of each layer
159 :return: (lit of float) : altitudes
164 """ Set the altitudes of each layer
166 :param h: (lit of float) : altitudes
168 self.
__alt = csu.enforce_array(h, size=self.
nscreens, dtype=np.float32,
171 alt = property(get_alt, set_alt)
174 """ Get the wind direction for each layer
176 :return: (lit of float) : wind directions
181 """ Set the wind direction for each layer
183 :param l: (lit of float) : wind directions
188 winddir = property(get_winddir, set_winddir)
191 """ Get the the wind speed for each layer
193 :return: (list of float) : wind speeds
198 """ Set the the wind speed for each layer
200 :param l: (list of float) : wind speeds
205 windspeed = property(get_windspeed, set_windspeed)
208 """ Get the fraction of r0 for each layers
210 :return: (lit of float) : fraction of r0
215 """ Set the fraction of r0 for each layers
217 :param l: (lit of float) : fraction of r0
219 self.
__frac = csu.enforce_array(l, size=self.
nscreens, dtype=np.float32,
222 frac = property(get_frac, set_frac)
225 """ Get the translation speed on axis x for each layer
227 :return: (lit of float) : translation speed
232 """ Set the translation speed on axis x for each layer
234 :param l: (lit of float) : translation speed
239 _deltax = property(get_deltax, set_deltax)
242 """ Get the translation speed on axis y for each layer
244 :return: (lit of float) : translation speed
249 """ Set the translation speed on axis y for each layer
251 :param l: (lit of float) : translation speed
256 _deltay = property(get_deltay, set_deltay)
259 """ Get the seed for each layer
261 :return: (lit of int) : seed
266 """ Set the seed for each layer
268 :param l: (lit of int) : seed
270 self.
__seeds = csu.enforce_array(l, size=self.
nscreens, dtype=np.int64,
273 seeds = property(get_seeds, set_seeds)