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

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

#include <sutra_wfs_geom.h>

Inheritance diagram for SutraWfsGeom:
Collaboration diagram for SutraWfsGeom:

Public Member Functions

 SutraWfsGeom (CarmaContext *context, SutraTelescope *d_tel, long nxsub, long nvalid, long nphase, long npup, float pdiam, int device)
 
 SutraWfsGeom (const SutraWfsGeom &wfs)
 
 ~SutraWfsGeom ()
 
int wfs_initarrays (int *phasemap, float *offsets, float *fluxPerSub, int *validsubsx, int *validsubsy)
 
int slopes_geom (int type, float *slopes)
 
int slopes_geom (int type)
 
int define_mpi_rank (int rank, int size)
 
int allocate_buffers (map< vector< int >, cufftHandle * > campli_plans, map< vector< int >, cufftHandle * > fttotim_plans)
 
int fill_binimage (int async)
 
int comp_image ()
 
- Public Member Functions inherited from SutraWfs
virtual ~SutraWfs ()
 
int wfs_initgs (CarmaObj< float > *d_lgskern, CarmaObj< cuFloatComplex > *d_ftlgskern, map< vector< int >, cufftHandle * > ftlgskern_plans, float xpos, float ypos, float lambda, float mag, float zerop, long size, float noise, long seed, float G, float thetaML, float dx, float dy)
 
int set_pupil (float *pupil)
 
int set_binimg (float *binimg, int nElem)
 
int set_dark (float *dark, int nElem)
 
int set_flat (float *flat, int nElem)
 
int set_fakecam (bool fakecam)
 
int set_max_flux_per_pix (int max_flux_per_pix)
 
int set_max_pix_value (int max_pix_value)
 
int load_kernels (float *lgskern)
 
int sensor_trace (SutraAtmos *yatmos)
 
int sensor_trace (SutraDms *ydm, int rst)
 
int sensor_trace (SutraAtmos *atmos, SutraDms *ydms)
 
int sensor_trace (int rst)
 
int slopes_geom (float *slopes, int type=0)
 
int slopes_geom (int type=0)
 
virtual int comp_image (bool noise=true)=0
 
int set_noise (float noise, long seed)
 

Additional Inherited Members

- Public Attributes inherited from SutraWfs
int device
 
string type
 
long nxsub
 
long nvalid
 
long npix
 
long nrebin
 
long nfft
 
long ntot
 
long npup
 
long nphase
 
long nmaxhr
 
long nffthr
 
float subapd
 
float nphot
 
float nphot4imat
 
float noise
 
bool lgs
 
bool kernconv
 
bool roket
 
bool is_low_order
 
bool fakecam
 
int max_flux_per_pix
 
int max_pix_value
 
cufftHandle * campli_plan
 
cufftHandle * fttotim_plan
 
CarmaObj< cuFloatComplex > * d_ftkernel
 
CarmaObj< cuFloatComplex > * d_camplipup
 
CarmaObj< cuFloatComplex > * d_camplifoc
 
CarmaObj< cuFloatComplex > * d_fttotim
 
CarmaObj< float > * d_pupil
 
CarmaObj< float > * d_bincube
 
CarmaObj< float > * d_binimg
 
CarmaObj< float > * d_binimg_notnoisy
 
CarmaObj< float > * d_intensities
 
CarmaObj< float > * d_offsets
 
CarmaObj< float > * d_fluxPerSub
 
CarmaObj< float > * d_sincar
 
CarmaObj< int > * d_hrmap
 
CarmaObj< uint16_t > * d_camimg
 
CarmaObj< float > * d_dark
 
CarmaObj< float > * d_flat
 
CarmaObj< float > * d_slopes
 
CarmaHostObj< float > * image_telemetry
 
SutraSourced_gs
 
std::vector< CarmaObj< float > * > d_pupil_ngpu
 
CarmaStreamsstreams
 
int nstreams
 
CarmaObj< int > * d_phasemap
 
CarmaObj< float > * d_ttprojmat
 
CarmaObj< float > * d_ttprojvec
 
CarmaObj< int > * d_validsubsx
 
CarmaObj< int > * d_validsubsy
 
CarmaObj< float > * d_submask
 
CarmaContextcurrent_context
 
int offset
 MPI stuff. More...
 
int nvalid_tot
 
int rank
 
int * displ_bincube
 
int * count_bincube
 
- Protected Member Functions inherited from SutraWfs
 SutraWfs (CarmaContext *context, SutraTelescope *d_tel, CarmaObj< cuFloatComplex > *d_camplipup, CarmaObj< cuFloatComplex > *d_camplifoc, CarmaObj< cuFloatComplex > *d_fttotim, string type, long nxsub, long nvalid, 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 is_low_order, bool roket, int device)
 

Detailed Description

this class provides the wfs_geom features to COMPASS

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

Definition at line 30 of file sutra_wfs_geom.h.

Constructor & Destructor Documentation

◆ SutraWfsGeom() [1/2]

SutraWfsGeom::SutraWfsGeom ( CarmaContext context,
SutraTelescope d_tel,
long  nxsub,
long  nvalid,
long  nphase,
long  npup,
float  pdiam,
int  device 
)

◆ SutraWfsGeom() [2/2]

SutraWfsGeom::SutraWfsGeom ( const SutraWfsGeom wfs)

◆ ~SutraWfsGeom()

SutraWfsGeom::~SutraWfsGeom ( )

Member Function Documentation

◆ allocate_buffers()

int SutraWfsGeom::allocate_buffers ( map< vector< int >, cufftHandle * >  campli_plans,
map< vector< int >, cufftHandle * >  fttotim_plans 
)
virtual

Implements SutraWfs.

Definition at line 44 of file sutra_wfs_geom.h.

◆ comp_image()

int SutraWfsGeom::comp_image ( )

Definition at line 50 of file sutra_wfs_geom.h.

◆ define_mpi_rank()

int SutraWfsGeom::define_mpi_rank ( int  rank,
int  size 
)
virtual

Implements SutraWfs.

Definition at line 43 of file sutra_wfs_geom.h.

◆ fill_binimage()

int SutraWfsGeom::fill_binimage ( int  async)
virtual

Implements SutraWfs.

Definition at line 49 of file sutra_wfs_geom.h.

◆ slopes_geom() [1/2]

int SutraWfsGeom::slopes_geom ( int  type)

◆ slopes_geom() [2/2]

int SutraWfsGeom::slopes_geom ( int  type,
float *  slopes 
)

◆ wfs_initarrays()

int SutraWfsGeom::wfs_initarrays ( int *  phasemap,
float *  offsets,
float *  fluxPerSub,
int *  validsubsx,
int *  validsubsy 
)

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