cacao  Release 0.1.03-dev
Compute And Control For Adaptive Optics
AOloopControl_ProcessModeCoefficients.h
Go to the documentation of this file.
1 #ifndef _AOLOOPCONTROL_ProcessModeCoefficients_H
2 #define _AOLOOPCONTROL_ProcessModeCoefficients_H
3 
4 
5 #define maxNBMB 100 // maximum number of mode blocks
6 #define MAXNBMODES 10000 // maximum number of control modes
7 
8 
9 typedef struct
10 {
11 
12  char DMmodesname[80];
13  // BLOCKS OF MODES
14  uint_fast16_t DMmodesNBblock;
15  uint_fast16_t NBmodes_block[100];
16  uint_fast16_t modeBlockIndex[MAXNBMODES];
17  uint_fast16_t indexmaxMB[maxNBMB];
18  uint_fast16_t NBDMmodes;
19 
20 
21 
22  // COMPUTED BY OPEN LOOP RETRIEVAL PROCESS
23  double RMSmodes;
24  double RMSmodesCumul;
25  uint_fast64_t RMSmodesCumulcnt;
26 
27 
28  // block statistics (instantaneous)
29  double block_PFresrms[100]; // Prediction residual, meas RMS
30  double block_OLrms[100]; // open loop RMS
31  double block_Crms[100]; // correction RMS
32  double block_WFSrms[100]; // WFS residual RMS
33  double block_WFSnoise[100]; // WFS measurement noise
34  double block_limFrac[100]; // fraction of mode coefficients exceeding limit
35 
36  double ALL_OLrms; // open loop RMS
37  double ALL_Crms; // correction RMS
38  double ALL_WFSrms; // WFS residual RMS
39  double ALL_WFSnoise; // WFS noise
40  double ALL_limFrac; // fraction of mode coefficients exceeding limit
41 
42 
43  // averaged
44  uint_fast32_t AveStats_NBpt; // averaging interval
45  double blockave_PFresrms[100]; // open loop RMS
46  double blockave_OLrms[100]; // open loop RMS
47  double blockave_Crms[100]; // correction RMS
48  double blockave_WFSrms[100]; // WFS residual RMS
49  double blockave_WFSnoise[100]; // WFS noise
50  double blockave_limFrac[100]; // fraction of mode coefficients exceeding limit
51 
52  double ALLave_OLrms; // open loop RMS
53  double ALLave_Crms; // correction RMS
54  double ALLave_WFSrms; // WFS residual RMS
55  double ALLave_WFSnoise; // WFS noise
56  double ALLave_limFrac; // fraction of mode coefficients exceeding limit
57 
59 
60 
61 #endif
Definition: AOloopControl_ProcessModeCoefficients.h:9
double ALLave_OLrms
Definition: AOloopControl_ProcessModeCoefficients.h:52
uint_fast16_t DMmodesNBblock
Definition: AOloopControl_ProcessModeCoefficients.h:14
double ALL_limFrac
Definition: AOloopControl_ProcessModeCoefficients.h:40
double ALLave_Crms
Definition: AOloopControl_ProcessModeCoefficients.h:53
uint_fast16_t NBDMmodes
Definition: AOloopControl_ProcessModeCoefficients.h:18
double ALLave_WFSnoise
Definition: AOloopControl_ProcessModeCoefficients.h:55
double ALL_OLrms
Definition: AOloopControl_ProcessModeCoefficients.h:36
double ALL_Crms
Definition: AOloopControl_ProcessModeCoefficients.h:37
double RMSmodes
Definition: AOloopControl_ProcessModeCoefficients.h:23
#define maxNBMB
Definition: AOloopControl_ProcessModeCoefficients.h:5
double ALL_WFSrms
Definition: AOloopControl_ProcessModeCoefficients.h:38
#define MAXNBMODES
Definition: AOloopControl_ProcessModeCoefficients.h:6
uint_fast64_t RMSmodesCumulcnt
Definition: AOloopControl_ProcessModeCoefficients.h:25
double ALLave_limFrac
Definition: AOloopControl_ProcessModeCoefficients.h:56
uint_fast32_t AveStats_NBpt
Definition: AOloopControl_ProcessModeCoefficients.h:44
double ALL_WFSnoise
Definition: AOloopControl_ProcessModeCoefficients.h:39
double ALLave_WFSrms
Definition: AOloopControl_ProcessModeCoefficients.h:54
double RMSmodesCumul
Definition: AOloopControl_ProcessModeCoefficients.h:24