Print

Print


Commit in lcsim/src/org/lcsim on MAIN
util/lcio/SIOSiliconTrackerHit.java+49added 1.1
         /SIOSiliconTrackerHitBlockHandler.java+29added 1.1
         /HandlerManager.java+11.8 -> 1.9
event/SiliconTrackerHit.java+12added 1.1
+91
3 added + 1 modified, total 4 files
First stab at IO for SiliconTrackerHit
(No MCParticle) handling yet

lcsim/src/org/lcsim/util/lcio
SIOSiliconTrackerHit.java added at 1.1
diff -N SIOSiliconTrackerHit.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SIOSiliconTrackerHit.java	19 Jun 2006 19:04:09 -0000	1.1
@@ -0,0 +1,49 @@
+package org.lcsim.util.lcio;
+
+import hep.lcd.io.sio.SIOInputStream;
+import hep.lcd.io.sio.SIOOutputStream;
+import java.io.IOException;
+import org.lcsim.event.SiliconTrackerHit;
+import org.lcsim.event.TPCHit;
+
+/**
+ * Simple implementation of LCIO SiliconTrackerHit IO
+ * @author tonyj
+ */
+class SIOSiliconTrackerHit implements SiliconTrackerHit
+{
+   private final long cellID;
+   private final int timestamp;
+   private final int adcCounts;
+   
+   public SIOSiliconTrackerHit(SIOInputStream in, int flags, int version) throws IOException
+   {
+      cellID = in.readLong();
+      timestamp = in.readInt();
+      adcCounts = in.readInt();
+      in.readPTag(this);
+   }
+   
+   public long getCellID()
+   {
+      return cellID;
+   }
+   
+   public int getTimestamp()
+   {
+      return timestamp;
+   }
+   
+   public int getADCCounts()
+   {
+      return adcCounts;
+   }
+   
+   static void write(SiliconTrackerHit hit, SIOOutputStream out, int flags) throws IOException
+   {
+      out.writeLong(hit.getCellID());
+      out.writeInt(hit.getTimestamp());
+      out.writeInt(hit.getADCCounts());
+      out.writePTag(hit);
+   }
+}

lcsim/src/org/lcsim/util/lcio
SIOSiliconTrackerHitBlockHandler.java added at 1.1
diff -N SIOSiliconTrackerHitBlockHandler.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SIOSiliconTrackerHitBlockHandler.java	19 Jun 2006 19:04:10 -0000	1.1
@@ -0,0 +1,29 @@
+package org.lcsim.util.lcio;
+
+import hep.lcd.io.sio.SIOInputStream;
+import hep.lcd.io.sio.SIOOutputStream;
+import java.io.IOException;
+import org.lcsim.event.SiliconTrackerHit;
+
+import org.lcsim.event.TPCHit;
+import org.lcsim.recon.tracking.digitization.SiliconRawHit;
+
+/**
+ *
+ * @author tonyj
+ */
+class SIOSiliconTrackerHitBlockHandler extends AbstractBlockHandler
+{
+   public String getType() { return "SiliconRawHit"; }
+   public Class getClassForType() { return SiliconRawHit.class; }
+   void addCollectionElements(LCIOEvent event, LCIOCollection collection, SIOInputStream in, int n, int version) throws IOException
+   {
+      for (int i = 0; i < n; i++)
+         collection.add(new SIOSiliconTrackerHit(in, collection.getFlags(), version));
+   }
+   
+   void writeCollectionElement(Object element, SIOOutputStream out, int flags) throws IOException
+   {
+      SIOSiliconTrackerHit.write((SiliconTrackerHit) element, out, flags);
+   }
+}

lcsim/src/org/lcsim/util/lcio
HandlerManager.java 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- HandlerManager.java	20 Feb 2006 22:24:57 -0000	1.8
+++ HandlerManager.java	19 Jun 2006 19:04:09 -0000	1.9
@@ -36,6 +36,7 @@
       register(new SIOReconstructedParticleBlockHandler());
       register(new SIOCalorimeterHitBlockHandler());
       register(new SIOGenericObjectBlockHandler());
+      register(new SIOSiliconTrackerHitBlockHandler());
    }
    static HandlerManager instance()
    {

lcsim/src/org/lcsim/event
SiliconTrackerHit.java added at 1.1
diff -N SiliconTrackerHit.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ SiliconTrackerHit.java	19 Jun 2006 19:04:10 -0000	1.1
@@ -0,0 +1,12 @@
+package org.lcsim.event;
+
+/**
+ * An interface to be implemented by SiliconTrackerHits
+ * @author tonyj
+ */
+public interface SiliconTrackerHit
+{
+   long getCellID();
+   int getTimestamp();
+   int getADCCounts();
+}
CVSspam 0.2.8