Commit in lcsim/src/org/lcsim on MAIN
event/RawTrackerHit.java+8-31.4 -> 1.5
event/base/BaseRawTrackerHit.java+88-541.2 -> 1.3
util/lcio/SIORawTrackerHit.java+8-41.1 -> 1.2
+104-61
3 modified files
JM: Add DetectorElement and Identifier access to RawTrackerHit.

lcsim/src/org/lcsim/event
RawTrackerHit.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- RawTrackerHit.java	21 May 2007 23:23:11 -0000	1.4
+++ RawTrackerHit.java	23 May 2007 20:14:27 -0000	1.5
@@ -1,15 +1,20 @@
 package org.lcsim.event;
 
 import java.util.List;
+
+import org.lcsim.detector.IDetectorElementMixin;
+import org.lcsim.detector.identifier.IIdentifiable;
+import org.lcsim.detector.identifier.IIdentifier;
 import org.lcsim.geometry.IDDecoder;
 import org.lcsim.geometry.Subdetector;
 
 /**
  * A raw tracker hit (as expected in raw data from a real detector)
  * @author tonyj
- * @version $Id: RawTrackerHit.java,v 1.4 2007/05/21 23:23:11 tonyj Exp $
+ * @version $Id: RawTrackerHit.java,v 1.5 2007/05/23 20:14:27 jeremy Exp $
  */
 public interface RawTrackerHit
+extends IIdentifiable, IDetectorElementMixin
 {
    /**
     *  Returns a time measurement associated with the adc values.
@@ -49,5 +54,5 @@
     // Note, Rob is worried that returning SimTrackerHits here will force recalculation of digitizing objects
     // while overlaying background events. 
     List<SimTrackerHit> getSimTrackerHit();
-    //SimTrackerHit getSimTrackerHit();
-}
+    //SimTrackerHit getSimTrackerHit();    
+}
\ No newline at end of file

lcsim/src/org/lcsim/event/base
BaseRawTrackerHit.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- BaseRawTrackerHit.java	21 May 2007 23:23:11 -0000	1.2
+++ BaseRawTrackerHit.java	23 May 2007 20:14:28 -0000	1.3
@@ -1,67 +1,101 @@
 package org.lcsim.event.base;
 
 import java.util.List;
+
+import org.lcsim.detector.IDetectorElement;
+import org.lcsim.detector.identifier.IExpandedIdentifier;
+import org.lcsim.detector.identifier.IIdentifier;
+import org.lcsim.detector.identifier.IIdentifierHelper;
+import org.lcsim.detector.identifier.Identifier;
 import org.lcsim.event.RawTrackerHit;
 import org.lcsim.event.SimTrackerHit;
 import org.lcsim.geometry.IDDecoder;
 import org.lcsim.geometry.Subdetector;
 
 /**
- * A basic implementation of RawTrackerHit
+ * A basic implementation of RawTrackerHit.
  * @author Tony Johnson
- * @version $Id: BaseRawTrackerHit.java,v 1.2 2007/05/21 23:23:11 tonyj Exp $
+ * @version $Id: BaseRawTrackerHit.java,v 1.3 2007/05/23 20:14:28 jeremy Exp $
  */
 public class BaseRawTrackerHit implements RawTrackerHit
 {
-   protected int time;
-   protected long cellId;
-   protected short[] adcValues;
-   protected IDDecoder decoder;
-   protected List<SimTrackerHit> simTrackerHits;
-   
-   public BaseRawTrackerHit(int time, long cellId, short[] adcValues, IDDecoder decoder, List<SimTrackerHit> simTrackerHit)
-   {
-      this.time = time;
-      this.cellId = cellId;
-      this.adcValues = adcValues;
-      this.decoder = decoder;
-      this.simTrackerHits = simTrackerHits;
-   }
-   /**
-    * Constructor for use by subclasses
-    */
-   protected BaseRawTrackerHit()
-   {
-      
-   }
-   
-   public int getTime()
-   {
-      return time;
-   }
-   
-   public long getCellID()
-   {
-      return cellId;
-   }
-   
-   public short[] getADCValues()
-   {
-      return adcValues;
-   }
-   
-   public IDDecoder getIDDecoder()
-   {
-      return decoder;
-   }
-   
-   public Subdetector getSubdetector()
-   {
-      return decoder.getSubdetector();
-   }
-   
-   public List<SimTrackerHit> getSimTrackerHit()
-   {
-      return simTrackerHits;
-   }
-}
+    protected int time;
+    protected long cellId;
+    protected short[] adcValues;
+    protected IDDecoder decoder;
+    protected List<SimTrackerHit> simTrackerHits;
+    protected IIdentifier identifier;
+    protected IDetectorElement detectorElement;
+
+    public BaseRawTrackerHit(int time, long cellId, short[] adcValues, IDDecoder decoder, List<SimTrackerHit> simTrackerHits)
+    {
+        this.time = time;
+        this.cellId = cellId;
+        this.adcValues = adcValues;
+        this.decoder = decoder;
+        this.simTrackerHits = simTrackerHits;
+        this.identifier = new Identifier(cellId);
+    }
+    /**
+     * Constructor for use by subclasses
+     */
+    protected BaseRawTrackerHit()
+    {
+
+    }
+
+    public int getTime()
+    {
+        return time;
+    }
+
+    public long getCellID()
+    {
+        return cellId;
+    }
+
+    public short[] getADCValues()
+    {
+        return adcValues;
+    }
+
+    public IDDecoder getIDDecoder()
+    {
+        return decoder;
+    }
+
+    public Subdetector getSubdetector()
+    {
+        return decoder.getSubdetector();
+    }
+
+    public List<SimTrackerHit> getSimTrackerHit()
+    {
+        return simTrackerHits;
+    }
+
+    public IIdentifier getIdentifier()
+    {
+        return identifier;
+    }    
+    
+    public IDetectorElement getDetectorElement()
+    {
+        return detectorElement;
+    }
+    
+    public void setDetectorElement(IDetectorElement detectorElement)
+    {
+        this.detectorElement = detectorElement;
+    }
+    
+    public IExpandedIdentifier getExpandedIdentifier()
+    {
+        return getIdentifierHelper().unpack(identifier);
+    }
+    
+    public IIdentifierHelper getIdentifierHelper()
+    {
+        return detectorElement.getIdentifierHelper();
+    }    
+}
\ No newline at end of file

