Print

Print


Commit in SlicDiagnostics/src/org/lcsim/slic/diagnostics on MAIN
LayerInfo.java+88added 1.1
PlotsDriver.java+53added 1.1
CalorimeterHitPlots.java+8-181.10 -> 1.11
CalorimeterHitPlotsDriver.java+1-31.4 -> 1.5
EventSummaryPlots.java+8-151.5 -> 1.6
EventSummaryPlotsDriver.java+1-21.4 -> 1.5
GenericHit.java+1-11.4 -> 1.5
GenericHitPlots.java+102-281.10 -> 1.11
GenericHitPlotsDriver.java+2-21.4 -> 1.5
HitUtil.java+1-11.3 -> 1.4
MCParticlePlots.java+5-141.9 -> 1.10
MCParticlePlotsDriver.java+1-81.4 -> 1.5
PlotsBase.java+19-81.4 -> 1.5
TrackerHitPlots.java+7-161.3 -> 1.4
TrackerHitPlotsDriver.java+1-31.1 -> 1.2
+298-119
2 added + 13 modified, total 15 files
Added layer plots plus lots of refactoring.

SlicDiagnostics/src/org/lcsim/slic/diagnostics
LayerInfo.java added at 1.1
diff -N LayerInfo.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ LayerInfo.java	23 Aug 2005 00:03:36 -0000	1.1
@@ -0,0 +1,88 @@
+/*
+ * LayerInfo.java
+ *
+ * Created on August 22, 2005, 3:19 PM
+ *
+ */
+package org.lcsim.slic.diagnostics;
+
+class LayerInfo
+{
+    int layerNum;
+    double edep = 0;
+    int nhits = 0;
+    double percentTotE = 0;
+    double percentNHits = 0;
+    double averageE = 0;
+    double averageNHits = 0;
+    
+    public LayerInfo(int layerNum)
+    {
+        this.layerNum = layerNum;
+    }
+    
+    int getLayerNumber()
+    {
+        return layerNum;
+    }
+    
+    void addEdep(double edep)
+    {
+        this.edep += edep;
+    }
+    
+    double getEdep()
+    {
+        return edep;
+    }
+    
+    void incrNHits()
+    {
+        nhits++;
+    }
+    
+    int getNHits()
+    {
+        return nhits;
+    }
+    
+    void setPercentTotalEnergy(double totalEnergy)
+    {
+        percentTotE = edep / totalEnergy;
+    }
+    
+    double getPercentTotalEnergy()
+    {
+        return percentTotE;
+    }
+    
+    void setPercentNHits(int totNHits)
+    {
+        percentNHits = ((double)nhits) / ((double)totNHits);
+    }
+    
+    double getPercentNHits()
+    {
+        return percentNHits;
+    }
+    
+    void setAverageEventEnergy(int nevents)
+    {
+        averageE = edep / (double)nevents;
+    }
+    
+    double getAverageEventEnergy()
+    {
+        return averageE;
+    }
+    
+    void setAverageEventNHits(int nevents)
+    {
+        averageNHits = nhits / (double)nevents;
+    }
+    
+    double getAverageEventNHits()
+    {
+        return averageNHits;
+    }
+}
\ No newline at end of file

SlicDiagnostics/src/org/lcsim/slic/diagnostics
PlotsDriver.java added at 1.1
diff -N PlotsDriver.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ PlotsDriver.java	23 Aug 2005 00:03:37 -0000	1.1
@@ -0,0 +1,53 @@
+/*
+ * PlotsDriver.java
+ *
+ * Created on August 22, 2005, 4:43 PM
+ *
+ */
+
+package org.lcsim.slic.diagnostics;
+
+import java.util.Map;
+import java.util.HashMap;
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.Driver;
+
+/**
+ *
+ * @author jeremym
+ */
+class PlotsDriver extends Driver
+{
+    Map<String, PlotsBase> plots = new HashMap<String, PlotsBase>();
+    
+    int nevents = 0;
+    String name;
+    
+    public PlotsDriver(String name)
+    {
+        this.name=name;
+    }
+    
+    protected void process(EventHeader event)
+    {
+        super.process(event);        
+        ++nevents;        
+        /* Sub-classes are responsible for setting-up and filling their plots. */
+    }
+    
+    protected void endOfData()
+    {
+        for ( PlotsBase p : plots.values() )
+        {
+            p.endEvents(nevents);
+        }
+    }
+    
+    protected void startOfData()
+    {
+        for ( PlotsBase p : plots.values() )
+        {
+            p.beginEvents();
+        }
+    }
+}
\ No newline at end of file

