数据解码

DecodeAndSortAll 程序用来将同一轮数据不同采集卡采集的数据转为一个 ROOT 文件。用户的物理分析以本程序产生的 ROOT 文件为基准。本程序生成的数据已经按照时间戳从小到大排列。

用户首先需要修改 UesrDefine.hh 文件中的定义

// #define ONLYPHA
// #define ONLYPSD
// #define ONLYZLE
// #define ONLYSCOPE

如果获取中所有的模块只使用一个类型的固件,则开启对应的定义。如果没有单一固件的定义,则输出的数据文件将默认支持所有的类型固件。

#define ROOTFILEPATH "./"       //要生成ROOT文件的路径
#define ROOTFILENAME "data"     //要生成ROOT文件的名字
// 生成 ROOT 文件的路径和文件名
#define RAWFILEPATH "/home/wuhongyi/"      //原始数据的路径
#define RAWFILENAME "data"                 //原始数据的文件名
#define MODNUMBER 2                        //机箱中使用的模块数
const unsigned short SamplingRate[MODNUMBER] = {500, 125};//Specify the sampling rate of each modules separately; 125/500/1000 sampling rates; 0 to skip the module
const unsigned short Firmware[MODNUMBER] = {2, 0};//DPP_PHA=0 DPP_ZLE=1 DPP_PSD=2 DPP_DAW=3 OPEN=4 Scope=5
// 指定每个模块的固件类型,如果类型指定错误,解码数据将存在问题

修改之后执行以下命令编译程序:

make clean
make

编译成功之后将生成一个可执行文件 decodeandsort,程序运行方式:

./decodeandsort [RunNnumber]

其中 [RunNnumber] 为想要转换的文件运行编号。