COMPASS  5.0.0
End-to-end AO simulation tool using GPU acceleration
sutra_controller_geo< Tcomp, Tout > Class Template Reference

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

#include <sutra_controller_geo.h>

Inheritance diagram for sutra_controller_geo< Tcomp, Tout >:
Collaboration diagram for sutra_controller_geo< Tcomp, Tout >:

Public Member Functions

 sutra_controller_geo (CarmaContext *context, long nactu, long Nphi, float delay, SutraDms *dms, int *idx_dms, int ndm, int *idx_centro, int ncentro, bool wfs_direction)
 
 sutra_controller_geo (const sutra_controller_geo &controller)
 
 ~sutra_controller_geo ()
 
string get_type ()
 
cusparseHandle_t cusparse_handle ()
 
int load_Btt (Tcomp *Btt_pzt, Tcomp *Btt_TT)
 
int load_mgain (Tcomp *mgain)
 
int comp_dphi (SutraSource *target, bool wfs_direction)
 
int comp_com ()
 !!! YOU MUST set d_centroids before calling it!!!! More...
 
int init_proj (SutraDms *dms, int *indx_dm, Tcomp *unitpervolt, int *indx_pup)
 
int init_proj_sparse (SutraDms *dms, int *indx_dm, Tcomp *unitpervolt, int *indx_pup, int *indx_mpup, bool roket)
 
- Public Member Functions inherited from SutraController< Tcomp, Tout >
 SutraController (CarmaContext *context, int nvalid, int nslope, int nactu, float delay, SutraDms *dms, int *idx_dms, int ndm, int *idx_centro, int ncentro)
 
virtual ~SutraController ()
 
int nactu ()
 
int nslope ()
 
cublasHandle_t cublas_handle ()
 
void init_voltage ()
 
int set_centroids_ref (Tcomp *centroids_ref)
 
int add_perturb_voltage (string name, float *perturb, int N)
 
int set_perturb_voltage (string name, float *perturb, int N)
 
int remove_perturb_voltage (string name)
 
int reset_perturb_voltage ()
 
int enable_perturb_voltage (string name)
 
int disable_perturb_voltage (string name)
 
int set_com (float *com, int nElem)
 
int set_open_loop (int open_loop_status, bool rst=true)
 
int clip_commands ()
 
int comp_voltage ()
 
int comp_latency ()
 
int set_delay (float delay)
 
int set_volt_min (float volt_min)
 
int set_volt_max (float volt_max)
 
int set_val_max (float val_max)
 
int set_gain (float gain)
 
int reset_coms ()
 
int command_delay ()
 
int add_perturb ()
 

Public Attributes

long Nphi
 
int Ntt
 
CarmaObj< Tcomp > * d_gain
 
CarmaObj< Tcomp > * d_proj
 
CarmaObj< double > * d_phi
 
CarmaObj< Tcomp > * d_phif
 
CarmaObj< int > * d_indx_pup
 
CarmaObj< int > * d_indx_mpup
 
CarmaSparseObj< double > * d_IFsparse
 
CarmaObj< Tcomp > * d_geocov
 
CarmaObj< double > * d_compdouble
 
CarmaObj< float > * d_compfloat
 
CarmaObj< Tcomp > * d_TT
 
CarmaObj< Tcomp > * d_geocovTT
 
- Public Attributes inherited from SutraController< Tcomp, Tout >
CarmaContextcurrent_context
 
int device
 
int open_loop
 
Tcomp delay
 
Tcomp gain
 
float volt_min
 
float volt_max
 
int nactus
 
int nslopes
 
Tout val_max
 
Tcomp a
 
Tcomp b
 
Tcomp c
 
vector< SutraDm * > d_dmseen
 
CarmaObj< Tcomp > * d_centroids
 
CarmaObj< Tcomp > * d_centroids_padded
 
CarmaObj< Tcomp > * d_com
 
CarmaObj< Tcomp > * d_com_padded
 
CarmaObj< Tcomp > * d_com_clipped
 
CarmaObj< Tout > * d_voltage
 
CarmaObj< Tcomp > * d_com1
 
vector< int > centro_idx
 
std::deque< CarmaObj< Tcomp > * > d_circular_coms
 
map< string, tuple< CarmaObj< Tcomp > *, int, bool > > d_perturb_map
 
CarmaStreamsstreams
 

Additional Inherited Members

- Protected Attributes inherited from SutraController< Tcomp, Tout >
mutex comp_voltage_mutex
 

Detailed Description

template<typename Tcomp, typename Tout>
class sutra_controller_geo< Tcomp, Tout >

this class provides the controller_geo features to COMPASS

Author
COMPASS Team https://github.com/ANR-COMPASS
Version
5.0.0
Date
2011/01/28

Definition at line 48 of file sutra_controller_geo.h.

Constructor & Destructor Documentation

◆ sutra_controller_geo() [1/2]

template<typename Tcomp , typename Tout >
sutra_controller_geo< Tcomp, Tout >::sutra_controller_geo ( CarmaContext context,
long  nactu,
long  Nphi,
float  delay,
SutraDms dms,
int *  idx_dms,
int  ndm,
int *  idx_centro,
int  ncentro,
bool  wfs_direction 
)

◆ sutra_controller_geo() [2/2]

template<typename Tcomp , typename Tout >
sutra_controller_geo< Tcomp, Tout >::sutra_controller_geo ( const sutra_controller_geo< Tcomp, Tout > &  controller)

