17 #ifndef _SUTRA_CONTROLLER_MV_H_
18 #define _SUTRA_CONTROLLER_MV_H_
28 template <
typename Tcomp,
typename Tout>
58 int ndm,
int *idx_centro,
int ncentro);
75 Tcomp *xpos, Tcomp *ypos,
long Nkl, Tcomp norm, Tcomp ampli);
94 double *cn2,
double *alphaX,
double *alphaY,
double diamTel,
97 double *L0,
double *cn2,
double *alphaX,
double *alphaY,
98 double *X,
double *Y,
double *xactu,
double *yactu,
99 double diamTel,
double *k2,
long *NlayerDm,
100 long *indLayerDm,
double FoV,
double *pitch,
this file provides the cublas features to CarmaObj
this class provides the context in which CarmaObj are created
this class provides the atmos features to COMPASS
this class provides the controller features to COMPASS
this class provides the dm features to COMPASS
this class provides the sensors features to COMPASS
this class provides the controller_mv features to COMPASS
CarmaObj< Tcomp > * d_cenbuff
int filter_cmat(Tcomp cond)
int piston_filt_cphim(CarmaObj< Tcomp > *d_cphim, Tcomp *F)
int load_covmat(Tcomp *covmat)
int do_covmat(SutraDm *ydm, char *method, int *indx_pup, long dim, Tcomp *xpos, Tcomp *ypos, long Nkl, Tcomp norm, Tcomp ampli)
CarmaObj< Tcomp > * d_KLbasis
CarmaHostObj< Tcomp > * h_eigenvals
CarmaHostObj< Tcomp > * h_Cmmeigenvals
int invgen(CarmaObj< Tcomp > *d_mat, CarmaHostObj< Tcomp > *h_eigen, Tcomp cond)
int invgen(CarmaObj< Tcomp > *d_mat, Tcomp cond, int job)
int filter_cphim(Tcomp *F, Tcomp *Nact)
int build_cmat(const char *dmtype, char *method)
CarmaObj< Tcomp > * d_olmeas
CarmaObj< Tcomp > * d_imat
int invgen_cpu(CarmaObj< Tcomp > *d_mat, CarmaHostObj< Tcomp > *h_eigen, Tcomp cond)
int build_cmat(Tcomp cond)
int do_geomat(CarmaObj< Tcomp > *d_geocov, CarmaObj< Tcomp > *d_IF, long n_pts, Tcomp ampli)
sutra_controller_mv(CarmaContext *context, long nslope, long nactu, float delay, SutraDms *dms, int *idx_dms, int ndm, int *idx_centro, int ncentro)
int compute_Cmm(SutraAtmos *atmos, SutraSensors *sensors, double *L0, double *cn2, double *alphaX, double *alphaY, double diamTel, double cobs)
sutra_controller_mv(const sutra_controller_mv &controller)
CarmaObj< Tcomp > * d_err
CarmaObj< Tcomp > * d_compbuff2
cublasHandle_t cublas_handle
CarmaObj< Tcomp > * d_cmat
CarmaObj< Tcomp > * d_Cmm
int compute_Cphim(SutraAtmos *atmos, SutraSensors *sensors, SutraDms *dms, double *L0, double *cn2, double *alphaX, double *alphaY, double *X, double *Y, double *xactu, double *yactu, double diamTel, double *k2, long *NlayerDm, long *indLayerDm, double FoV, double *pitch, double *alt_dm)
int set_cmat(Tcomp *cmat)
CarmaObj< Tcomp > * d_compbuff
CarmaObj< Tcomp > * d_noisemat
int comp_com()
!!! YOU MUST set d_centroids before calling it!!!!
CarmaObj< Tcomp > * d_Cphim
CarmaObj< Tcomp > * d_covmat
int set_imat(Tcomp *imat)
int load_klbasis(Tcomp *klbasis)
CarmaObj< Tcomp > * d_gain
int load_noisemat(Tcomp *noise)
int set_modal_gains(Tcomp *mgain)
int piston_filt(CarmaObj< Tcomp > *d_statcov)
int DDiago(CarmaObj< Tcomp > *d_statcov, CarmaObj< Tcomp > *d_geocov)