SlicDiagnostics/src/org/lcsim/slic/diagnostics
CalorimeterHitPlots.java 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- CalorimeterHitPlots.java	20 Aug 2005 20:47:58 -0000	1.10
+++ CalorimeterHitPlots.java	23 Aug 2005 00:03:36 -0000	1.11
@@ -23,7 +23,7 @@
  *
  * @author jeremym
  */
-public class CalorimeterHitPlots extends PlotsBase
+class CalorimeterHitPlots extends PlotsBase
 {
     /* cal plots: basic MCP stats */
     ICloud1D mcpCountPerHit;
@@ -33,8 +33,6 @@
     ICloud2D hitRawVsCorrectedEnergy;
     ICloud1D mcpMissing;
     
-    List<SimCalorimeterHit> hits;
-    
     String collName;
     
     public CalorimeterHitPlots(LCMetaData meta)
@@ -42,12 +40,7 @@
         super(meta.getName());
         definePlots();
     }
-    
-    public void setSimCalorimeterHitList(List<SimCalorimeterHit> hits)
-    {
-        this.hits = hits;
-    }
-    
+        
     protected void definePlots()
     {
         super.definePlots();
@@ -60,13 +53,10 @@
         mcpMissing              = aida.cloud1D(makePlotName("Missing MCParticle Contribution"));
     }
     
-    public void fill()
+    protected void fill(EventHeader event)
     {
-        super.fill();
-        if ( this.hits != null )
-        {
-            fill(this.hits);
-        }
+        super.fill(event);
+        fill(event.get(SimCalorimeterHit.class, getName() ));
     }
     
     private void fill(List<SimCalorimeterHit> hits)
@@ -86,7 +76,7 @@
                 {
                     mcpMissingCount += 1;
                 }
- 
+                
                 /* segmentation plots */
                 if ( segmentation instanceof ProjectiveCylinder ||
                         segmentation instanceof NonprojectiveCylinder ||
@@ -138,9 +128,9 @@
                     mcpSingleContribPDG.fill(hit.getMCParticle(0).getPDGID());
                 }
             }
-
+            
             /* missing MCP */
             mcpMissing.fill(mcpMissingCount);
         }
     }
-}
+}
\ No newline at end of file

SlicDiagnostics/src/org/lcsim/slic/diagnostics
CalorimeterHitPlotsDriver.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- CalorimeterHitPlotsDriver.java	18 Aug 2005 00:50:00 -0000	1.4
+++ CalorimeterHitPlotsDriver.java	23 Aug 2005 00:03:36 -0000	1.5
@@ -26,9 +26,7 @@
         {
             LCMetaData meta = event.getMetaData(simCalorimeterHits);
             CalorimeterHitPlots calPlots = getCalorimeterHitPlots(meta);
-            calPlots.setEventHeader(event);
-            calPlots.setSimCalorimeterHitList(simCalorimeterHits);
-            calPlots.fill();
+            calPlots.fill(event);
         }
     }
     

SlicDiagnostics/src/org/lcsim/slic/diagnostics
EventSummaryPlots.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- EventSummaryPlots.java	18 Aug 2005 00:50:00 -0000	1.5
+++ EventSummaryPlots.java	23 Aug 2005 00:03:36 -0000	1.6
@@ -23,8 +23,8 @@
  *
  * @author jeremym
  */
