Commit in lcsim/src/org/lcsim on MAIN
event/StringVec.java+11added 1.1
     /IntVec.java+11added 1.1
util/lcio/SIOStringVec.java+34added 1.1
         /SIOStringVecBlockHandler.java+28added 1.1
         /SIOIntVecBlockHandler.java+28added 1.1
         /SIOIntVec.java+34added 1.1
         /HandlerManager.java+21.15 -> 1.16
plugin/browser/IntVecTableModel.java+35added 1.1
              /StringVecTableModel.java+35added 1.1
              /LCSimEventBrowser.java+21.13 -> 1.14
event/base/BaseIntVec.java+40added 1.1
          /BaseStringVec.java+40added 1.1
+300
10 added + 2 modified, total 12 files
Add code for IntVec and StringVec

lcsim/src/org/lcsim/event
StringVec.java added at 1.1
diff -N StringVec.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ StringVec.java	5 Mar 2009 02:44:16 -0000	1.1
@@ -0,0 +1,11 @@
+package org.lcsim.event;
+
+import java.util.List;
+
+/**
+ * 
+ * @author tonyj
+ */
+public interface StringVec extends List<String> {
+    String[] toStringArray();
+}

lcsim/src/org/lcsim/event
IntVec.java added at 1.1
diff -N IntVec.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ IntVec.java	5 Mar 2009 02:44:16 -0000	1.1
@@ -0,0 +1,11 @@
+package org.lcsim.event;
+
+import java.util.List;
+
+/**
+ * 
+ * @author tonyj
+ */
+public interface IntVec extends List<Integer> {
+    int[] toIntArray();
+}

lcsim/src/org/lcsim/util/lcio
SIOStringVec.java added at 1.1
diff -N SIOStringVec.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SIOStringVec.java	5 Mar 2009 02:44:17 -0000	1.1
@@ -0,0 +1,34 @@
+package org.lcsim.util.lcio;
+
+import hep.io.sio.SIOInputStream;
+
+import hep.io.sio.SIOOutputStream;
+import java.io.IOException;
+import org.lcsim.event.StringVec;
+import org.lcsim.event.base.BaseStringVec;
+
+/**
+ *
+ * @version $Id: SIOStringVec.java,v 1.1 2009/03/05 02:44:17 tonyj Exp $
+ */
+class SIOStringVec extends BaseStringVec
+{   
+   SIOStringVec(SIOInputStream in, int flag, int version) throws IOException
+   {
+      int size = in.readInt();
+      String[] data = new String[size];
+      for (int i = 0; i < size; i++)
+         data[i] = in.readString();
+      if(version>1002) in.readPTag(this);
+      setVec(data);
+   }
+
+   static void write(StringVec vec, SIOOutputStream out, int flags) throws IOException
+   {
+         String[] data = vec.toStringArray();
+         out.writeInt(data.length);
+         for (int i = 0; i < data.length; i++)
+            out.writeString(data[i]);
+         out.writePTag(vec) ;
+   }
+}

lcsim/src/org/lcsim/util/lcio
SIOStringVecBlockHandler.java added at 1.1
diff -N SIOStringVecBlockHandler.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SIOStringVecBlockHandler.java	5 Mar 2009 02:44:17 -0000	1.1
@@ -0,0 +1,28 @@
+package org.lcsim.util.lcio;
+
+import hep.io.sio.SIOInputStream;
+import hep.io.sio.SIOOutputStream;
+import java.io.IOException;
+
+import org.lcsim.event.FloatVec;
+
+/**
+ *
+ * @author tonyj
+ */
+class SIOStringVecBlockHandler extends AbstractBlockHandler
+{
+   public String getType() { return "LCFloatVec"; }
+   public Class getClassForType() { return FloatVec.class; }
+   LCIOCallback addCollectionElements(LCIOEvent event, LCIOCollection collection, SIOInputStream in, int n, int version) throws IOException
+   {
+      for (int i = 0; i < n; i++)
+         collection.add(new SIOFloatVec(in, collection.getFlags(), version));
+      return null;
+   }
+   
+   void writeCollectionElement(Object element, SIOOutputStream out, int flags) throws IOException
+   {
+      SIOFloatVec.write((FloatVec) element, out, flags);
+   }
+}

