Print

Print


Author: [log in to unmask]
Date: Tue Jan 13 11:40:55 2015
New Revision: 1920

Log:
Provide a few utility methods for getting geometry objects from hits.

Modified:
    java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CalorimeterHitUtilities.java

Modified: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CalorimeterHitUtilities.java
 =============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CalorimeterHitUtilities.java	(original)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/CalorimeterHitUtilities.java	Tue Jan 13 11:40:55 2015
@@ -1,8 +1,10 @@
 package org.hps.recon.ecal;
 
+import org.lcsim.detector.IGeometryInfo;
+import org.lcsim.detector.converter.compact.EcalCrystal;
 import org.lcsim.event.CalorimeterHit;
+import org.lcsim.event.EventHeader.LCMetaData;
 import org.lcsim.event.base.BaseCalorimeterHit;
-import org.lcsim.event.EventHeader.LCMetaData;
 
 /**
  * This is a simple set of utility methods for creating CalorimeterHit objects. 
@@ -31,4 +33,12 @@
     public static final CalorimeterHit create(double energy, double time, long id, int type, LCMetaData metaData) {
         return new BaseCalorimeterHit(energy, energy, 0, time, id, null, type, metaData);
     }    
+    
+    public static EcalCrystal findCrystal(CalorimeterHit hit) {
+        return (EcalCrystal)hit.getMetaData().getIDDecoder().getSubdetector().getDetectorElement().findDetectorElement(hit.getIdentifier());
+    }
+    
+    public static IGeometryInfo findGeometryInfo(CalorimeterHit hit) {
+        return findCrystal(hit).getGeometry();
+    }
 }