ZDC探测器数据分析函数(基于C++)

编程入门 行业动态 更新时间:2024-10-27 22:20:47

ZDC<a href=https://www.elefans.com/category/jswz/34/1731838.html style=探测器数据分析函数(基于C++)"/>

ZDC探测器数据分析函数(基于C++)

  1. 设置各通道触发阈值
  2. 读取原始.dat二进制数据文件
  3. 解析并提取相应数据(峰值/波形)
  4. 绘图(峰值/原始波形)
     

关注的物理量:宇宙射线能谱,单位时间的强度,时间抖动

ADC采样频率:50M

ADC精度:14bit

通道数:16

二进制文件数据帧格式

峰值数据帧格式:

当前事件触发时间(17bit)

帧头

(0x7fff,15bit)

32bit

通道1触发时间(17bit)

通道1峰值数据

(15bit)

32bit

………………………

………………………………

通道16触发时间(17bit)

通道16峰值数据

(15bit)

32bit

0x1ffff(17bit)

帧尾

(0x4000, 15bit)

32bit

波形数据帧格式:

0000(17bit)

波形数据

(15bit,有符号)

32bit

………………………

………………………………

函数以及功能:

1. serverConncet(char *ip , int port)   //和FPGA建立TCP/IP连接

2. void selDataMode(int datamode, QString  ch) 

//选择接收数据模式  mod 0: paek mode 1: wave

3. void setThreshold(QString  ch,int th)

     //  设置各通道阈值    ch:  通道号(字符)    th:  阈值(十进制)

  1. QString getData(QString filepath, int mode, qint64 totalBytes, int receivedTime)

// 接收数据     

// Mode 0  : 以时间长度接收

 // Mode 1 : 以文件大小接收

  1. void ceeZdcReadFile(QString datfilename,int dataMode)

// 读取接收的文件  并存放在全局动态数组中

//dataMode 0 : 读peakdata   存入 myVector_peak

//dataMode 1 : 读wavedata   存入 myVector_wave

  1. void multiChannelSync( int *validChannel, int *threshold, int thresholdLen, int window)

// 根据阈值和时间窗口筛选多通道数据 并同步寻找多个通道同时触发时的事件

// validChannel :有效的通道号

// threshold :输入各通道筛选阈值

// thresholdLen : 需要筛选的通道数

// window : 筛选时间窗口  (各个通道和首个触发通道的触发时间差窗口)

  1. void getPlot1(const char *outputFile,double &peak,double &FWHM,double &hit, double &timeJitter)

// 画能谱图和时间抖动图

  1.  int baselineCalibration(double &baselineRMS)

//基线RMS检测以及触发阈值设置

  1. SoftReset()  //软复位  远程复位FPGA

更多推荐

ZDC探测器数据分析函数(基于C++)

本文发布于:2024-03-12 15:38:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1731836.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:探测器   函数   数据   ZDC

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!