lcsim/src/org/lcsim/util/lcio
SIOIntVecBlockHandler.java added at 1.1
diff -N SIOIntVecBlockHandler.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SIOIntVecBlockHandler.java	5 Mar 2009 02:44:17 -0000	1.1
@@ -0,0 +1,28 @@
+package org.lcsim.util.lcio;
+
+import hep.io.sio.SIOInputStream;
+import hep.io.sio.SIOOutputStream;
+import java.io.IOException;
+
+import org.lcsim.event.IntVec;
+
+/**
+ *
+ * @author tonyj
+ */
+class SIOIntVecBlockHandler extends AbstractBlockHandler
+{
+   public String getType() { return "LCIntVec"; }
+   public Class getClassForType() { return IntVec.class; }
+   LCIOCallback addCollectionElements(LCIOEvent event, LCIOCollection collection, SIOInputStream in, int n, int version) throws IOException
+   {
+      for (int i = 0; i < n; i++)
+         collection.add(new SIOFloatVec(in, collection.getFlags(), version));
+      return null;
+   }
+   
+   void writeCollectionElement(Object element, SIOOutputStream out, int flags) throws IOException
+   {
+      SIOIntVec.write((IntVec) element, out, flags);
+   }
+}

lcsim/src/org/lcsim/util/lcio
SIOIntVec.java added at 1.1
diff -N SIOIntVec.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SIOIntVec.java	5 Mar 2009 02:44:17 -0000	1.1
@@ -0,0 +1,34 @@
+package org.lcsim.util.lcio;
+
+import hep.io.sio.SIOInputStream;
+
+import hep.io.sio.SIOOutputStream;
+import java.io.IOException;
+import org.lcsim.event.IntVec;
+import org.lcsim.event.base.BaseIntVec;
+
+/**
+ *
+ * @version $Id: SIOIntVec.java,v 1.1 2009/03/05 02:44:17 tonyj Exp $
+ */
+class SIOIntVec extends BaseIntVec
+{   
+   SIOIntVec(SIOInputStream in, int flag, int version) throws IOException
+   {
+      int size = in.readInt();
+      int[] data = new int[size];
+      for (int i = 0; i < size; i++)
+         data[i] = in.readInt();
+      if(version>1002) in.readPTag(this);
+      setVec(data);
+   }
+
+   static void write(IntVec vec, SIOOutputStream out, int flags) throws IOException
+   {
+         int[] data = vec.toIntArray();
+         out.writeInt(data.length);
+         for (int i = 0; i < data.length; i++)
+            out.writeFloat(data[i]);
+         out.writePTag(vec) ;
+   }
+}
\ No newline at end of file

lcsim/src/org/lcsim/util/lcio
HandlerManager.java 1.15 -> 1.16
diff -u -r1.15 -r1.16
--- HandlerManager.java	4 Mar 2009 08:40:11 -0000	1.15
+++ HandlerManager.java	5 Mar 2009 02:44:17 -0000	1.16
@@ -41,6 +41,8 @@
       register(new SIOTrackerPulseBlockHandler());
       register(new SIOVertexBlockHandler());
       register(new SIOFloatVecBlockHandler());