-public class EventSummaryPlots extends PlotsBase
-{  
+class EventSummaryPlots extends PlotsBase
+{
     ICloud1D eventTotalEnergy;
     ICloud1D eventHits;
     ICloud1D eventTrackerHits;
@@ -53,7 +53,7 @@
     protected void definePlots()
     {
         super.definePlots();
-
+        
         eventTotalEnergy = aida.cloud1D(makePlotName("Energy"));
         eventHits = aida.cloud1D(makePlotName("Hit Count"));
         eventTrackerHits = aida.cloud1D(makePlotName("Tracker Hit Count"));
@@ -61,18 +61,11 @@
         eventTrackerEnergy = aida.cloud1D(makePlotName("Tracker Total Energy"));
         eventCalorimeterEnergy = aida.cloud1D(makePlotName("Calorimeter Total Energy"));
     }
-    
-    public void fill()
+      
+    protected void fill(EventHeader event)
     {
-        super.fill();
-        if ( event != null )
-        {
-            fill(event);
-        }
-    }
-    
-    private void fill(EventHeader event)
-    {   
+        super.fill(event);
+        
         trackerTotalEnergy = calorimeterTotalEnergy = 0;
         trackerHitCount = calorimeterHitCount = 0;
         
@@ -97,7 +90,7 @@
                 trackerTotalEnergy += hit.getdEdx();
             }
         }
-               
+        
         /* event energy */
         eventTotalEnergy.fill(trackerTotalEnergy + calorimeterTotalEnergy);
         eventCalorimeterEnergy.fill(calorimeterTotalEnergy);

SlicDiagnostics/src/org/lcsim/slic/diagnostics
EventSummaryPlotsDriver.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- EventSummaryPlotsDriver.java	4 Aug 2005 01:39:50 -0000	1.4
+++ EventSummaryPlotsDriver.java	23 Aug 2005 00:03:36 -0000	1.5
@@ -30,7 +30,6 @@
     protected void process(EventHeader event)
     {
         super.process(event);
-        plots.setEventHeader(event);
-        plots.fill();
+        plots.fill(event);
     }
 }
\ No newline at end of file

SlicDiagnostics/src/org/lcsim/slic/diagnostics
GenericHit.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- GenericHit.java	1 Aug 2005 06:33:51 -0000	1.4
+++ GenericHit.java	23 Aug 2005 00:03:36 -0000	1.5
@@ -10,7 +10,7 @@
  *
  * @author jeremym
  */