◆ ~sutra_controller_geo()

template<typename Tcomp , typename Tout >
sutra_controller_geo< Tcomp, Tout >::~sutra_controller_geo ( )

Member Function Documentation

◆ comp_com()

template<typename Tcomp , typename Tout >
int sutra_controller_geo< Tcomp, Tout >::comp_com ( )
virtual

!!! YOU MUST set d_centroids before calling it!!!!

Implements SutraController< Tcomp, Tout >.

◆ comp_dphi()

template<typename Tcomp , typename Tout >
int sutra_controller_geo< Tcomp, Tout >::comp_dphi ( SutraSource target,
bool  wfs_direction 
)

◆ cusparse_handle()

template<typename Tcomp , typename Tout >
cusparseHandle_t sutra_controller_geo< Tcomp, Tout >::cusparse_handle ( )

Definition at line 77 of file sutra_controller_geo.h.

77  {
78  return this->current_context->get_cusparse_handle();
79  }
Here is the call graph for this function:

◆ get_type()

template<typename Tcomp , typename Tout >
string sutra_controller_geo< Tcomp, Tout >::get_type ( )
virtual

◆ init_proj()

template<typename Tcomp , typename Tout >
int sutra_controller_geo< Tcomp, Tout >::init_proj ( SutraDms dms,
int *  indx_dm,
Tcomp *  unitpervolt,
int *  indx_pup 
)

◆ init_proj_sparse()

template<typename Tcomp , typename Tout >
int sutra_controller_geo< Tcomp, Tout >::init_proj_sparse ( SutraDms dms,
int *  indx_dm,
Tcomp *  unitpervolt,
int *  indx_pup,
int *  indx_mpup,
bool  roket 
)

◆ load_Btt()

template<typename Tcomp , typename Tout >
int sutra_controller_geo< Tcomp, Tout >::load_Btt ( Tcomp *  Btt_pzt,
Tcomp *  Btt_TT 
)

◆ load_mgain()

template<typename Tcomp , typename Tout >
int sutra_controller_geo< Tcomp, Tout >::load_mgain ( Tcomp *  mgain)

Member Data Documentation

◆ d_compdouble

template<typename Tcomp , typename Tout >
CarmaObj<double>* sutra_controller_geo< Tcomp, Tout >::d_compdouble

Definition at line 61 of file sutra_controller_geo.h.

◆ d_compfloat

template<typename Tcomp , typename Tout >
CarmaObj<float>* sutra_controller_geo< Tcomp, Tout >::d_compfloat

Definition at line 62 of file sutra_controller_geo.h.

◆ d_gain

template<typename Tcomp , typename Tout >
CarmaObj<Tcomp>* sutra_controller_geo< Tcomp, Tout >::d_gain

Definition at line 53 of file sutra_controller_geo.h.

◆ d_geocov

template<typename Tcomp , typename Tout >
CarmaObj<Tcomp>* sutra_controller_geo< Tcomp, Tout >::d_geocov

Definition at line 60 of file sutra_controller_geo.h.

◆ d_geocovTT

template<typename Tcomp , typename Tout >
CarmaObj<Tcomp>* sutra_controller_geo< Tcomp, Tout >::d_geocovTT

Definition at line 64 of file sutra_controller_geo.h.

◆ d_IFsparse

template<typename Tcomp , typename Tout >
CarmaSparseObj<double>* sutra_controller_geo< Tcomp, Tout >::d_IFsparse

Definition at line 59 of file sutra_controller_geo.h.

◆ d_indx_mpup

template<typename Tcomp , typename Tout >
CarmaObj<int>* sutra_controller_geo< Tcomp, Tout >::d_indx_mpup

Definition at line 58 of file sutra_controller_geo.h.

◆ d_indx_pup

template<typename Tcomp , typename Tout >
CarmaObj<int>* sutra_controller_geo< Tcomp, Tout >::d_indx_pup

Definition at line 57 of file sutra_controller_geo.h.

◆ d_phi

template<typename Tcomp , typename Tout >
CarmaObj<double>* sutra_controller_geo< Tcomp, Tout >::d_phi

Definition at line 55 of file sutra_controller_geo.h.

◆ d_phif

template<typename Tcomp , typename Tout >
CarmaObj<Tcomp>* sutra_controller_geo< Tcomp, Tout >::d_phif

Definition at line 56 of file sutra_controller_geo.h.

◆ d_proj

template<typename Tcomp , typename Tout >
CarmaObj<Tcomp>* sutra_controller_geo< Tcomp, Tout >::d_proj

Definition at line 54 of file sutra_controller_geo.h.

◆ d_TT

template<typename Tcomp , typename Tout >
CarmaObj<Tcomp>* sutra_controller_geo< Tcomp, Tout >::d_TT

Definition at line 63 of file sutra_controller_geo.h.

◆ Nphi

template<typename Tcomp , typename Tout >
long sutra_controller_geo< Tcomp, Tout >::Nphi

Definition at line 50 of file sutra_controller_geo.h.

◆ Ntt

template<typename Tcomp , typename Tout >
int sutra_controller_geo< Tcomp, Tout >::Ntt

Definition at line 51 of file sutra_controller_geo.h.


The documentation for this class was generated from the following file:
CarmaContext::get_cusparse_handle
cusparseHandle_t get_cusparse_handle()
Definition: carma_context.h:169
SutraController::current_context
CarmaContext * current_context
Definition: sutra_controller.h:75