View Javadoc

1   package org.lcsim.plugin.browser;
2   
3   import org.lcsim.event.SimTrackerHit;
4   import org.lcsim.geometry.IDDecoder;
5   
6   /**
7    * @author tonyj
8    */
9   class SimTrackerHitTableModel extends CellIDTableModel
10  {
11      private static final String[] defaultColumns =
12      { "id", "x (mm)", "y (mm)", "z (mm)", "dEdx (GeV)", "time (ns)", "px (GeV)", "py (GeV)", "pz (GeV)", "pathLength (mm)" };
13  
14      SimTrackerHitTableModel()
15      {
16         super(defaultColumns);
17      }
18      
19      public boolean canDisplay(Class c)
20      {
21          return SimTrackerHit.class.isAssignableFrom(c);
22      }
23  
24      public Class getColumnClass(int row)
25      {
26          return row < getFieldCount() ? Integer.class : Double.class;
27      }
28  
29      public Object getValueAt(int row, int column)
30      {
31          SimTrackerHit hit = (SimTrackerHit) getHit(row);
32          int fieldCount = getFieldCount();
33  
34          if (column < fieldCount)
35          {
36              IDDecoder decoder = getIDDecoder();
37              if (decoder != null) decoder.setID(hit.getCellID());
38              return decoder == null ? hit.getCellID() : decoder.getValue(column);
39          }
40          else
41              switch (column - fieldCount)
42              {
43                  case 0:
44                      return hit.getPoint()[0];
45                  case 1:
46                      return hit.getPoint()[1];
47                  case 2:
48                      return hit.getPoint()[2];
49                  case 3:
50                      return hit.getdEdx();
51                  case 4:
52                      return hit.getTime();
53                  case 5:
54                      return hit.getMomentum()[0];
55                  case 6:
56                      return hit.getMomentum()[1];
57                  case 7:
58                      return hit.getMomentum()[2];
59                  case 8:
60                      return hit.getPathLength();
61                  default:
62                      return " ";
63              }
64      }
65  }