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

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

#include <sutra_sensors.h>

Collaboration diagram for SutraSensors:

Public Member Functions

size_t nsensors ()
 
 SutraSensors (CarmaContext *context, SutraTelescope *d_tel, vector< string > type, int nwfs, long *nxsub, long *nvalid, long *npupils, long *npix, long *nphase, long *nrebin, long *nfft, long *ntot, long *npup, float *pdiam, float *nphot, float *nphot4imat, int *lgs, bool *fakecam, int *max_flux_per_pix, int *max_pix_value, int device, bool roket)
 
 ~SutraSensors ()
 
int allocate_buffers ()
 
int define_mpi_rank (int rank, int size)
 
int set_noise (int nwfs, float noise, long seed)
 
int set_field_stop (int nwfs, float *field_stop, int N)
 
int initgs (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 initgs (float *xpos, float *ypos, float *lambda, float *mag, float zerop, long *size, float *noise, float *G, float *thetaML, float *dx, float *dy)
 
int initgs (float *xpos, float *ypos, float *lambda, float *mag, float zerop, long *size, float *G, float *thetaML, float *dx, float *dy)
 

Public Attributes

int device
 
bool roket
 
CarmaContextcurrent_context
 
vector< SutraWfs * > d_wfs
 
map< vector< int >, cufftHandle * > campli_plans
 
map< vector< int >, cufftHandle * > fttotim_plans
 
map< vector< int >, cufftHandle * > ftlgskern_plans
 
map< vector< int >, cufftHandle * > field_stop_plans
 
CarmaObj< cuFloatComplex > * d_camplipup
 
CarmaObj< cuFloatComplex > * d_camplifoc
 
CarmaObj< cuFloatComplex > * d_fttotim
 
CarmaObj< cuFloatComplex > * d_ftlgskern
 
CarmaObj< float > * d_lgskern
 

Detailed Description

this class provides the sensors features to COMPASS

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

Definition at line 34 of file sutra_sensors.h.

Constructor & Destructor Documentation

◆ SutraSensors()

SutraSensors::SutraSensors ( CarmaContext context,
SutraTelescope d_tel,
vector< string >  type,
int  nwfs,
long *  nxsub,
long *  nvalid,
long *  npupils,
long *  npix,
long *  nphase,
long *  nrebin,
long *  nfft,
long *  ntot,
long *  npup,
float *  pdiam,
float *  nphot,
float *  nphot4imat,
int *  lgs,
bool *  fakecam,
int *  max_flux_per_pix,
int *  max_pix_value,
int  device,
bool  roket 
)

◆ ~SutraSensors()

SutraSensors::~SutraSensors ( )

Member Function Documentation

◆ allocate_buffers()

int SutraSensors::allocate_buffers ( )

◆ define_mpi_rank()

int SutraSensors::define_mpi_rank ( int  rank,
int  size 
)

◆ initgs() [1/3]

int SutraSensors::initgs ( float *  xpos,
float *  ypos,
float *  lambda,
float *  mag,
float  zerop,
long *  size,
float *  G,
float *  thetaML,
float *  dx,
float *  dy 
)

◆ initgs() [2/3]

int SutraSensors::initgs ( float *  xpos,
float *  ypos,
float *  lambda,
float *  mag,
float  zerop,
long *  size,
float *  noise,
float *  G,
float *  thetaML,
float *  dx,
float *  dy 
)

◆ initgs() [3/3]

int SutraSensors::initgs ( float *  xpos,
float *  ypos,
float *  lambda,
float *  mag,
float  zerop,
long *  size,
float *  noise,
long *  seed,
float *  G,
float *  thetaML,
float *  dx,
float *  dy 
)

◆ nsensors()

size_t SutraSensors::nsensors ( )

Definition at line 39 of file sutra_sensors.h.

◆ set_field_stop()

int SutraSensors::set_field_stop ( int  nwfs,
float *  field_stop,
int  N 
)

◆ set_noise()

int SutraSensors::set_noise ( int  nwfs,
float  noise,
long  seed 
)

Member Data Documentation

◆ campli_plans

map<vector<int>, cufftHandle *> SutraSensors::campli_plans

Definition at line 41 of file sutra_sensors.h.

◆ current_context

CarmaContext* SutraSensors::current_context

Definition at line 38 of file sutra_sensors.h.

◆ d_camplifoc

CarmaObj<cuFloatComplex>* SutraSensors::d_camplifoc

Definition at line 47 of file sutra_sensors.h.

◆ d_camplipup

CarmaObj<cuFloatComplex>* SutraSensors::d_camplipup

Definition at line 46 of file sutra_sensors.h.

◆ d_ftlgskern

CarmaObj<cuFloatComplex>* SutraSensors::d_ftlgskern

Definition at line 49 of file sutra_sensors.h.

◆ d_fttotim

CarmaObj<cuFloatComplex>* SutraSensors::d_fttotim

Definition at line 48 of file sutra_sensors.h.

◆ d_lgskern

CarmaObj<float>* SutraSensors::d_lgskern

Definition at line 50 of file sutra_sensors.h.

◆ d_wfs

vector<SutraWfs *> SutraSensors::d_wfs

Definition at line 40 of file sutra_sensors.h.

◆ device

int SutraSensors::device

Definition at line 36 of file sutra_sensors.h.

◆ field_stop_plans

map<vector<int>, cufftHandle *> SutraSensors::field_stop_plans

Definition at line 44 of file sutra_sensors.h.

◆ ftlgskern_plans

map<vector<int>, cufftHandle *> SutraSensors::ftlgskern_plans

Definition at line 43 of file sutra_sensors.h.

◆ fttotim_plans

map<vector<int>, cufftHandle *> SutraSensors::fttotim_plans

Definition at line 42 of file sutra_sensors.h.

◆ roket

bool SutraSensors::roket

Definition at line 37 of file sutra_sensors.h.


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