-public class GenericHit
+class GenericHit
 {
     private double energy;
     private double[] position;

SlicDiagnostics/src/org/lcsim/slic/diagnostics
GenericHitPlots.java 1.10 -> 1.11
diff -u -r1.10 -r1.11
--- GenericHitPlots.java	20 Aug 2005 05:24:18 -0000	1.10
+++ GenericHitPlots.java	23 Aug 2005 00:03:36 -0000	1.11
@@ -4,14 +4,13 @@
 import java.util.Map;
 import java.util.HashMap;
 import hep.aida.IHistogram1D;
+import hep.aida.IHistogram2D;
 import hep.aida.ICloud1D;
 import hep.aida.ICloud2D;
+import org.lcsim.event.EventHeader;
 import org.lcsim.event.EventHeader.LCMetaData;
 import org.lcsim.geometry.subdetector.SubdetectorIDDecoder;
 
-/**
- * @author jeremym
- */
 class GenericHitPlots extends PlotsBase
 {
     /* plots */
@@ -26,39 +25,67 @@
     ICloud1D hitAvgEnergy;
     IHistogram1D layerEnergy;
     ICloud1D layerHitCount;
-       
+    ICloud1D hitMinEdep;
+    ICloud1D hitMaxEdep;
+    ICloud2D hitMinVsMaxEdep;
+    ICloud2D hitVsTotE;
+    IHistogram2D layerPercentTotE;
+    IHistogram2D layerPercentHits;
+//    IHistogram1D layerAvgEventE;
+//    IHistogram1D layerAvgEventHits;
+    
     int nlayers = 0;
     double eventTotEnergy = 0;
-        
+    
     List<GenericHit> hits;
+    Map<Integer, LayerInfo> layers = new HashMap<Integer, LayerInfo>();
     
     /** Creates a new instance of SingleHitCollectionPlots */
     public GenericHitPlots(LCMetaData meta)
     {
         super(meta.getName());
-                
+        
         /* set n layers */
         nlayers = ((SubdetectorIDDecoder)meta.getIDDecoder()).getSubdetector().getLayering().getLayerCount();
         
+        /* make layer info for each layer */
+        makeLayers();
+        
         /* define plots for this coll */
         this.definePlots();
     }
     
+    private void makeLayers()
+    {
+        for ( int i=0; i<nlayers; i++)
+        {
+            layers.put(i, new LayerInfo(i));
+        }
+    }
+    
     /* plots for generic hits */
     protected void definePlots()
     {
         super.definePlots();
-
-        energy       = aida.cloud1D(makePlotName("Hit Energies"));
-        hitAvgEnergy = aida.cloud1D(makePlotName("Hit Average Energy by Event"));
-        time         = aida.histogram1D(makePlotName("Hit Time"), 100, 0, 50);
-        thetaPhi     = aida.cloud2D(makePlotName("Hit Theta vs. Phi"));
-        xy           = aida.cloud2D(makePlotName("Hit X vs. Y"));
-        rz           = aida.cloud2D(makePlotName("Hit R vs. Z"));
-        layer        = aida.histogram1D(makePlotName("Hit Layer"), nlayers, 0, nlayers);
-        layerEnergy  = aida.histogram1D(makePlotName("Layer Energy"), nlayers, 0, nlayers);
-        energyEvent  = aida.cloud1D(makePlotName("Event Total Energy"));
-        hitCount     = aida.cloud1D(makePlotName("Event Total Hit Count"));
+        
+        energy           = aida.cloud1D(makePlotName("Hit Energies"));
+        hitAvgEnergy     = aida.cloud1D(makePlotName("Hit Average Energy by Event"));
+        time             = aida.histogram1D(makePlotName("Hit Time"), 100, 0, 50);
+        thetaPhi         = aida.cloud2D(makePlotName("Hit Theta vs. Phi"));
+        xy               = aida.cloud2D(makePlotName("Hit X vs. Y"));
+        rz               = aida.cloud2D(makePlotName("Hit R vs. Z"));
+        layer            = aida.histogram1D(makePlotName("Hit Layer"), nlayers, 0, nlayers);
+        layerEnergy      = aida.histogram1D(makePlotName("Layer Energy"), nlayers, 0, nlayers);
+        energyEvent      = aida.cloud1D(makePlotName("Event Total Energy"));
+        hitCount         = aida.cloud1D(makePlotName("Event Total Hit Count"));
+        hitMinEdep       = aida.cloud1D(makePlotName("Hit Min Edep"));
+        hitMaxEdep       = aida.cloud1D(makePlotName("Hit Max Edep"));
+        hitMinVsMaxEdep  = aida.cloud2D(makePlotName("Hit Min vs Max Edep"));
+        hitVsTotE        = aida.cloud2D(makePlotName("Hit Count vs Total Energy"));
+        layerPercentTotE = aida.histogram2D(makePlotName("Percent of Energy Total by Layer"), nlayers, 0, nlayers, 100, 0, 1.0);
+        layerPercentHits = aida.histogram2D(makePlotName("Percent of Hit Count by Layer"), nlayers, 0, nlayers, 100, 0, 1.0);
+//        layerAvgEventE   = aida.histogram2D(makePlotName("Average Event Energy"), nlayers, 0, nlayers);
+//        layerAvgEventNHits = aida.histogram2D(makePlotName("Average Event Hit Count"), nlayers, 0, nlayers);
     }
     
     public void setGenericHitList(List<GenericHit> hits)
@@ -66,28 +93,30 @@
         this.hits = hits;
     }
     
-    public void fill()
+    protected void fill(EventHeader event)
     {
-        super.fill();
-        if ( this.hits != null )
-        {
-            fill(this.hits);
-        }
+        super.fill(event);
+        
+        /* GenericHitPlotsDriver sets hit list for these plots. */
+        fill(this.hits);
     }
     
     private void fill(List<GenericHit> hits)
     {
         eventTotEnergy = 0;
         int nhits = 0;
+        double minEdep = 9999.0;
+        double maxEdep = 0;
         
         if ( hits.size() != 0 )
         {
             for ( GenericHit hit : hits )
             {
                 double[] position = hit.getPosition();
+                double edep = hit.getEnergy();
                 
                 /* hit energy */
-                energy.fill(hit.getEnergy() );
+                energy.fill(edep);
                 
                 /* hit time */
                 time.fill(hit.getTime() );
@@ -104,14 +133,35 @@
                 /* hit layer */
                 layer.fill(hit.getLayer());
                 
-                /* hit layer energy */
-                layerEnergy.fill(hit.getLayer(), hit.getEnergy());                
+                /* hit weighted layer energy */
+                layerEnergy.fill(hit.getLayer(), edep);
                 
                 /* incr tot E */
-                eventTotEnergy += hit.getEnergy();
+                eventTotEnergy += edep;
                 
                 /* incr num hits */
                 ++nhits;
+                
+                /* check max edep */
+                if ( edep > maxEdep )
+                {
+                    maxEdep = edep;
+                }
+                
+                /* check min edep */
+                if ( edep < minEdep )
+                {
+                    minEdep = edep;
+                }
+                
+                /* fetch the LayerInfo for this hit */
+                LayerInfo layerInfo = layers.get(hit.getLayer());
+                
+                /* add layer edep */
+                layerInfo.addEdep(edep);
+                
+                /* add layer hit */
+                layerInfo.incrNHits();
             }
             
             /* event energy */
@@ -123,6 +173,30 @@
             /* avg energy per hit */
             double hitAvgE = eventTotEnergy / nhits;
             hitAvgEnergy.fill(hitAvgE);
+            
+            /* min edep */
+            hitMinEdep.fill(minEdep);
+            
+            /* max edep */
+            hitMaxEdep.fill(maxEdep);
+            
+            /* min vs max edep */
+            hitMinVsMaxEdep.fill(minEdep, maxEdep);
+            
+            /* hit count vs total energy */
+            hitVsTotE.fill(nhits, eventTotEnergy);
+            
+            /* set layer calcs and fill the plots */
+            for ( LayerInfo layerInfo : layers.values() )
+            {
+                /* set and fill percent total edep */
+                layerInfo.setPercentTotalEnergy(eventTotEnergy);
+                layerPercentTotE.fill(layerInfo.getLayerNumber(), layerInfo.getPercentTotalEnergy());
+                
+                /* set and fill percent hit count */
+                layerInfo.setPercentNHits(nhits);
+                layerPercentHits.fill(layerInfo.getLayerNumber(), layerInfo.getPercentNHits());
+            }
         }
     }
-}
+}
\ No newline at end of file