+      register(new SIOIntVecBlockHandler());
+      register(new SIOStringVecBlockHandler());
    }
    static HandlerManager instance()
    {

lcsim/src/org/lcsim/plugin/browser
IntVecTableModel.java added at 1.1
diff -N IntVecTableModel.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ IntVecTableModel.java	5 Mar 2009 02:44:17 -0000	1.1
@@ -0,0 +1,35 @@
+package org.lcsim.plugin.browser;
+
+import java.util.Arrays;
+import org.lcsim.event.IntVec;
+
+
+/**
+ *
+ * @author tonyj
+ */
+class IntVecTableModel extends GenericTableModel
+{
+   private static final String[] columns = {"I","Size","Data"};
+   private static Class klass = IntVec.class;
+
+   IntVecTableModel()
+   {
+      super(klass,columns);
+   }
+   public Object getValueAt(int row, int column)
+   {
+      IntVec vec = (IntVec) getData(row);
+      switch (column) {
+          case 0: return row;
+          case 1: return vec.size();
+          case 2: return Arrays.toString(vec.toIntArray());
+          default: return null;
+      }
+   }
+   
+   public Class getColumnClass(int column)
+   {
+      return column==2 ? String.class : Integer.class;
+   }
+}

lcsim/src/org/lcsim/plugin/browser
StringVecTableModel.java added at 1.1
diff -N StringVecTableModel.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ StringVecTableModel.java	5 Mar 2009 02:44:17 -0000	1.1
@@ -0,0 +1,35 @@
+package org.lcsim.plugin.browser;
+
+import java.util.Arrays;
+import org.lcsim.event.StringVec;
+
+
+/**
+ *
+ * @author tonyj
+ */
+class StringVecTableModel extends GenericTableModel
+{
+   private static final String[] columns = {"I","Size","Data"};
+   private static Class klass = StringVec.class;
+
+   StringVecTableModel()
+   {
+      super(klass,columns);
+   }
+   public Object getValueAt(int row, int column)
+   {
+      StringVec vec = (StringVec) getData(row);
+      switch (column) {
+          case 0: return row;
+          case 1: return vec.size();
+          case 2: return Arrays.toString(vec.toStringArray());
+          default: return null;
+      }
+   }
+   
+   public Class getColumnClass(int column)
+   {
+      return column==2 ? String.class : Integer.class;
+   }
+}

lcsim/src/org/lcsim/plugin/browser
LCSimEventBrowser.java 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- LCSimEventBrowser.java	4 Mar 2009 08:40:11 -0000	1.13
+++ LCSimEventBrowser.java	5 Mar 2009 02:44:17 -0000	1.14
@@ -79,6 +79,8 @@
       lookup.add(new TrackerDataTableModel());
       lookup.add(new VertexTableModel());
       lookup.add(new FloatVecTableModel());
+      lookup.add(new IntVecTableModel());
+      lookup.add(new StringVecTableModel());
    }
    
    public LCSimEventBrowser(Studio app, SequentialRecordLoop loop)

lcsim/src/org/lcsim/event/base
BaseIntVec.java added at 1.1
diff -N BaseIntVec.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ BaseIntVec.java	5 Mar 2009 02:44:17 -0000	1.1
@@ -0,0 +1,40 @@
+package org.lcsim.event.base;
+
+import java.util.AbstractList;
+import org.lcsim.event.IntVec;
+
+/**
+ * Unmodifiable implementation of FloatVec. 
+ * @author tonyj
+ */
+public class BaseIntVec extends AbstractList<Integer> implements IntVec  {
+
+    private int[] vec;
+
+    public BaseIntVec(int[] vec) {
+        this.vec = vec;
+    }
+
+    protected BaseIntVec() {
+
+    }
+    protected void setVec(int[] vec) {
+        this.vec = vec;
+    }
+
+    @Override
+    public Integer get(int index) {
+        return vec[index];
+    }
+
+    @Override
+    public int size() {
+        return vec.length;
+    }
+
+    public int[] toIntArray() {
+        return vec;
+    }
+
+
+}

lcsim/src/org/lcsim/event/base
BaseStringVec.java added at 1.1
diff -N BaseStringVec.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ BaseStringVec.java	5 Mar 2009 02:44:17 -0000	1.1
@@ -0,0 +1,40 @@
+package org.lcsim.event.base;
+
+import java.util.AbstractList;
+import org.lcsim.event.StringVec;
+
+/**
+ * Unmodifiable implementation of FloatVec. 
+ * @author tonyj
+ */
+public class BaseStringVec extends AbstractList<String> implements StringVec  {
+
+    private String[] vec;
+
+    public BaseStringVec(String[] vec) {
+        this.vec = vec;
+    }
+
+    protected BaseStringVec() {
+
+    }
+    protected void setVec(String[] vec) {
+        this.vec = vec;
+    }
+
+    @Override
+    public String get(int index) {
+        return vec[index];
+    }
+
+    @Override
+    public int size() {
+        return vec.length;
+    }
+
+    public String[] toStringArray() {
+        return vec;
+    }
+
+
+}
CVSspam 0.2.8