Made read_binary.C work with current data format
This commit is contained in:
@@ -121,7 +121,7 @@
|
||||
D5446422141E1BB40027AF52 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0920;
|
||||
LastUpgradeCheck = 0930;
|
||||
ORGANIZATIONNAME = PSI;
|
||||
};
|
||||
buildConfigurationList = D5446425141E1BB40027AF52 /* Build configuration list for PBXProject "drs_exam" */;
|
||||
@@ -166,11 +166,13 @@
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
@@ -212,11 +214,13 @@
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
@@ -245,6 +249,7 @@
|
||||
D5446436141E1BB40027AF52 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
@@ -254,9 +259,8 @@
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
/usr/local/include,
|
||||
/drs4eb/software/include,
|
||||
/usr/local/inlucde,
|
||||
/opt/local/include,
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-L/usr/local/lib",
|
||||
@@ -265,6 +269,7 @@
|
||||
IOKit,
|
||||
"-framework",
|
||||
Carbon,
|
||||
"--stdlib=libc++",
|
||||
);
|
||||
PRELINK_LIBS = "";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@@ -274,11 +279,11 @@
|
||||
D5446437141E1BB40027AF52 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
/usr/local/include,
|
||||
/drs4eb/software/include,
|
||||
/usr/local/inlucde,
|
||||
/opt/local/include,
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-L/usr/local/lib",
|
||||
@@ -287,6 +292,7 @@
|
||||
IOKit,
|
||||
"-framework",
|
||||
Carbon,
|
||||
"--stdlib=libc++",
|
||||
);
|
||||
PRELINK_LIBS = "";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
D5446422141E1BB40027AF52 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0900;
|
||||
LastUpgradeCheck = 0930;
|
||||
ORGANIZATIONNAME = PSI;
|
||||
};
|
||||
buildConfigurationList = D5446425141E1BB40027AF52 /* Build configuration list for PBXProject "drscl" */;
|
||||
@@ -166,11 +166,13 @@
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
@@ -212,11 +214,13 @@
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
@@ -245,6 +249,7 @@
|
||||
D5446436141E1BB40027AF52 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
@@ -274,6 +279,7 @@
|
||||
D5446437141E1BB40027AF52 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
/usr/local/include,
|
||||
|
||||
@@ -241,7 +241,7 @@
|
||||
D54FC049142777CD00A7A6B0 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0920;
|
||||
LastUpgradeCheck = 0930;
|
||||
ORGANIZATIONNAME = PSI;
|
||||
TargetAttributes = {
|
||||
D54FC051142777CE00A7A6B0 = {
|
||||
@@ -322,11 +322,13 @@
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
@@ -369,11 +371,13 @@
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
@@ -405,6 +409,7 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
@@ -430,6 +435,8 @@
|
||||
);
|
||||
INFOPLIST_FILE = drsosc.xcodeproj/Info.plist;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.7;
|
||||
OTHER_CFLAGS = "";
|
||||
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
|
||||
OTHER_LDFLAGS = (
|
||||
"-L/usr/local/lib",
|
||||
"/usr/local/lib/libusb-1.0.a",
|
||||
@@ -476,6 +483,7 @@
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_CXX_LIBRARY = "compiler-default";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
@@ -499,6 +507,8 @@
|
||||
);
|
||||
INFOPLIST_FILE = drsosc.xcodeproj/Info.plist;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.7;
|
||||
OTHER_CFLAGS = "";
|
||||
OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)";
|
||||
OTHER_LDFLAGS = (
|
||||
"-L/usr/local/lib",
|
||||
"/usr/local/lib/libusb-1.0.a",
|
||||
|
||||
+161
-84
@@ -29,39 +29,58 @@
|
||||
#include "Getline.h"
|
||||
|
||||
typedef struct {
|
||||
char time_header[4];
|
||||
char bn[2];
|
||||
unsigned short board_serial_number;
|
||||
char tag[3];
|
||||
char version;
|
||||
} FHEADER;
|
||||
|
||||
typedef struct {
|
||||
char time_header[4];
|
||||
} THEADER;
|
||||
|
||||
typedef struct {
|
||||
char event_header[4];
|
||||
unsigned int event_serial_number;
|
||||
unsigned short year;
|
||||
unsigned short month;
|
||||
unsigned short day;
|
||||
unsigned short hour;
|
||||
unsigned short minute;
|
||||
unsigned short second;
|
||||
unsigned short millisecond;
|
||||
unsigned short reserved1;
|
||||
char bs[2];
|
||||
unsigned short board_serial_number;
|
||||
char tc[2];
|
||||
unsigned short trigger_cell;
|
||||
char bn[2];
|
||||
unsigned short board_serial_number;
|
||||
} BHEADER;
|
||||
|
||||
typedef struct {
|
||||
char event_header[4];
|
||||
unsigned int event_serial_number;
|
||||
unsigned short year;
|
||||
unsigned short month;
|
||||
unsigned short day;
|
||||
unsigned short hour;
|
||||
unsigned short minute;
|
||||
unsigned short second;
|
||||
unsigned short millisecond;
|
||||
unsigned short range;
|
||||
} EHEADER;
|
||||
|
||||
typedef struct {
|
||||
char tc[2];
|
||||
unsigned short trigger_cell;
|
||||
} TCHEADER;
|
||||
|
||||
typedef struct {
|
||||
char c[1];
|
||||
char cn[3];
|
||||
} CHEADER;
|
||||
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
|
||||
void decode(char *filename) {
|
||||
THEADER th;
|
||||
EHEADER eh;
|
||||
char hdr[4];
|
||||
void decode(const char *filename) {
|
||||
FHEADER fh;
|
||||
THEADER th;
|
||||
BHEADER bh;
|
||||
EHEADER eh;
|
||||
TCHEADER tch;
|
||||
CHEADER ch;
|
||||
|
||||
unsigned int scaler;
|
||||
unsigned short voltage[1024];
|
||||
double waveform[4][1024], time[4][1024];
|
||||
float bin_width[4][1024];
|
||||
double waveform[16][4][1024], time[16][4][1024];
|
||||
float bin_width[16][4][1024];
|
||||
char rootfile[256];
|
||||
int i, j, ch, n, chn_index;
|
||||
int i, j, b, chn, n, chn_index, n_boards;
|
||||
double t1, t2, dt;
|
||||
|
||||
// open the binary waveform file
|
||||
@@ -73,8 +92,11 @@ void decode(char *filename) {
|
||||
|
||||
//open the root file
|
||||
strcpy(rootfile, filename);
|
||||
if (strchr(rootfile, '.'))
|
||||
*strchr(rootfile, '.') = 0;
|
||||
for (i=0 ; i<strlen(rootfile) ; i++)
|
||||
if (rootfile[i] == '.') {
|
||||
rootfile[i] = 0;
|
||||
break;
|
||||
}
|
||||
strcat(rootfile, ".root");
|
||||
TFile *outfile = new TFile(rootfile, "RECREATE");
|
||||
|
||||
@@ -95,76 +117,131 @@ void decode(char *filename) {
|
||||
// create graph
|
||||
TGraph *g = new TGraph(1024, (double *)time[0], (double *)waveform[0]);
|
||||
|
||||
// read file header
|
||||
fread(&fh, sizeof(fh), 1, f);
|
||||
if (fh.tag[0] != 'D' || fh.tag[1] != 'R' || fh.tag[2] != 'S') {
|
||||
printf("Found invalid file header in file \'%s\', aborting.\n", filename);
|
||||
return;
|
||||
}
|
||||
|
||||
if (fh.version != '2') {
|
||||
printf("Found invalid file version \'%c\' in file \'%s\', should be \'2\', aborting.\n", fh.version, filename);
|
||||
return;
|
||||
}
|
||||
|
||||
// read time header
|
||||
fread(&th, sizeof(th), 1, f);
|
||||
printf("Found data for board #%d\n", th.board_serial_number);
|
||||
|
||||
// read time bin widths
|
||||
memset(bin_width, sizeof(bin_width), 0);
|
||||
for (ch=0 ; ch<5 ; ch++) {
|
||||
fread(hdr, sizeof(hdr), 1, f);
|
||||
if (hdr[0] != 'C') {
|
||||
// event header found
|
||||
fseek(f, -4, SEEK_CUR);
|
||||
break;
|
||||
}
|
||||
i = hdr[3] - '0' - 1;
|
||||
printf("Found timing calibration for channel #%d\n", i+1);
|
||||
fread(&bin_width[i][0], sizeof(float), 1024, f);
|
||||
if (memcmp(th.time_header, "TIME", 4) != 0) {
|
||||
printf("Invalid time header in file \'%s\', aborting.\n", filename);
|
||||
return;
|
||||
}
|
||||
|
||||
// loop over all events in data file
|
||||
for (n=0 ; n<5 ; n++) {
|
||||
// read event header
|
||||
i = fread(&eh, sizeof(eh), 1, f);
|
||||
if (i < 1)
|
||||
|
||||
for (b = 0 ; ; b++) {
|
||||
// read board header
|
||||
fread(&bh, sizeof(bh), 1, f);
|
||||
if (memcmp(bh.bn, "B#", 2) != 0) {
|
||||
// probably event header found
|
||||
fseek(f, -4, SEEK_CUR);
|
||||
break;
|
||||
|
||||
printf("Found event #%d\n", eh.event_serial_number);
|
||||
|
||||
// reach channel data
|
||||
for (ch=0 ; ch<5 ; ch++) {
|
||||
i = fread(hdr, sizeof(hdr), 1, f);
|
||||
if (i < 1)
|
||||
break;
|
||||
if (hdr[0] != 'C') {
|
||||
}
|
||||
|
||||
printf("Found data for board #%d\n", bh.board_serial_number);
|
||||
|
||||
// read time bin widths
|
||||
memset(bin_width[b], 0, sizeof(bin_width[0]));
|
||||
for (chn=0 ; chn<5 ; chn++) {
|
||||
fread(&ch, sizeof(ch), 1, f);
|
||||
if (ch.c[0] != 'C') {
|
||||
// event header found
|
||||
fseek(f, -4, SEEK_CUR);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
chn_index = hdr[3] - '0' - 1;
|
||||
fread(voltage, sizeof(short), 1024, f);
|
||||
|
||||
for (i=0 ; i<1024 ; i++) {
|
||||
// convert data to volts
|
||||
waveform[chn_index][i] = (voltage[i] / 65536. - 0.5);
|
||||
|
||||
// calculate time for this cell
|
||||
for (j=0,time[chn_index][i]=0 ; j<i ; j++)
|
||||
time[chn_index][i] += bin_width[chn_index][(j+eh.trigger_cell) % 1024];
|
||||
i = ch.cn[2] - '0' - 1;
|
||||
printf("Found timing calibration for channel #%d\n", i+1);
|
||||
fread(&bin_width[b][i][0], sizeof(float), 1024, f);
|
||||
// fix for 2048 bin mode: double channel
|
||||
if (bin_width[b][i][1023] > 10 || bin_width[b][i][1023] < 0.01) {
|
||||
for (j=0 ; j<512 ; j++)
|
||||
bin_width[b][i][j+512] = bin_width[b][i][j];
|
||||
}
|
||||
}
|
||||
|
||||
// align cell #0 of all channels
|
||||
t1 = time[0][(1024-eh.trigger_cell) % 1024];
|
||||
for (ch=1 ; ch<4 ; ch++) {
|
||||
t2 = time[ch][(1024-eh.trigger_cell) % 1024];
|
||||
dt = t1 - t2;
|
||||
for (i=0 ; i<1024 ; i++)
|
||||
time[ch][i] += dt;
|
||||
}
|
||||
}
|
||||
n_boards = b;
|
||||
|
||||
// fill root tree
|
||||
rec->Fill();
|
||||
// loop over all events in the data file
|
||||
for (n=0 ; ; n++) {
|
||||
// read event header
|
||||
i = (int)fread(&eh, sizeof(eh), 1, f);
|
||||
if (i < 1)
|
||||
break;
|
||||
|
||||
// fill graph
|
||||
for (i=0 ; i<1024 ; i++)
|
||||
g->SetPoint(i, time[0][i], waveform[0][i]);
|
||||
printf("Found event #%d %d %d\n", eh.event_serial_number, eh.second, eh.millisecond);
|
||||
|
||||
// draw graph and wait for user click
|
||||
g->Draw("ACP");
|
||||
c1->Update();
|
||||
gPad->WaitPrimitive();
|
||||
// loop over all boards in data file
|
||||
for (b=0 ; b<n_boards ; b++) {
|
||||
|
||||
// read board header
|
||||
fread(&bh, sizeof(bh), 1, f);
|
||||
if (memcmp(bh.bn, "B#", 2) != 0) {
|
||||
printf("Invalid board header in file \'%s\', aborting.\n", filename);
|
||||
return;
|
||||
}
|
||||
|
||||
// read trigger cell
|
||||
fread(&tch, sizeof(tch), 1, f);
|
||||
if (memcmp(tch.tc, "T#", 2) != 0) {
|
||||
printf("Invalid trigger cell header in file \'%s\', aborting.\n", filename);
|
||||
return;
|
||||
}
|
||||
|
||||
if (n_boards > 1)
|
||||
printf("Found data for board #%d\n", bh.board_serial_number);
|
||||
|
||||
// reach channel data
|
||||
for (chn=0 ; chn<4 ; chn++) {
|
||||
|
||||
// read channel header
|
||||
fread(&ch, sizeof(ch), 1, f);
|
||||
if (ch.c[0] != 'C') {
|
||||
// event header found
|
||||
fseek(f, -4, SEEK_CUR);
|
||||
break;
|
||||
}
|
||||
chn_index = ch.cn[2] - '0' - 1;
|
||||
fread(&scaler, sizeof(int), 1, f);
|
||||
fread(voltage, sizeof(short), 1024, f);
|
||||
|
||||
for (i=0 ; i<1024 ; i++) {
|
||||
// convert data to volts
|
||||
waveform[b][chn_index][i] = (voltage[i] / 65536. + eh.range/1000.0 - 0.5);
|
||||
|
||||
// calculate time for this cell
|
||||
for (j=0,time[b][chn_index][i]=0 ; j<i ; j++)
|
||||
time[b][chn_index][i] += bin_width[b][chn_index][(j+tch.trigger_cell) % 1024];
|
||||
}
|
||||
}
|
||||
|
||||
// align cell #0 of all channels
|
||||
t1 = time[b][0][(1024-tch.trigger_cell) % 1024];
|
||||
for (chn=1 ; chn<4 ; chn++) {
|
||||
t2 = time[b][chn][(1024-tch.trigger_cell) % 1024];
|
||||
dt = t1 - t2;
|
||||
for (i=0 ; i<1024 ; i++)
|
||||
time[b][chn][i] += dt;
|
||||
}
|
||||
|
||||
// fill root tree
|
||||
rec->Fill();
|
||||
|
||||
// fill graph
|
||||
for (i=0 ; i<1024 ; i++)
|
||||
g->SetPoint(i, time[b][0][i], waveform[b][0][i]);
|
||||
|
||||
// draw graph and wait for user click
|
||||
g->Draw("ACP");
|
||||
c1->Update();
|
||||
gPad->WaitPrimitive();
|
||||
}
|
||||
}
|
||||
|
||||
// print number of events
|
||||
|
||||
@@ -129,7 +129,7 @@ int main(int argc, const char * argv[])
|
||||
printf("Found data for board #%d\n", bh.board_serial_number);
|
||||
|
||||
// read time bin widths
|
||||
memset(bin_width[b], sizeof(bin_width[0]), 0);
|
||||
memset(bin_width[b], 0, sizeof(bin_width[0]));
|
||||
for (chn=0 ; chn<5 ; chn++) {
|
||||
fread(&ch, sizeof(ch), 1, f);
|
||||
if (ch.c[0] != 'C') {
|
||||
|
||||
@@ -88,15 +88,16 @@
|
||||
D526879018C8A2A800D244A2 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0900;
|
||||
LastUpgradeCheck = 1020;
|
||||
ORGANIZATIONNAME = "Stefan Ritt";
|
||||
};
|
||||
buildConfigurationList = D526879318C8A2A800D244A2 /* Build configuration list for PBXProject "read_binary" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = D526878F18C8A2A800D244A2;
|
||||
productRefGroup = D526879918C8A2A800D244A2 /* Products */;
|
||||
@@ -124,6 +125,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
@@ -131,12 +133,14 @@
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
@@ -173,6 +177,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
@@ -180,12 +185,14 @@
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
|
||||
Reference in New Issue
Block a user