3 modified files
lcsim/src/org/lcsim/event
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
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
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