Subversion Repositories f9daq

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
264 f9daq 1
#ifndef _daq_h_
2
#define _daq_h_
3
 
4
#define MAXCH 64
5
#define MAXPMT 16
6
 
7
#define NSTEPS 4790 // en krog je 4790 korakov   
8
 
9
typedef struct  {
10
        float x[3];
11
} HVector3;
12
 
13
struct Module {
14
        double r;
15
        double phi;
16
};
17
 
18
 
19
 
20
struct Channel {
21
        int ix;
22
        int iy;
23
};
24
 
25
 
26
struct Config {
27
        int nofcrystalsx;
28
        int nofcrystalsy;
29
        double crystalpitchx;
30
        double crystalpitchy;
31
        char *modules;
32
        char *channels;
33
        char *sumpedestals;
34
        char *pedestals;
35
        char *photopeak;
36
        char *channelcalibration;
37
        int adcthreshold;
38
        double peakscaling;
39
        struct Module module[16];
40
        struct Channel channel[16];
41
        float apedestals[MAXCH];
42
        float apeak[MAXCH];
43
        float rotation;
44
        int write;
45
        int coincidences;  // stevilo koincidenc
46
} conf;
47
 
48
 
49
 
50
#define NUM_CHANNELS    1
51
#define PEDESTAL                        255
52
#define SCAN_TYPE                       1
53
 
54
#define RUNREC_ID                       1
55
#define ENDREC_ID                       2
56
#define POSREC_ID                       3
57
#define EVTREC_ID                       4
58
 
59
typedef struct {
60
        unsigned int id,length;
61
        unsigned int fver,time;
62
        unsigned int num_events,num_channels,pedestal,xy;
63
        int nx,x0,dx,ny,y0,dy;
64
} RUNREC;
65
typedef struct {
66
        unsigned int id,length;
67
        unsigned int time,dum;
68
} ENDREC;
69
 
70
typedef struct {
71
        unsigned int id,length;
72
        unsigned int time;
73
        int num_iter_x,mikro_pos_x,set_pos_x;
74
        int num_iter_y,mikro_pos_y,set_pos_y;
75
} POSREC;
76
 
77
int debug;
78
int fPedestal;
79
int fThresholdEnable;
80
int fStop;
81
int fMode;
82
int clear();
83
int end();
84
int event(unsigned int *, int,int *, int );
85
int init();
86
int vmconnect();
87
int vmdisconnect();
88
int vmacquire (int neve,FILE *fp, char *fpedname);
89
 
90
 
91
int HistogramsInit();
92
int HistogramsFill();
93
int HistogramsWrite(const char *fname);
94
int  GetGlobalPosition(int ipmt, double angle, float cx, float cy, float *gposition);
95
int analyse(int nb, uint32_t *data);
96
 
97
 
98
//-----------------
99
 
100
int m_Adc[MAXCH];
101
int m_AdcCut[MAXCH];
102
int m_Adc_vs_Nhits[MAXCH];
103
int m_Adc_vs_Sum[MAXCH];
104
int m_Adc_vs_Sum_Uncorected[MAXCH];
105
int m_Nhits;
106
int m_AdcSum[MAXPMT];
107
int m_CenterOfGravity[MAXPMT];
108
int m_ReconstructedPosition[MAXPMT];
109
int m_CenterOfGravityforChAboveThreshold[MAXPMT];
110
int m_GlobalPosition;
111
int m_AdcSumCluster[MAXPMT];
112
int m_MaxAdc[MAXPMT];
113
int m_SumAdc[MAXPMT];
114
 
115
//-----------------
116
 
117
#endif