17 #ifndef _SUTRA_STELLAR_CORONAGRAPH_H_
18 #define _SUTRA_STELLAR_CORONAGRAPH_H_
29 typedef vector<CarmaObj<cuFloatComplex>*>
mftVec;
37 map<string, mftTuple>
AA;
38 map<string, mftTuple>
BB;
39 map<string, vector<float>>
norm;
40 map<string, tuple<CarmaObj<cuFloatComplex>*, vector<long>>>
tmp_mft;
50 int im_dimy,
int fpm_dimx,
int fpm_dimy,
56 int set_mft(cuFloatComplex *A, cuFloatComplex *B,
float*
norm, std::string mftType);
62 int _compute_image(
bool center_on_pixel,
bool accumulate,
bool no_fpm);
this class provides the context in which CarmaObj are created
this class provides the coronagraph features to COMPASS
std::vector< float > wavelength
this class provides the source features to COMPASS
this class provides the coronograph features to COMPASS
CarmaObj< cuFloatComplex > * d_electric_field_babinet
int set_apodizer(float *apodizer)
int set_lyot_stop(float *lyot_stop)
map< string, mftTuple > BB
int compute_image_normalization()
~SutraStellarCoronagraph()=default
int set_mft(cuFloatComplex *A, cuFloatComplex *B, float *norm, std::string mftType)
SutraStellarCoronagraph(CarmaContext *context, SutraSource *d_source, int im_dimx, int im_dimy, int fpm_dimx, int fpm_dimy, float *wavelength, int nWavelength, bool babinet, int device)
int set_focal_plane_mask(float *mask)
vector< CarmaObj< float > * > focal_plane_mask
map< string, mftTuple > AA
CarmaObj< float > * d_apodizer
map< string, vector< float > > norm
CarmaObj< float > * d_lyot_stop
int compute_image(bool accumulate)
int compute_psf(bool accumulate)
CarmaObj< cuFloatComplex > * d_electric_field_fpm
map< string, tuple< CarmaObj< cuFloatComplex > *, vector< long > > > tmp_mft
tuple< mftVec, vector< long > > mftTuple
vector< CarmaObj< cuFloatComplex > * > mftVec