 |
COMPASS
5.0.0
End-to-end AO simulation tool using GPU acceleration
|
Go to the documentation of this file.
86 map<vector<int>, cufftHandle *> ftlgskern_plans,
long nvalid,
91 float *doffaxis,
float *prof1d,
float *profcum,
float *beam,
92 cuFloatComplex *ftbeam,
float *azimuth);
101 int interp_prof(cuFloatComplex *profout,
float *prof1d,
float *profcum,
102 int npix,
float *doffaxis,
float hg,
float pixsize,
float h0,
103 float deltah,
int hmax,
int Ntot,
CarmaDevice *device);
104 int times_ftbeam(cuFloatComplex *profout, cuFloatComplex *fbeam,
int N,
108 int lgs_rotate(cuFloatComplex *odata,
float *idata,
int width,
int height,
109 float *theta,
float center,
int Ntot,
CarmaDevice *device);
110 int rotate3d(cuFloatComplex *d_odata, cudaMemcpy3DParms copyParams,
111 cudaArray *d_array, cudaChannelFormatDesc channel_desc,
int width,
112 int height,
float *theta,
float center,
int Ntot,
115 #endif // _SUTRA_LGS_H_
CarmaObj< float > * d_beam
this class provides the lgs features to COMPASS
CarmaObj< float > * d_doffaxis
int roll_beam_exp(float *imout, cuFloatComplex *iprof, float *beam, int N, int Ntot, CarmaDevice *device)
CarmaObj< float > * d_lgskern
CarmaObj< float > * d_profcum
int load_prof(float *prof1d, float *profcum, float hg, float h0, float deltah)
int lgs_makespot(CarmaDevice *device, int nin)
CarmaObj< float > * d_azimuth
CarmaObj< cuFloatComplex > * d_ftlgskern
int rotate3d(cuFloatComplex *d_odata, cudaMemcpy3DParms copyParams, cudaArray *d_array, cudaChannelFormatDesc channel_desc, int width, int height, float *theta, float center, int Ntot, CarmaDevice *device)
int lgs_init(int nprof, float hg, float h0, float deltah, float pixsie, float *doffaxis, float *prof1d, float *profcum, float *beam, cuFloatComplex *ftbeam, float *azimuth)
int lgs_update(CarmaDevice *device)
cufftHandle * ftlgskern_plan
this class provides the context in which CarmaObj are created
CarmaObj< cuFloatComplex > * d_prof2d
SutraLGS(CarmaContext *context, CarmaObj< float > *d_lgskern, CarmaObj< cuFloatComplex > *d_ftlgskern, map< vector< int >, cufftHandle * > ftlgskern_plans, long nvalid, long npix, long nmaxhr)
CarmaObj< cuFloatComplex > * d_ftbeam
int lgs_rotate(cuFloatComplex *odata, float *idata, int width, int height, float *theta, float center, int Ntot, CarmaDevice *device)
CarmaObj< float > * d_prof1d
int times_ftbeam(cuFloatComplex *profout, cuFloatComplex *fbeam, int N, int Ntot, CarmaDevice *device)
int load_kernels(float *h_lgskern, CarmaDevice *device)
CarmaContext * current_context
int interp_prof(cuFloatComplex *profout, float *prof1d, float *profcum, int npix, float *doffaxis, float hg, float pixsize, float h0, float deltah, int hmax, int Ntot, CarmaDevice *device)