annotate Allan.h @ 97:675cb8d5e8a7

Write raw counters data to disk
author Daniele Nicolodi <daniele.nicolodi@obspm.fr>
date Tue, 26 Mar 2013 18:18:38 +0100
parents d9aae7d7f2c6
children bd28161e5ac2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1 #include "YLCStuff.h"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
3 #define ALLAN_MAXPOINTSNUMBER 13 // can compute Allan dev for tau from 1s to 2^13 s =8192 s ~ 2h15' < 10000 s
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
4
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
5
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
6 // Allan_Data : the data of crypto class Allan
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
7
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
8 typedef struct {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
9 PanelHandle AllanPanel ; // le handle sur le graphe
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
10 void (*OnClosePanel)(int); // pointer on a function to execute when the panel is closed (argument is the panel Handle)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
11 double AllanVar[ALLAN_MAXPOINTSNUMBER] ; // the values of variances for each tau = 2^n.tau_0 (with n from 0 to ALLAN_MAXPOINTSNUMBER)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
12 double FirstMean[ALLAN_MAXPOINTSNUMBER] ; // the means of the first block of 2^n data for which averaging was completed
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
13 double LastMean[ALLAN_MAXPOINTSNUMBER] ; // the means of the last block of 2^n data for which averaging was completed
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
14 int BlocksNumber[ALLAN_MAXPOINTSNUMBER] ; // the number of blocks of 2^n data (averaged) used for computing AVAR(2^ntau)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
15 double CurrentAverage[ALLAN_MAXPOINTSNUMBER] ; // the sum of the last p data points retrieved (with p<2^2n). used for averaging as soon as p=2^n
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
16 int NbCurrentAverage[ALLAN_MAXPOINTSNUMBER] ; // number of data point being summed in CurrentAverage (from 0 up to 2^n)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
17 double Drift, Mean ; // the drift rate of the data (in Hz/s), and the mean value (in Hz) : only usefull for dedrifting...
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
18 } Allan_Data ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
19
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
20
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
21 // The functions of crypto class Allan
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
22
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
23 int Allan_InitPanel(Allan_Data * Instance, char * title, double Normalizer, void (*OnCloseFunc)(int)) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
24 int Allan_ClosePanel(Allan_Data * Instance) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
25 int Allan_AddFrequency(Allan_Data * Instance, double Freq) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
26
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
27 int Allan_Reset(Allan_Data * Instance) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
28 int Allan_AddFrequency(Allan_Data * Instance, double Freq);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
29 int Allan_Display(Allan_Data * Instance, int ColorPt, int ColorErrorBar);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
30 int Allan_DisplayErrorBars(Allan_Data * Instance, int color);