lcsim/src/org/lcsim/util/lcio
SIORawTrackerHit.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- SIORawTrackerHit.java	24 Oct 2006 19:01:49 -0000	1.1
+++ SIORawTrackerHit.java	23 May 2007 20:14:28 -0000	1.2
@@ -4,14 +4,16 @@
 import hep.lcd.io.sio.SIOOutputStream;
 
 import java.io.IOException;
-import org.lcsim.event.EventHeader.LCMetaData;
+
+import org.lcsim.detector.identifier.Identifier;
 import org.lcsim.event.RawTrackerHit;
+import org.lcsim.event.EventHeader.LCMetaData;
 import org.lcsim.event.base.BaseRawTrackerHit;
 
 /**
- *
+ * 
  * @author Tony Johnson
- * @version $Id: SIORawTrackerHit.java,v 1.1 2006/10/24 19:01:49 tonyj Exp $
+ * @version $Id: SIORawTrackerHit.java,v 1.2 2007/05/23 20:14:28 jeremy Exp $
  */
 class SIORawTrackerHit extends BaseRawTrackerHit
 {  
@@ -28,7 +30,9 @@
       {
          adcValues[i] = in.readShort();
       }
+      identifier = new Identifier(cellId);
    }
+   
    static void write(RawTrackerHit hit, SIOOutputStream out, int flags) throws IOException
    {
       long cellID = hit.getCellID();
@@ -39,4 +43,4 @@
       out.writeInt(adcValues.length);
       for (short s : adcValues) out.writeShort(s);
    }
-}
+}
\ No newline at end of file
CVSspam 0.2.8