SlicDiagnostics/src/org/lcsim/slic/diagnostics
GenericHitPlotsDriver.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- GenericHitPlotsDriver.java	4 Aug 2005 01:39:50 -0000	1.4
+++ GenericHitPlotsDriver.java	23 Aug 2005 00:03:36 -0000	1.5
@@ -53,7 +53,7 @@
             GenericHitPlots plots = getGenericHitPlots(meta);
             List<GenericHit> hits = makeTrackerHits(simTrackerHits, meta);
             plots.setGenericHitList(hits);
-            plots.fill();            
+            plots.fill(event);            
         }
     }
     
@@ -66,7 +66,7 @@
             GenericHitPlots plots = getGenericHitPlots(meta);
             List<GenericHit> hits = makeCalorimeterHits(simCalorimeterHits, meta);
             plots.setGenericHitList(hits);
-            plots.fill();            
+            plots.fill(event);            
         }
     }
     

SlicDiagnostics/src/org/lcsim/slic/diagnostics
HitUtil.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- HitUtil.java	1 Aug 2005 06:33:51 -0000	1.3
+++ HitUtil.java	23 Aug 2005 00:03:36 -0000	1.4
@@ -15,7 +15,7 @@
  *
  * @author jeremym
  */
-abstract public class HitUtil
+abstract class HitUtil
 {
     public static double getSphericalRadius(double[] position)
     {

SlicDiagnostics/src/org/lcsim/slic/diagnostics
MCParticlePlots.java 1.9 -> 1.10
diff -u -r1.9 -r1.10
--- MCParticlePlots.java	21 Aug 2005 03:57:24 -0000	1.9
+++ MCParticlePlots.java	23 Aug 2005 00:03:36 -0000	1.10
@@ -20,12 +20,13 @@
 import hep.physics.particle.properties.ParticlePropertyProvider;
 import hep.physics.vec.Hep3Vector;
 import org.lcsim.event.MCParticle;
+import org.lcsim.event.EventHeader;
 
 /**
  *
  * @author jeremym
  */
-public class MCParticlePlots extends PlotsBase
+class MCParticlePlots extends PlotsBase
 {
     ParticlePropertyProvider mcpLkp = ParticlePropertyManager.getParticlePropertyProvider();
     
@@ -59,19 +60,12 @@
     int nmcp = 0;
     double totE = 0;
     
-    List<MCParticle> mcps;
-    
     public MCParticlePlots()
     {
         super("MCParticles");
         this.definePlots();
     }
     
-    public void setMCParticleList(List<MCParticle> mcps)
-    {
-        this.mcps = mcps;
-    }
-    
     protected void definePlots()
     {
         super.definePlots();
@@ -92,13 +86,10 @@
         mcpNoEndPoint            = aida.cloud1D(makePlotName("No End Point"));
     }
     
-    public void fill()
+    protected void fill(EventHeader event)
     {
-        super.fill();
-        if ( mcps != null )
-        {
-            fill(mcps);
-        }
+        super.fill(event);
+        fill(event.get(MCParticle.class).get(0));
     }
     
     private void fill(List<MCParticle> particles)

SlicDiagnostics/src/org/lcsim/slic/diagnostics
MCParticlePlotsDriver.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- MCParticlePlotsDriver.java	4 Aug 2005 01:39:50 -0000	1.4
+++ MCParticlePlotsDriver.java	23 Aug 2005 00:03:36 -0000	1.5
@@ -20,13 +20,6 @@
     protected void process(EventHeader event)
     {
         super.process(event);
-      
-        /* process the MCP coll */
-        List<List<MCParticle>> mcpCollections = event.get(MCParticle.class);        
-        for ( List<MCParticle> mcp : mcpCollections )
-        {
-            mcpPlots.setMCParticleList(mcp);
-            mcpPlots.fill();
-        }
+        mcpPlots.fill(event);
     }    
 }
\ No newline at end of file

SlicDiagnostics/src/org/lcsim/slic/diagnostics
PlotsBase.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- PlotsBase.java	18 Aug 2005 00:50:01 -0000	1.4
+++ PlotsBase.java	23 Aug 2005 00:03:36 -0000	1.5
@@ -14,7 +14,7 @@
  *
  * @author jeremym
  */
-public class PlotsBase
+abstract class PlotsBase
 {
     protected static AIDA aida = org.lcsim.util.aida.AIDA.defaultInstance();
     protected static ITree tree = aida.tree();
@@ -29,11 +29,6 @@
         setupAidaDir();
     }
     
-    public void fill()
-    {
-        this.cd();
-    }
-    
     public void setEventHeader(EventHeader eventHeader)
     {
         this.eventHeader = eventHeader;
@@ -49,7 +44,7 @@
         return dir;
     }
     
-    protected void cd() 
+    protected void cd()
     {
         tree.cd(this.getDir());
     }
@@ -94,9 +89,25 @@
         {
             throw new RuntimeException("Could not setup AIDA dir: " + dir);
         }
-
+        
         this.dir = "/" + dir;
         
         tree.cd("/");
     }
+    
+    protected void beginEvents()
+    {
+        /* no op */
+    }
+    
+    protected void endEvents(int nevents)
+    {
+        /* no op */
+    }
+    
+    protected void fill(EventHeader event)
+    {
+        this.cd();
+        setEventHeader(event);
+    }
 }
