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

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

#include <sutra_wfs_sh.h>

Inheritance diagram for SutraWfsSH:
Collaboration diagram for SutraWfsSH:

Public Member Functions

 SutraWfsSH (CarmaContext *context, SutraTelescope *d_tel, CarmaObj< cuFloatComplex > *d_camplipup, CarmaObj< cuFloatComplex > *d_camplifoc, CarmaObj< cuFloatComplex > *d_fttotim, 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)
 
 SutraWfsSH (const SutraWfsSH &wfs)
 
 ~SutraWfsSH ()
 
int define_mpi_rank (int rank, int size)
 
int allocate_buffers (map< vector< int >, cufftHandle * > campli_plans, map< vector< int >, cufftHandle * > fttotim_plans)
 
int load_arrays (int *phasemap, int *hrmap, int *binmap, float *offsets, float *fluxPerSub, int *validsubsx, int *validsubsy, int *istart, int *jstart, float *ttprojmat, cuFloatComplex *kernel)
 
int fill_binimage (int async)
 
int comp_image (bool noise=true)
 
int comp_nphot (float ittime, float optthroughput, float diam, int nxsub, float zerop=0, float gsmag=0, float lgsreturnperwatt=0, float laserpower=0)
 
int set_bincube (float *bincube, int nElem)
 
int set_field_stop (map< vector< int >, cufftHandle * > campli_plans, float *field_stop, int N)
 
- 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)
 
int set_noise (float noise, long seed)
 

Public Attributes

CarmaObj< int > * d_binmap
 
CarmaObj< int > * d_validpuppixx
 
CarmaObj< int > * d_validpuppixy
 
CarmaObj< cuFloatComplex > * d_fsamplipup
 
CarmaObj< cuFloatComplex > * d_fsamplifoc
 
cufftHandle * fsampli_plan
 
- 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
 

Additional Inherited Members

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

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

Definition at line 29 of file sutra_wfs_sh.h.

Constructor & Destructor Documentation

◆ SutraWfsSH() [1/2]

SutraWfsSH::SutraWfsSH ( CarmaContext context,
SutraTelescope d_tel,
CarmaObj< cuFloatComplex > *  d_camplipup,
CarmaObj< cuFloatComplex > *  d_camplifoc,
CarmaObj< cuFloatComplex > *  d_fttotim,
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 
)

◆ SutraWfsSH() [2/2]

SutraWfsSH::SutraWfsSH ( const SutraWfsSH wfs)

◆ ~SutraWfsSH()

SutraWfsSH::~SutraWfsSH ( )

Member Function Documentation

◆ allocate_buffers()

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

Implements SutraWfs.

◆ comp_image()

int SutraWfsSH::comp_image ( bool  noise = true)
virtual

Implements SutraWfs.

◆ comp_nphot()

int SutraWfsSH::comp_nphot ( float  ittime,
float  optthroughput,
float  diam,
int  nxsub,
float  zerop = 0,
float  gsmag = 0,
float  lgsreturnperwatt = 0,
float  laserpower = 0 
)

◆ define_mpi_rank()

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

Implements SutraWfs.

◆ fill_binimage()

int SutraWfsSH::fill_binimage ( int  async)
virtual

Implements SutraWfs.

◆ load_arrays()

int SutraWfsSH::load_arrays ( int *  phasemap,
int *  hrmap,
int *  binmap,
float *  offsets,
float *  fluxPerSub,
int *  validsubsx,
int *  validsubsy,
int *  istart,
int *  jstart,
float *  ttprojmat,
cuFloatComplex *  kernel 
)

◆ set_bincube()

int SutraWfsSH::set_bincube ( float *  bincube,
int  nElem 
)

◆ set_field_stop()

int SutraWfsSH::set_field_stop ( map< vector< int >, cufftHandle * >  campli_plans,
float *  field_stop,
int  N 
)

Member Data Documentation

◆ d_binmap

CarmaObj<int>* SutraWfsSH::d_binmap

Definition at line 32 of file sutra_wfs_sh.h.

◆ d_fsamplifoc

CarmaObj<cuFloatComplex>* SutraWfsSH::d_fsamplifoc

Definition at line 36 of file sutra_wfs_sh.h.

◆ d_fsamplipup

CarmaObj<cuFloatComplex>* SutraWfsSH::d_fsamplipup

Definition at line 35 of file sutra_wfs_sh.h.

◆ d_validpuppixx

CarmaObj<int>* SutraWfsSH::d_validpuppixx

Definition at line 33 of file sutra_wfs_sh.h.

◆ d_validpuppixy

CarmaObj<int>* SutraWfsSH::d_validpuppixy

Definition at line 34 of file sutra_wfs_sh.h.

◆ fsampli_plan

cufftHandle* SutraWfsSH::fsampli_plan

Definition at line 37 of file sutra_wfs_sh.h.


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