COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
SutraPerfectCoronagraph Class Reference

this class provides the coronograph features to COMPASS More...

#include <sutra_perfectCoronagraph.h>

Inheritance diagram for SutraPerfectCoronagraph:
Collaboration diagram for SutraPerfectCoronagraph:

Public Member Functions

 SutraPerfectCoronagraph (CarmaContext *context, SutraSource *d_source, int im_dimx, int im_dimy, float *wavelength, int nWavelength, int device)
 
 ~SutraPerfectCoronagraph ()=default
 
int compute_image (bool accumulate)
 
int compute_psf (bool accumulate)
 
int set_mft (cuFloatComplex *A, cuFloatComplex *B, float *norm, std::string mftType)
 
- Public Member Functions inherited from SutraCoronagraph
virtual ~SutraCoronagraph ()=default
 
int reset ()
 
int compute_electric_field (int wavelengthIndex)
 
int set_amplitude (float *amplitude)
 

Public Attributes

std::map< std::string, std::vector< CarmaObj< cuFloatComplex > * > > AA
 
std::map< std::string, std::vector< CarmaObj< cuFloatComplex > * > > BB
 
std::map< std::string, std::vector< float > > norm
 
CarmaObj< cuFloatComplex > * tmp_mft
 
- Public Attributes inherited from SutraCoronagraph
int device
 
std::string type
 
long cntPsf
 
long cntImg
 
int imageDimx
 
int imageDimy
 
int pupDimx
 
int pupDimy
 
std::vector< float > wavelength
 
CarmaContextcurrent_context
 
CarmaObj< float > * d_image_se
 
CarmaObj< float > * d_image_le
 
CarmaObj< float > * d_psf_se
 
CarmaObj< float > * d_psf_le
 
std::vector< CarmaObj< float > * > amplitude
 
CarmaObj< cuFloatComplex > * d_electric_field
 
CarmaObj< cuFloatComplex > * d_complex_image
 
CarmaObj< float > * d_pupil
 
SutraSourced_source
 

Additional Inherited Members

- Protected Member Functions inherited from SutraCoronagraph
 SutraCoronagraph (CarmaContext *context, std::string type, SutraSource *d_source, int dimx, int dimy, float *wavelength, int nWavelength, int device)
 
int mft (CarmaObj< cuFloatComplex > *A, CarmaObj< cuFloatComplex > *B, CarmaObj< cuFloatComplex > *Ainput, CarmaObj< cuFloatComplex > *input, CarmaObj< cuFloatComplex > *output, float norm)
 

Detailed Description

this class provides the coronograph features to COMPASS

Author
COMPASS Team https://github.com/ANR-COMPASS
Version
5.4.4
Date
2022/01/24

Definition at line 23 of file sutra_perfectCoronagraph.h.

Constructor & Destructor Documentation

◆ SutraPerfectCoronagraph()

SutraPerfectCoronagraph::SutraPerfectCoronagraph ( CarmaContext context,
SutraSource d_source,
int  im_dimx,
int  im_dimy,
float *  wavelength,
int  nWavelength,
int  device 
)

◆ ~SutraPerfectCoronagraph()

SutraPerfectCoronagraph::~SutraPerfectCoronagraph ( )
default

Member Function Documentation

◆ compute_image()

int SutraPerfectCoronagraph::compute_image ( bool  accumulate)
virtual

Implements SutraCoronagraph.

◆ compute_psf()

int SutraPerfectCoronagraph::compute_psf ( bool  accumulate)
virtual

Implements SutraCoronagraph.

Here is the caller graph for this function:

◆ set_mft()

int SutraPerfectCoronagraph::set_mft ( cuFloatComplex *  A,
cuFloatComplex *  B,
float *  norm,
std::string  mftType 
)

Member Data Documentation

◆ AA

std::map<std::string, std::vector<CarmaObj<cuFloatComplex>*> > SutraPerfectCoronagraph::AA

Definition at line 25 of file sutra_perfectCoronagraph.h.

◆ BB

std::map<std::string, std::vector<CarmaObj<cuFloatComplex>*> > SutraPerfectCoronagraph::BB

Definition at line 26 of file sutra_perfectCoronagraph.h.

◆ norm

std::map<std::string, std::vector<float> > SutraPerfectCoronagraph::norm

Definition at line 27 of file sutra_perfectCoronagraph.h.

◆ tmp_mft

CarmaObj<cuFloatComplex>* SutraPerfectCoronagraph::tmp_mft

Definition at line 29 of file sutra_perfectCoronagraph.h.


The documentation for this class was generated from the following file: