COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
SutraCoronagraph Class Referenceabstract

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

#include <sutra_coronagraph.h>

Inheritance diagram for SutraCoronagraph:
Collaboration diagram for SutraCoronagraph:

Public Member Functions

virtual ~SutraCoronagraph ()=default
 
virtual int compute_image (bool accumulate)=0
 
virtual int compute_psf (bool accumulate)=0
 
int reset ()
 
int compute_electric_field (int wavelengthIndex)
 
int set_amplitude (float *amplitude)
 

Public Attributes

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
 

Protected Member Functions

 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 coronagraph features to COMPASS

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

Definition at line 26 of file sutra_coronagraph.h.

Constructor & Destructor Documentation

◆ ~SutraCoronagraph()

virtual SutraCoronagraph::~SutraCoronagraph ( )
virtualdefault

◆ SutraCoronagraph()

SutraCoronagraph::SutraCoronagraph ( CarmaContext context,
std::string  type,
SutraSource d_source,
int  dimx,
int  dimy,
float *  wavelength,
int  nWavelength,
int  device 
)
protected

Member Function Documentation

◆ compute_electric_field()

int SutraCoronagraph::compute_electric_field ( int  wavelengthIndex)

◆ compute_image()

virtual int SutraCoronagraph::compute_image ( bool  accumulate)
pure virtual

◆ compute_psf()

virtual int SutraCoronagraph::compute_psf ( bool  accumulate)
pure virtual

Implemented in SutraStellarCoronagraph, and SutraPerfectCoronagraph.

Here is the caller graph for this function:

◆ mft()

int SutraCoronagraph::mft ( CarmaObj< cuFloatComplex > *  A,
CarmaObj< cuFloatComplex > *  B,
CarmaObj< cuFloatComplex > *  Ainput,
CarmaObj< cuFloatComplex > *  input,
CarmaObj< cuFloatComplex > *  output,
float  norm 
)
protected

◆ reset()

int SutraCoronagraph::reset ( )

◆ set_amplitude()

int SutraCoronagraph::set_amplitude ( float *  amplitude)

Member Data Documentation

◆ amplitude

std::vector<CarmaObj<float>*> SutraCoronagraph::amplitude

Definition at line 42 of file sutra_coronagraph.h.

◆ cntImg

long SutraCoronagraph::cntImg

Definition at line 31 of file sutra_coronagraph.h.

◆ cntPsf

long SutraCoronagraph::cntPsf

Definition at line 30 of file sutra_coronagraph.h.

◆ current_context

CarmaContext* SutraCoronagraph::current_context

Definition at line 37 of file sutra_coronagraph.h.

◆ d_complex_image

CarmaObj<cuFloatComplex>* SutraCoronagraph::d_complex_image

Definition at line 45 of file sutra_coronagraph.h.

◆ d_electric_field

CarmaObj<cuFloatComplex>* SutraCoronagraph::d_electric_field

Definition at line 44 of file sutra_coronagraph.h.

◆ d_image_le

CarmaObj<float>* SutraCoronagraph::d_image_le

Definition at line 39 of file sutra_coronagraph.h.

◆ d_image_se

CarmaObj<float>* SutraCoronagraph::d_image_se

Definition at line 38 of file sutra_coronagraph.h.

◆ d_psf_le

CarmaObj<float>* SutraCoronagraph::d_psf_le

Definition at line 41 of file sutra_coronagraph.h.

◆ d_psf_se

CarmaObj<float>* SutraCoronagraph::d_psf_se

Definition at line 40 of file sutra_coronagraph.h.

◆ d_pupil

CarmaObj<float>* SutraCoronagraph::d_pupil

Definition at line 46 of file sutra_coronagraph.h.

◆ d_source

SutraSource* SutraCoronagraph::d_source

Definition at line 48 of file sutra_coronagraph.h.

◆ device

int SutraCoronagraph::device

Definition at line 28 of file sutra_coronagraph.h.

◆ imageDimx

int SutraCoronagraph::imageDimx

Definition at line 32 of file sutra_coronagraph.h.

◆ imageDimy

int SutraCoronagraph::imageDimy

Definition at line 33 of file sutra_coronagraph.h.

◆ pupDimx

int SutraCoronagraph::pupDimx

Definition at line 34 of file sutra_coronagraph.h.

◆ pupDimy

int SutraCoronagraph::pupDimy

Definition at line 35 of file sutra_coronagraph.h.

◆ type

std::string SutraCoronagraph::type

Definition at line 29 of file sutra_coronagraph.h.

◆ wavelength

std::vector<float> SutraCoronagraph::wavelength

Definition at line 36 of file sutra_coronagraph.h.


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