-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.cpp
More file actions
79 lines (57 loc) · 1.78 KB
/
Copy pathmain.cpp
File metadata and controls
79 lines (57 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <WCTERawData.h>
#include <iostream>
#include <BinaryStream.h>
int main(){
// opening a new file//
BinaryStream output;
output.Bopen("./data.dat", NEW, UNCOMPRESSED);
//creating some fake data (not filling out all the feilds but just a couple as an example)
WCTERawData out_data;
out_data.daq_info.run_number = 56;
out_data.daq_info.sub_run_number = 42;
for(int i=0; i<10; i++){
ReadoutWindow tmpwindow;
for(int j=0; j<10; j++){
WCTEMPMTHit mpmt_hit;
mpmt_hit.SetChannel(i);
mpmt_hit.SetCharge(i*100);
WCTEMPMTWaveform mpmt_waveform;
mpmt_waveform.header.SetChannel(i);
for(int k=0; k<j; k++){
mpmt_waveform.samples.push_back(k*20);
}
HKMPMTHit hk_mpmt_hit;
hk_mpmt_hit.SetChannel(i);
hk_mpmt_hit.SetCharge(i*100);
TDCHit tdc_hit;
tdc_hit.SetChannel(i);
tdc_hit.SetValue(i*100);
QDCHit qdc_hit;
qdc_hit.SetChannel(i);
qdc_hit.SetValue(i*100);
tmpwindow.mpmt_hits.push_back(mpmt_hit);
tmpwindow.mpmt_waveforms.push_back(mpmt_waveform);
tmpwindow.hk_mpmt_hits.push_back(hk_mpmt_hit);
tmpwindow.tdc_hits.push_back(tdc_hit);
tmpwindow.qdc_hits.push_back(qdc_hit);
}
TriggerInfo trigger_info;
trigger_info.type=TriggerType::MAIN;
trigger_info.time=324348923904328;
tmpwindow.triggers_info.push_back(trigger_info);
out_data.readout_windows.push_back(tmpwindow);
}
//saving data and closing file
output<<out_data;
output.Bclose();
//opening datafile
BinaryStream input;
input.Bopen("./data.dat", READ, UNCOMPRESSED);
//reading in data
WCTERawData in_data;
input>>in_data;
//printing data
in_data.Print();
input.Bclose();
return 0;
}