COMPASS  5.4.4
End-to-end AO simulation tool using GPU acceleration
sutra_controller_cured.h
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------
2 // This file is part of COMPASS <https://anr-compass.github.io/compass/>
3 //
4 // Copyright (C) 2011-2023 COMPASS Team <https://github.com/ANR-COMPASS>
5 // All rights reserved.
6 
7 // -----------------------------------------------------------------------------
8 
16 
17 #ifndef _SUTRA_CONTROLLER_CURED_H_
18 #define _SUTRA_CONTROLLER_CURED_H_
19 
20 #include <sutra_controller.h>
21 
22 template <typename Tcomp, typename Tout>
23 class SutraControllerCured : public SutraController<Tcomp, Tout> {
24  public:
25  int ndivs; // number of subdivision levels for cured
26  bool tt_flag; // flag for separate tt
27 
28  // data for CuReD */
31  CarmaObj<Tcomp> *d_err; // current error
32  CarmaObj<Tcomp> *d_cenbuff; // centroids circular buffer
33 
34  // data for CuReD */
36 
37  // structures needed to run CuReD */
38  // sysCure* h_syscure;
39  void *h_syscure;
40  // parCure* h_parcure;
41  void *h_parcure;
42 
43  public:
45  long nactu, float delay, SutraDms *dms, int *idx_dms,
46  int ndm, int *idx_centro, int ncentro);
49 
50  string get_type() { return "cured"; }
51 
52  int comp_com();
53 
54  int init_cured(int nxsubs, int *isvalid, int ndivs, int tt);
55  int frame_delay();
56 };
57 
58 #endif // _SUTRA_CONTROLLER_CURED_H_
this class provides the context in which CarmaObj are created
Definition: carma_context.h:79
this class provides the controller_cured features to COMPASS
CarmaHostObj< Tcomp > * h_err
CarmaObj< Tcomp > * d_cenbuff
int comp_com()
!!! YOU MUST set d_centroids before calling it!!!!
SutraControllerCured(const SutraControllerCured &controller)
SutraControllerCured(CarmaContext *context, long nslope, long nactu, float delay, SutraDms *dms, int *idx_dms, int ndm, int *idx_centro, int ncentro)
int init_cured(int nxsubs, int *isvalid, int ndivs, int tt)
CarmaObj< Tcomp > * d_err
CarmaObj< Tcomp > * d_imat
CarmaHostObj< Tcomp > * h_centroids
this class provides the controller features to COMPASS