 |
COMPASS
5.0.0
End-to-end AO simulation tool using GPU acceleration
|
Go to the documentation of this file.
42 #ifndef _SUTRA_SOURCE_H_
43 #define _SUTRA_SOURCE_H_
142 float mag,
float zerop,
long size,
string type,
148 float lambda,
float mag,
float zerop,
long size,
158 bool do_phase_var =
true,
bool async =
false);
181 float fitmax2x1dSinc(
float *d_img,
int ind_max,
int img_size);
185 float xoff,
float yoff,
float G,
float thetaML,
float dx,
186 float dy,
int block_size,
float delta);
188 int nx,
int ny,
int Nx,
float xoff,
float yoff,
191 float *d_odata,
float *d_idata,
int nx,
int ny,
192 int Nx,
float xoff,
float yoff,
int block_size);
202 float scale,
int puponly,
int nx,
int ny,
int Nx,
205 #endif // _SUTRA_SOURCE_H_
long npts
number of points in the pupil
int init_source(CarmaContext *context, float xpos, float ypos, float lambda, float mag, float zerop, long size, string type, int device)
int raytrace(bool rst=false)
this class provides the lgs features to COMPASS
int fill_amplipup(cuFloatComplex *amplipup, float *phase, float *mask, float scale, int puponly, int nx, int ny, int Nx, CarmaDevice *device)
float thetaML
Pupil rotation angle.
CarmaObj< float > * d_smallimg
temporary array for accurate strehl computation
int phase_var_count
counter for average phase variance in the pupil
int raytrace(SutraTelescope *tel, SutraAtmos *atmos, SutraDms *ydms, bool do_phase_var=true, bool async=false)
int comp_strehl(bool do_fit)
int raytrace(SutraTelescope *tel, bool rst=false)
float zp
imaging zero point
int add_layer(string type, int idx, float xoff, float yoff)
float G
Magnifying factor for WFS misalignment.
SutraPhase * d_phase
phase for this target
SutraSource(CarmaContext *context, float xpos, float ypos, float lambda, float mag, float zerop, long size, string type, int device)
this class provides the atmos features to COMPASS
map< type_screen, float > yoff
y reference for raytracing
int raytrace(SutraDms *ydms, bool rst=false, bool do_phase_var=true, bool async=false)
float strehl_se
short exposure strehl
CarmaHostObj< float > * phase_telemetry
int target_raytrace(float *d_odata, float *d_idata, int nx, int ny, int Nx, float xoff, float yoff, float G, float thetaML, float dx, float dy, int block_size, float delta)
int fft_goodsize(long size)
float ref_strehl
reference for strehl computation
int comp_image(int puponly=0, bool comp_le=true)
const int d_smallimg_size
this class provides the stream features to CarmaObj
int target_raytrace_async(CarmaStreams streams, float *d_odata, float *d_idata, int nx, int ny, int Nx, float xoff, float yoff, int block_size)
SutraLGS * d_lgs
the lgs object
float phase_var
current phase variance in the pupil
this class provides the telescope features to COMPASS
map< type_screen, float > xoff
x reference for raytracing
float dy
WFS misalignment.
float dx
WFS misalignment.
float posy
y position of target on the sky
int raytrace_shm(SutraAtmos *atmos)
this class provides the context in which CarmaObj are created
SutraSource(CarmaContext *context, float xpos, float ypos, float lambda, float mag, float zerop, long size, string type, CarmaObj< float > *pupil, int Npts, int device)
float phase_var_avg
average phase variance in the pupil
CarmaObj< int > * d_wherephase
positions of valid phase points in the pupil (target only)
float lambda
imaging lambda
float posx
x position of target on the sky
CarmaObj< cuFloatComplex > * d_amplipup
the complex amplitude in the pupil plane
CarmaObj< float > * d_pupil
the pupil mask
string type
type of source : target / wfs
CarmaContext * current_context
CarmaObj< float > * d_image_se
the resulting image for this target
float mag
brightness of target
CarmaObj< float > * d_phasepts
the valid phase points in the pupil (target only)
int block_size
optimum block size of device
this class provides the phase features to COMPASS
float strehl_le
long exposure strehl
this class provides the source features to COMPASS
std::pair< std::string, int > type_screen
int strehl_counter
counter for le strehl computation
CarmaObj< float > * d_image_le
the long exposure image for this target
int raytrace(SutraAtmos *atmos, bool async=false)
int remove_layer(string type, int idx)
CarmaObj< float > * d_ncpa_phase
ncpa phase