10 added + 2 modified, total 12 files
lcsim/src/org/lcsim/event
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
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
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
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
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
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
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
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
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
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
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
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