61 map<vector<int>, cufftHandle *> ftlgskern_plans,
long nvalid,
66 float *doffaxis,
float *prof1d,
float *profcum,
float *beam,
67 cuFloatComplex *ftbeam,
float *azimuth);
76 int interp_prof(cuFloatComplex *profout,
float *prof1d,
float *profcum,
77 int npix,
float *doffaxis,
float hg,
float pixsize,
float h0,
78 float deltah,
int hmax,
int Ntot,
CarmaDevice *device);
79 int times_ftbeam(cuFloatComplex *profout, cuFloatComplex *fbeam,
int N,
81 int roll_beam_exp(
float *imout, cuFloatComplex *iprof,
float *beam,
int N,
83 int lgs_rotate(cuFloatComplex *odata,
float *idata,
int width,
int height,
84 float *theta,
float center,
int Ntot,
CarmaDevice *device);
this class provides the context in which CarmaObj are created
this class provides the lgs features to COMPASS
CarmaContext * current_context
CarmaObj< float > * d_doffaxis
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)
CarmaObj< float > * d_azimuth
CarmaObj< float > * d_prof1d
int lgs_makespot(CarmaDevice *device, int nin)
CarmaObj< float > * d_lgskern
CarmaObj< cuFloatComplex > * d_ftlgskern
int load_prof(float *prof1d, float *profcum, float hg, float h0, float deltah)
CarmaObj< cuFloatComplex > * d_ftbeam
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_prof2d
CarmaObj< float > * d_beam
cufftHandle * ftlgskern_plan
int lgs_update(CarmaDevice *device)
int load_kernels(float *h_lgskern, CarmaDevice *device)
CarmaObj< float > * d_profcum
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)
int times_ftbeam(cuFloatComplex *profout, cuFloatComplex *fbeam, int N, int Ntot, CarmaDevice *device)
int roll_beam_exp(float *imout, cuFloatComplex *iprof, float *beam, int N, int Ntot, CarmaDevice *device)
int lgs_rotate(cuFloatComplex *odata, float *idata, int width, int height, float *theta, float center, int Ntot, CarmaDevice *device)