1 package org.lcsim.job;
2
3 import java.util.logging.Level;
4 import java.util.logging.Logger;
5
6 import org.freehep.record.loop.RecordEvent;
7 import org.freehep.record.loop.RecordListener;
8 import org.lcsim.event.EventHeader;
9
10
11
12
13
14
15 class EventPrintLoopAdapter implements RecordListener {
16
17
18
19
20 private static Logger LOGGER = Logger.getLogger(EventPrintLoopAdapter.class.getName());
21 static {
22 if (LOGGER.getLevel() == null) {
23 System.out.println("EventPrintLoopAdapter: set level to ALL");
24 LOGGER.setLevel(Level.ALL);
25 } else {
26 System.out.println("EventPrintLoopAdapter: level " + LOGGER.getLevel() + " from config");
27 }
28 }
29
30
31
32
33 private long eventSequence = 0;
34
35
36
37
38 private long printInterval = 1;
39
40
41
42
43
44 EventPrintLoopAdapter(long printInterval) {
45 this.printInterval = printInterval;
46 }
47
48
49
50
51 @Override
52 public void recordSupplied(RecordEvent recordEvent) {
53 Object record = recordEvent.getRecord();
54 if (record instanceof EventHeader) {
55 EventHeader event = (EventHeader) recordEvent.getRecord();
56
57 if (eventSequence % printInterval == 0) {
58 LOGGER.info("event: " + event.getEventNumber() + "; time: " + event.getTimeStamp() + "; seq: "
59 + eventSequence);
60 }
61 ++eventSequence;
62 }
63 }
64 }