00001 #include <stdio.h>
00002 #include <unistd.h>
00003 #include <stdlib.h>
00004 #include <string.h>
00005 #include <time.h>
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <rtsLog.h>
00015
00016
00017
00018
00019 #include "daqReader.h"
00020
00021 int main(int argc, char *argv[])
00022 {
00023 rtsLogOutput(RTS_LOG_STDERR);
00024 rtsLogLevel(NOTE);
00025
00026 daqReader *reader;
00027
00028 if(argc > 1) {
00029 reader = new daqReader(argv[1]);
00030 }
00031 else {
00032 LOG(ERR,"Need a filename...");
00033 exit(0);
00034 }
00035
00036 if(reader == NULL) {
00037 LOG(ERR, "Error constructing daqReader with %s", argv[1]);
00038 exit(0);
00039 }
00040
00041 if(reader->status) {
00042 LOG(ERR, "Bad status constructing daqReader with %s",argv[1]);
00043 exit(0);
00044 }
00045
00046 for(int i=1;;i++) {
00047 char *mem = reader->get(0,0);
00048 if(mem == NULL) {
00049 LOG(ERR, "Event %d not valid");
00050 exit(0);
00051 }
00052
00053 if(reader->status == EVP_STAT_EOR) {
00054 LOG(NOTE, "End of run");
00055 exit(0);
00056 }
00057
00058 if(reader->status != EVP_STAT_OK) {
00059 LOG(ERR, "Error on %dth event...");
00060 continue;
00061 }
00062
00063 LOG(INFO,"**** Event %d (file: %d): bytes %d, token %d, FILE %s",reader->seq, reader->event_number,reader->bytes,
00064 reader->token,(int)reader->file_name) ;
00065
00066 LOG(NOTE,"**** Event %d: bytes %d, token %d, trg_cmd %d, FILE %s",reader->event_number,reader->bytes,
00067 reader->token,reader->trgcmd,(int)reader->file_name) ;
00068
00069
00070
00071
00072 char *stime ;
00073 stime = ctime((long int *)&reader->evt_time) ;
00074 *(stime+strlen(stime)-1) = 0 ;
00075
00076 LOG(NOTE," Trigger Word 0x%02X, time %u (%s), daqbits 0x%04X, evpgroups 0x%04X",reader->trgword,reader->evt_time,(int)stime,reader->daqbits,reader->evpgroups) ;
00077
00078
00079 }
00080 }