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

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

#include <sutra_telescope.h>

Collaboration diagram for SutraTelescope:

Public Member Functions

 SutraTelescope (CarmaContext *context, long pup_size, long num_eleme_pup, float *pupil, long pup_size_m, float *pupil_m)
 
 ~SutraTelescope ()
 
int set_phase_ab_M1 (float *phase_ab_M1, int size)
 
int set_phase_ab_M1_m (float *phase_ab_M1_m, int size)
 
int set_input_phase (float *input_phase, int size, int N)
 Set a 3D cube of phase screens to be played. Each phase screen is shown to sources as an additional layer to be raytraced. More...
 
int update_input_phase ()
 Update input_phase_counter to take the next phase screen in the circular buffer d_input_phase. More...
 
int reset_input_phase ()
 Reset circular buffer d_input_phase. More...
 

Public Attributes

CarmaContextcurrent_context
 
int device
 
long pup_size
 
long num_eleme_pup
 
CarmaObj< float > * d_pupil
 
CarmaObj< float > * d_phase_ab_M1
 
long pup_size_m
 
CarmaObj< float > * d_pupil_m
 
CarmaObj< float > * d_phase_ab_M1_m
 
CarmaObj< float > * d_input_phase
 
int input_phase_counter
 

Detailed Description

this class provides the telescope features to COMPASS

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

Definition at line 28 of file sutra_telescope.h.

Constructor & Destructor Documentation

◆ SutraTelescope()

SutraTelescope::SutraTelescope ( CarmaContext context,
long  pup_size,
long  num_eleme_pup,
float *  pupil,
long  pup_size_m,
float *  pupil_m 
)

◆ ~SutraTelescope()

SutraTelescope::~SutraTelescope ( )

Member Function Documentation

◆ reset_input_phase()

int SutraTelescope::reset_input_phase ( )

Reset circular buffer d_input_phase.

Returns
int Success status

◆ set_input_phase()

int SutraTelescope::set_input_phase ( float *  input_phase,
int  size,
int  N 
)

Set a 3D cube of phase screens to be played. Each phase screen is shown to sources as an additional layer to be raytraced.

Parameters
input_phaseCube of phase screens
size1 phase screen size. Must be equal to d_pupil_m size
NNumber of phase screens in the cube
Returns
int Success status

◆ set_phase_ab_M1()

int SutraTelescope::set_phase_ab_M1 ( float *  phase_ab_M1,
int  size 
)

◆ set_phase_ab_M1_m()

int SutraTelescope::set_phase_ab_M1_m ( float *  phase_ab_M1_m,
int  size 
)

◆ update_input_phase()

int SutraTelescope::update_input_phase ( )

Update input_phase_counter to take the next phase screen in the circular buffer d_input_phase.

Returns
int Success status

Member Data Documentation

◆ current_context

CarmaContext* SutraTelescope::current_context

Definition at line 30 of file sutra_telescope.h.

◆ d_input_phase

CarmaObj<float>* SutraTelescope::d_input_phase

Definition at line 44 of file sutra_telescope.h.

◆ d_phase_ab_M1

CarmaObj<float>* SutraTelescope::d_phase_ab_M1

Definition at line 37 of file sutra_telescope.h.

◆ d_phase_ab_M1_m

CarmaObj<float>* SutraTelescope::d_phase_ab_M1_m

Definition at line 42 of file sutra_telescope.h.

◆ d_pupil

CarmaObj<float>* SutraTelescope::d_pupil

Definition at line 36 of file sutra_telescope.h.

◆ d_pupil_m

CarmaObj<float>* SutraTelescope::d_pupil_m

Definition at line 41 of file sutra_telescope.h.

◆ device

int SutraTelescope::device

Definition at line 31 of file sutra_telescope.h.

◆ input_phase_counter

int SutraTelescope::input_phase_counter

Definition at line 45 of file sutra_telescope.h.

◆ num_eleme_pup

long SutraTelescope::num_eleme_pup

Definition at line 34 of file sutra_telescope.h.

◆ pup_size

long SutraTelescope::pup_size

Definition at line 33 of file sutra_telescope.h.

◆ pup_size_m

long SutraTelescope::pup_size_m

Definition at line 39 of file sutra_telescope.h.


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