Author: [log in to unmask]
Date: Thu May 14 12:32:53 2015
New Revision: 2968
Log:
Preliminary version of utility for patching LCIO files with bad Cluster data. HPSJAVA-502
Added:
java/trunk/users/src/main/java/org/hps/users/jeremym/PatchLcioFile.java
Added: java/trunk/users/src/main/java/org/hps/users/jeremym/PatchLcioFile.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/jeremym/PatchLcioFile.java (added)
+++ java/trunk/users/src/main/java/org/hps/users/jeremym/PatchLcioFile.java Thu May 14 12:32:53 2015
@@ -0,0 +1,53 @@
+package org.hps.users.jeremym;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.lcio.LCIOReader;
+import org.lcsim.lcio.LCIOWriter;
+
+/**
+ * Read in an LCIO file and write it to a new location, which should fix
+ * the SIOCluster issue.
+ */
+public final class PatchLcioFile {
+
+ public static void main(String[] args) {
+
+ File oldFile = new File(args[0]);
+ File newFile = new File(args[1]);
+
+ LCIOReader reader = null;
+ LCIOWriter writer = null;
+ try {
+ System.out.println("opening " + oldFile.getPath() + " for reading");
+ reader = new LCIOReader(oldFile);
+
+ System.out.println("opening " + newFile.getPath() + " for writing");
+ writer = new LCIOWriter(newFile);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ EventHeader event = null;
+ try {
+ while ((event = reader.read()) != null) {
+ writer.write(event);
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ } finally {
+ try {
+ reader.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ try {
+ writer.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ System.out.println("done patching " + oldFile.getPath());
+ }
+}
|