lcsim/src/org/lcsim/util/event
diff -u -r1.14 -r1.15
--- BaseLCSimEvent.java 2 Aug 2005 17:18:05 -0000 1.14
+++ BaseLCSimEvent.java 18 Aug 2005 23:08:54 -0000 1.15
@@ -8,6 +8,7 @@
import java.util.Map;
import org.lcsim.conditions.ConditionsManager;
import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
+import org.lcsim.event.CalorimeterHit;
import org.lcsim.event.Cluster;
import org.lcsim.event.EventHeader;
import org.lcsim.event.EventHeader.LCMetaData;
@@ -125,12 +126,23 @@
public void put(String name, List collection, Class type, int flags, String readoutName)
{
super.put(name,collection);
- metaDataMap.put(new ListHolder(collection),new MetaData(name,type,flags,readoutName));
+ LCMetaData meta = new MetaData(name, type, flags, readoutName);
+ metaDataMap.put(new ListHolder(collection),meta);
+ // Fixme: This needs to be generalized
+ System.out.println("type="+type+" "+BaseCalorimeterHit.class.isAssignableFrom(type));
+ if (CalorimeterHit.class.isAssignableFrom(type))
+ {
+ for (Object o : collection)
+ {
+ if (o instanceof BaseCalorimeterHit) ((BaseCalorimeterHit) o).data = meta;
+ }
+ }
}
protected void put(String name, List collection, Class type, int flags, Map intMap, Map floatMap, Map stringMap)
{
super.put(name,collection);
- metaDataMap.put(new ListHolder(collection),new MetaData(name, type, flags, intMap, floatMap, stringMap));
+ LCMetaData meta = new MetaData(name, type, flags, intMap, floatMap, stringMap);
+ metaDataMap.put(new ListHolder(collection),meta);
}
public String getDetectorName()