13 int main(
int argc,
char *argv[])
19 cm_connect_experiment(host_name, exp_name,
"Compression", NULL);
20 cm_get_experiment_database(&
hDB, NULL);
27 sprintf(key_name,
"Runinfo/Run number");
28 db_get_value(
hDB,0,key_name, &runnumber, &size, TID_INT,1);
29 bool USE_OLD_COMPRESSION=
false;
30 if (runnumber > 30000 && runnumber < 50000)
32 USE_OLD_COMPRESSION=
true;
34 printf(
"Determined that we should use old compression %d\n", USE_OLD_COMPRESSION);
41 printf(
"Usage: mucap_expand uncompressed_input.mid uncompressed_output.mid\n");
45 FILE *fp = fopen(argv[1],
"r");
47 printf(
"Unable to open %s\n", argv[1]);
51 FILE *output_fp = fopen(argv[2],
"w");
53 printf(
"Unable to open %s\n", argv[2]);
57 char *input_event =
new char[MAX_EVENT_SIZE];
58 char *output_event =
new char[MAX_EVENT_SIZE];
61 EVENT_HEADER header = *((EVENT_HEADER *) input_event);
65 if (event_id == EVENTID_BOR || event_id == EVENTID_EOR ||
66 event_id == EVENTID_MESSAGE) {
69 fwrite(input_event, 1,
sizeof(EVENT_HEADER) + header.data_size,
73 bk_init32(output_event);
74 expand_event(input_event +
sizeof(EVENT_HEADER), output_event,USE_OLD_COMPRESSION);
75 header.data_size = bk_size(output_event);
77 fwrite(&header,
sizeof(EVENT_HEADER), 1, output_fp);
78 fwrite(output_event, 1, header.data_size, output_fp);
85 cm_disconnect_experiment();