 |
COMPASS
5.0.0
End-to-end AO simulation tool using GPU acceleration
|
Go to the documentation of this file.
42 #ifndef _SUTRA_WFS_PYR_PYRHR_H_
43 #define _SUTRA_WFS_PYR_PYRHR_H_
89 int nbdevices,
int *devices);
92 int load_arrays(cuFloatComplex *halfxy,
float *cx,
float *cy,
float *weights,
93 float *sincar,
float *submask,
int *validsubsx,
94 int *validsubsy,
int *phasemap,
float *fluxPerSub);
109 map<vector<int>, cufftHandle *> fttotim_plans) {
112 int comp_nphot(
float ittime,
float optthroughput,
float diam,
float cobs,
113 float zerop,
float gsmag);
117 std::vector<CarmaObj<cuFloatComplex> *> d_camplipup_ngpu;
118 std::vector<CarmaObj<cuFloatComplex> *> d_camplifoc_ngpu;
119 std::vector<CarmaObj<cuFloatComplex> *> d_phalfxy_ngpu;
120 std::vector<CarmaObj<cuFloatComplex> *> d_fttotim_ngpu;
121 std::vector<CarmaObj<float> *> d_pyrfocalplane_ngpu;
122 std::vector<CarmaObj<float> *> d_screen_ngpu;
123 std::vector<CarmaObj<float> *> d_hrimg_ngpu;
124 std::vector<CarmaObj<float> *> d_submask_ngpu;
127 #endif // _SUTRA_WFS_PYR_PYRHR_H_
int set_pyr_mod_weights(float *weights, int npts)
CarmaObj< cuFloatComplex > * d_phalfxy
int load_arrays(cuFloatComplex *halfxy, float *cx, float *cy, float *weights, float *sincar, float *submask, int *validsubsx, int *validsubsy, int *phasemap, float *fluxPerSub)
int set_pyr_modulation_points(float *cx, float *cy, int npts)
CarmaObj< cuFloatComplex > * d_fttotim
CarmaHostObj< float > * pyr_cy
CarmaObj< float > * d_pyrfocalplane
bool compute_pyrfocalplane
int comp_image(bool noise=true)
int set_submask(float *submask)
this class provides the wfs features to COMPASS
int set_phalfxy(cuFloatComplex *phalfxy)
CarmaObj< cuFloatComplex > * d_poffsets
int fill_binimage(int async=0)
CarmaObj< float > * d_hrimg
this class provides the telescope features to COMPASS
int allocate_buffers(map< vector< int >, cufftHandle * > campli_plans, map< vector< int >, cufftHandle * > fttotim_plans)
this class provides the context in which CarmaObj are created
CarmaHostObj< float > * pyr_cx
CarmaObj< float > * d_submask
int set_pyr_modulation_points(float *cx, float *cy, float *weights, int npts)
CarmaObj< cuFloatComplex > * d_camplifoc
this class provides the wfs_pyr_pyrhr features to COMPASS
CarmaObj< float > * d_modu_gather
CarmaHostObj< float > * pyr_mod_weights
int comp_nphot(float ittime, float optthroughput, float diam, float cobs, float zerop, float gsmag)
void comp_modulation(int cpt)
CarmaObj< cuFloatComplex > * d_camplipup
int copy_valid_pix(float *img, int *validx, int *validy, int im_dim)
int define_mpi_rank(int rank, int size)
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)
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)
CarmaObj< float > * d_psum