lcsim/src/org/lcsim/util/event
diff -u -r1.5 -r1.6
--- BaseCalorimeterHit.java 29 Nov 2006 08:20:26 -0000 1.5
+++ BaseCalorimeterHit.java 17 Aug 2007 23:58:31 -0000 1.6
@@ -1,6 +1,7 @@
package org.lcsim.util.event;
import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.RawCalorimeterHit;
import org.lcsim.event.EventHeader.LCMetaData;
import org.lcsim.geometry.IDDecoder;
import org.lcsim.geometry.Subdetector;
@@ -17,8 +18,8 @@
protected double[] position;
protected double time;
protected long id;
- protected int layer;
-
+ protected int layer=-1;
+
public double getTime()
{
return time;
@@ -37,14 +38,16 @@
public double[] getPosition()
{
if (position == null)
- {
- IDDecoder iddecoder = data.getIDDecoder();
- iddecoder.setID( id );
- position = new double[3];
- position[0] = iddecoder.getX();
- position[1] = iddecoder.getY();
- position[2] = iddecoder.getZ();
- layer = iddecoder.getLayer();
+ {
+ if (data != null)
+ {
+ IDDecoder iddecoder = data.getIDDecoder();
+ iddecoder.setID( id );
+ position = new double[3];
+ position[0] = iddecoder.getX();
+ position[1] = iddecoder.getY();
+ position[2] = iddecoder.getZ();
+ }
}
return position;
}
@@ -73,6 +76,10 @@
public int getLayerNumber()
{
+ if (layer == -1)
+ {
+ layer = getIDDecoder().getLayer();
+ }
return layer;
}
-}
+}
\ No newline at end of file