\ No newline at end of file

SlicDiagnostics/src/org/lcsim/slic/diagnostics
TrackerHitPlots.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- TrackerHitPlots.java	20 Aug 2005 20:47:59 -0000	1.3
+++ TrackerHitPlots.java	23 Aug 2005 00:03:36 -0000	1.4
@@ -8,6 +8,7 @@
 import java.util.List;
 
 import hep.aida.ICloud1D;
+import org.lcsim.event.EventHeader;
 import org.lcsim.event.EventHeader.LCMetaData;
 import org.lcsim.event.SimTrackerHit;
 
@@ -15,12 +16,10 @@
  *
  * @author jeremym
  */
-public class TrackerHitPlots extends PlotsBase
+class TrackerHitPlots extends PlotsBase
 {    
-    List<SimTrackerHit> hits;
-    
     String collName;
-    
+   
     ICloud1D mcpMissing;
     
     public TrackerHitPlots(LCMetaData meta)
@@ -28,12 +27,7 @@
         super(meta.getName());
         definePlots();
     }
-    
-    public void setSimTrackerHitList(List<SimTrackerHit> hits)
-    {
-        this.hits = hits;
-    }
-    
+        
     protected void definePlots()
     {
         super.definePlots();
@@ -41,13 +35,10 @@
         mcpMissing = aida.cloud1D(makePlotName("Missing MCParticle Contribution"));
     }
     
-    public void fill()
+    protected void fill(EventHeader event)
     {
-        super.fill();
-        if ( this.hits != null )
-        {
-            fill(this.hits);
-        }
+        super.fill(event);
+        fill(event.get(SimTrackerHit.class, getName()));
     }
     
     private void fill(List<SimTrackerHit> hits)

SlicDiagnostics/src/org/lcsim/slic/diagnostics
TrackerHitPlotsDriver.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- TrackerHitPlotsDriver.java	20 Aug 2005 20:38:47 -0000	1.1
+++ TrackerHitPlotsDriver.java	23 Aug 2005 00:03:36 -0000	1.2
@@ -26,9 +26,7 @@
         {
             LCMetaData meta = event.getMetaData(SimTrackerHits);
             TrackerHitPlots trkPlots = getTrackerHitPlots(meta);
-            trkPlots.setEventHeader(event);
-            trkPlots.setSimTrackerHitList(SimTrackerHits);
-            trkPlots.fill();
+            trkPlots.fill(event);
         }
     }
     
CVSspam 0.2.8