Print

Print


Commit in lcsim/src/org/lcsim/plugin/browser on MAIN
MCParticleTableModel.java+53-121.5 -> 1.6
JM: Add Simulator Status of MCParticle to browser.  (LCSIM-177)

lcsim/src/org/lcsim/plugin/browser
MCParticleTableModel.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- MCParticleTableModel.java	5 Apr 2006 18:42:18 -0000	1.5
+++ MCParticleTableModel.java	16 Aug 2007 21:09:24 -0000	1.6
@@ -1,10 +1,15 @@
 package org.lcsim.plugin.browser;
 
 import hep.physics.particle.properties.UnknownParticleIDException;
-import javax.swing.table.AbstractTableModel;
+
+import java.util.ArrayList;
 import java.util.List;
-import org.lcsim.event.EventHeader.LCMetaData;
+
+import javax.swing.table.AbstractTableModel;
+
 import org.lcsim.event.MCParticle;
+import org.lcsim.event.EventHeader.LCMetaData;
+import org.lcsim.event.MCParticle.SimulatorStatus;
 
 /**
  *
@@ -15,8 +20,8 @@
    private List particles;
    private static Class floatArrayClass = new float[0].getClass();
    private static Class doubleArrayClass = new double[0].getClass();
-   private static final String[] columns = {"N","Type","Status","Parent","Energy","Momentum","Start","End","Mass","Charge","Time"};
-   private static final Class[] classes = {Integer.class, Integer.class, String.class, String.class, Double.class, floatArrayClass, doubleArrayClass, doubleArrayClass, Float.class, Float.class, Float.class};
+   private static final String[] columns = {"N","Type","Generator Status","Simulator Status","Parent","Energy","Momentum","Start","End","Mass","Charge","Time"};
+   private static final Class[] classes = {Integer.class, Integer.class, String.class, String.class, String.class, Double.class, floatArrayClass, doubleArrayClass, doubleArrayClass, Float.class, Float.class, Float.class};
 
    public boolean canDisplay(Class c)
    {
@@ -53,19 +58,20 @@
             case 0: return row;
             case 1: return p.getType().getName();
             case 2: return convert(p.getGeneratorStatus());
-            case 3: return parents(p);
-            case 4: return p.getEnergy();
-            case 5: return p.getMomentum().v();
-            case 6: return p.getOrigin().v();
-            case 7: 
+            case 3: return convert(p.getSimulatorStatus());
+            case 4: return parents(p);
+            case 5: return p.getEnergy();
+            case 6: return p.getMomentum().v();
+            case 7: return p.getOrigin().v();
+            case 8: 
                try
                {
                   return p.getEndPoint().v();
                }
                catch (Exception x) { return null; }
-            case 8: return p.getMass();
-            case 9: return p.getCharge();
-            case 10: return p.getProductionTime();
+            case 9: return p.getMass();
+            case 10: return p.getCharge();
+            case 11: return p.getProductionTime();
             default: return " ";
          }
       }
@@ -74,6 +80,41 @@
          return "id="+x.getPDGID()+"?";
       }
    }
+   static String convert(SimulatorStatus status)
+   {
+	   List<String> s = new ArrayList<String>();
+	   if (status.hasLeftDetector())
+	   {
+		   s.add("Left");
+	   }
+	   if (status.isBackscatter())
+	   {
+		   s.add("Backscatter");
+	   }
+	   if (status.isCreatedInSimulation())
+	   {
+		   s.add("Created In Simulation");
+	   }
+	   if (status.isDecayedInCalorimeter())
+	   {
+		   s.add("Decayed In Calorimeter");
+	   }
+	   if (status.isDecayedInTracker())
+	   {
+		   s.add("Decayed In Tracker");
+	   }
+	   if (status.isStopped())
+	   {
+		   s.add("Stopped");
+	   }
+	   StringBuffer buff = new StringBuffer();
+	   for (int i=0; i<s.size(); i++)
+	   {		   
+		   buff.append(s.get(i)+",");		   
+	   }
+	   buff.setLength(Math.max(0,buff.length()-1));
+	   return buff.toString();
+   }
    static String convert(int status)
    {
       switch (status)
CVSspam 0.2.8