17 #ifndef _SUTRA_WFS_PYR_PYRHR_H_
18 #define _SUTRA_WFS_PYR_PYRHR_H_
63 int nbdevices,
int *devices);
66 int load_arrays(cuFloatComplex *halfxy,
float *cx,
float *cy,
float *weights,
67 float *sincar,
float *submask,
int *validsubsx,
68 int *validsubsy,
int *phasemap,
float *fluxPerSub,
84 map<vector<int>, cufftHandle *> fttotim_plans) {
87 int comp_nphot(
float ittime,
float optthroughput,
float diam,
float cobs,
88 float zerop,
float gsmag);
92 std::vector<CarmaObj<cuFloatComplex> *> d_camplipup_ngpu;
93 std::vector<CarmaObj<cuFloatComplex> *> d_camplifoc_ngpu;
94 std::vector<CarmaObj<cuFloatComplex> *> d_phalfxy_ngpu;
95 std::vector<CarmaObj<cuFloatComplex> *> d_fttotim_ngpu;
96 std::vector<CarmaObj<float> *> d_pyrfocalplane_ngpu;
97 std::vector<CarmaObj<float> *> d_screen_ngpu;
98 std::vector<CarmaObj<float> *> d_hrimg_ngpu;
99 std::vector<CarmaObj<float> *> d_submask_ngpu;
this class provides the context in which CarmaObj are created
this class provides the telescope features to COMPASS
this class provides the wfs_pyr_pyrhr features to COMPASS
CarmaHostObj< float > * pyr_cy
CarmaObj< float > * d_psum
CarmaObj< cuFloatComplex > * d_phalfxy
int comp_image(bool noise=true)
int set_submask(float *submask)
SutraWfs_PyrHR(CarmaContext *context, SutraTelescope *d_tel, CarmaObj< cuFloatComplex > *d_camplipup, CarmaObj< cuFloatComplex > *d_camplifoc, CarmaObj< cuFloatComplex > *d_fttotim, long nxsub, long nvalid, long npupils, long npix, long nphase, long nrebin, long nfft, long ntot, long npup, float pdiam, float nphotons, float nphot4imat, int lgs, bool fakecam, int max_flux_per_pix, int max_pix_value, bool roket, int device)
void comp_modulation(int cpt)
int comp_nphot(float ittime, float optthroughput, float diam, float cobs, float zerop, float gsmag)
int set_pyr_modulation_points(float *cx, float *cy, int npts)
int allocate_buffers(map< vector< int >, cufftHandle * > campli_plans, map< vector< int >, cufftHandle * > fttotim_plans)
CarmaHostObj< float > * pyr_cx
int set_pyr_mod_weights(float *weights, int npts)
CarmaObj< float > * d_modu_gather
int define_mpi_rank(int rank, int size)
int copy_valid_pix(float *img, int *validx, int *validy, int im_dim)
int set_phalfxy(cuFloatComplex *phalfxy)
CarmaObj< float > * d_hrimg
int fill_binimage(int async=0)
CarmaObj< cuFloatComplex > * d_poffsets
CarmaHostObj< float > * pyr_mod_weights
CarmaObj< float > * d_pyrfocalplane
SutraWfs_PyrHR(CarmaContext *context, SutraTelescope *d_tel, CarmaObj< cuFloatComplex > *d_camplipup, CarmaObj< cuFloatComplex > *d_camplifoc, CarmaObj< cuFloatComplex > *d_fttotim, long nxsub, long nvalid, long npupils, long npix, long nphase, long nrebin, long nfft, long ntot, long npup, float pdiam, float nphotons, float nphot4imat, int lgs, bool fakecam, int max_flux_per_pix, int max_pix_value, bool roket, int nbdevices, int *devices)
int load_arrays(cuFloatComplex *halfxy, float *cx, float *cy, float *weights, float *sincar, float *submask, int *validsubsx, int *validsubsy, int *phasemap, float *fluxPerSub, float *ttprojmat)
bool compute_pyrfocalplane
int set_pyr_modulation_points(float *cx, float *cy, float *weights, int npts)
this class provides the wfs features to COMPASS
CarmaObj< cuFloatComplex > * d_fttotim
CarmaObj< cuFloatComplex > * d_camplifoc
CarmaObj< cuFloatComplex > * d_camplipup