Print

Print


Commit in hps-java/src/main/java/org/lcsim/hps/evio on MAIN
EvioFileProducer.java+28-21.6 -> 1.7
add delay option

hps-java/src/main/java/org/lcsim/hps/evio
EvioFileProducer.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- EvioFileProducer.java	16 Mar 2012 19:10:23 -0000	1.6
+++ EvioFileProducer.java	25 Mar 2012 07:26:15 -0000	1.7
@@ -14,6 +14,7 @@
 import org.jlab.coda.jevio.EvioReader;
 
 // This is copied and modified from Carl Timmer's EvioProducer class in et 12 org.jlab.coda.et.apps package.
+// TODO Add option to set number of events in put array.
 public class EvioFileProducer {
     
     EvioReader reader;
@@ -24,6 +25,7 @@
     int port = EtConstants.serverPort;
     int group = 1;
     int size = 10000; // Default event size.
+    int delay = 0;
     
     EvioFileProducer()
     {}
@@ -105,7 +107,22 @@
                         usage();
                         return;
                     }
-                }        	
+                }        
+                else if (args[i].equalsIgnoreCase("-d")) {
+                    try {
+                        delay = Integer.parseInt(args[++i]);
+                        if (delay < 1) {
+                            System.out.println("delay must be > 0.");
+                            usage();
+                            return;
+                        }
+                    }
+                    catch (NumberFormatException ex) {
+                        System.out.println("Did not specify a proper delay.");
+                        usage();
+                        return;
+                    }
+                }
                 else {
                     usage();
                     return;
@@ -134,6 +151,13 @@
             // Open EVIO reader.
             reader = new EvioReader(evioFileName);
             
+            // Print number of events.
+            System.out.println("EVIO file opened with " + reader.getEventCount() + " events");
+
+            // Press ENTER to start producing events.
+            System.out.println("Press ENTER to start producing events...");
+            System.console().readLine();
+
             // Loop until event source is exhausted.
             //int eventCount = 0;
             EvioEvent event = reader.parseNextEvent();
@@ -147,7 +171,9 @@
                         1,            // number of events
                         size,         // size of event but overwritten later
                         group);       // group number; default value is arbitrary
-                                
+                
+                if (delay > 0) Thread.sleep(delay);                
+                
                 // Write EVIO event to EtEvent's buffer.
                 ByteBuffer buf = mevs[0].getDataBuffer();                
                 EventWriter writer = new EventWriter(buf, 100000, 100, null, null);
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1