Print

Print


Commit in hps-java/src/main/java/org/lcsim/hps/recon/tracking on MAIN
HelicalTrackHitDriver.java+170-1541.3 -> 1.4
Fixes that allows for "Split" geometry to be used; Stereo pairs are now created in SvtUtils so use of some classes has been deprecated; Code still requires a lot of cleanup

hps-java/src/main/java/org/lcsim/hps/recon/tracking
HelicalTrackHitDriver.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- HelicalTrackHitDriver.java	12 Jul 2013 20:44:43 -0000	1.3
+++ HelicalTrackHitDriver.java	30 Jul 2013 00:55:39 -0000	1.4
@@ -1,15 +1,13 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
 package org.lcsim.hps.recon.tracking;
 
-import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.VecOp;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+
+import hep.physics.vec.Hep3Vector;
+import hep.physics.vec.VecOp;
+
 import org.lcsim.detector.IDetectorElement;
 import org.lcsim.detector.ITransform3D;
 import org.lcsim.detector.tracker.silicon.SiSensor;
@@ -25,18 +23,27 @@
 import org.lcsim.geometry.Detector;
 import org.lcsim.geometry.subdetector.BarrelEndcapFlag;
 import org.lcsim.hps.event.HPSTransformations;
+import org.lcsim.hps.recon.tracking.StereoPair.detectorVolume;
 import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHit;
 import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D;
 import org.lcsim.recon.tracking.digitization.sisim.TrackerHitType;
 
 /**
  *
- * @author phansson, mgraham
+ * @author Mathew Graham <[log in to unmask]>
+ * @author Per Hansson <[log in to unmask]>
+ * @author Omar Moreno <[log in to unmask]>
+ * @version $Id: HelicalTrackHitDriver.java,v 1.4 2013/07/30 00:55:39 omoreno Exp $ 
  */
 public class HelicalTrackHitDriver extends org.lcsim.fit.helicaltrack.HelicalTrackHitDriver {
-    private boolean _debug = false;
+   
+	// TODO: This driver needs to be cleaned up. The classes SimpleDetectors, Layers ... need to be removed
+	
+	private boolean _debug = false;
     private double _clusterTimeCut = -99; // if negative, don't cut..otherwise, dt cut time in ns
-    private String subdetectorName = "Tracker";
+    private String _subdetectorName = "Tracker";
+    private String _clusterCollectionName = "StripClusterer_SiTrackerHitStrip1D";
+    
     private Map<String, String> _stereomap = new HashMap<String, String>();
     private List<String> _colnames = new ArrayList<String>();
     private boolean _doTransformToTracking = true;
@@ -44,45 +51,89 @@
     private SimpleDetector _det;
     public enum LayerGeometryType {
         Split,
-        Common
+        Common 
     }
     private LayerGeometryType _layerGeometryType = LayerGeometryType.Split;
-
+    
+    /**
+     * Default Ctor
+     */
     public HelicalTrackHitDriver() {
         this.addCollection("StripClusterer_SiTrackerHitStrip1D");
     }
+   
+   
+    //--- Setters ---//
+    //---------------//
+    
+    /**
+     * 
+     * @param geomType
+     */
     public void setLayerGeometryType(String geomType) {
         this._layerGeometryType = LayerGeometryType.valueOf(geomType);
     }
 
+    /**
+     * 
+     * @param dtCut
+     */
     public void setClusterTimeCut(double dtCut) {
         this._clusterTimeCut = dtCut;
     }
 
+    /**
+     * 
+     * @param subdetectorName
+     */
     public void setSubdetectorName(String subdetectorName) {
-        this.subdetectorName = subdetectorName;
+        this._subdetectorName = subdetectorName;
     }
 
+    /**
+     * 
+     * @param debug
+     */
     public void setDebug(boolean debug) {
         this._debug = debug;
     }
 
+    /**
+     * 
+     * @param trans
+     */
     public void setTransformToTracking(boolean trans) {
         this._doTransformToTracking = trans;
     }
 
+    /**
+     * 
+     * @param stripHitsCollectionName
+     */
     public void setStripHitsCollectionName(String stripHitsCollectionName) {
         HitRelationName(stripHitsCollectionName);
     }
 
+    /**
+     * 
+     * @param helicalTrackHitRelationsCollectionName
+     */
     public void setHelicalTrackHitRelationsCollectionName(String helicalTrackHitRelationsCollectionName) {
         HitRelationName(helicalTrackHitRelationsCollectionName);
     }
 
+    /**
+     * 
+     * @param helicalTrackMCRelationsCollectionName
+     */
     public void setHelicalTrackMCRelationsCollectionName(String helicalTrackMCRelationsCollectionName) {
         MCRelationName(helicalTrackMCRelationsCollectionName);
     }
 
+    /**
+     * 
+     * @param outputHitCollectionName
+     */
     public void setOutputHitCollectionName(String outputHitCollectionName) {
         OutputCollection(outputHitCollectionName);
     }
@@ -91,29 +142,25 @@
     public void process(EventHeader event) {
         //super.process(event);
 
-           
+    	// Instantiate the list of HelicalTrackCrosses and HelicalTrackHits
+    	List<HelicalTrackCross> stereoCrosses = new ArrayList<HelicalTrackCross>(); 
+        List<HelicalTrackHit> helhits = new ArrayList<HelicalTrackHit>();
+          
+        // Create an LCRelation from a HelicalTrackHit to
+        List<LCRelation> hitrelations = new ArrayList<LCRelation>();
+        
+        // Create an LCRelation from a HelicalTrackHit to an MC particle used to create it
+        List<LCRelation> mcrelations = new ArrayList<LCRelation>();
+        
         if(LayerGeometryType.Common==_layerGeometryType) {
                 
-
-            //  Initialize the list of HelicalTrackHits
-            List<HelicalTrackCross> stereoCrosses = new ArrayList<HelicalTrackCross>();
-            List<HelicalTrackHit> helhits = new ArrayList<HelicalTrackHit>();
-
-            //  Create a List of LCRelations to relate HelicalTrackHits to the original hits
-            List<LCRelation> hitrelations = new ArrayList<LCRelation>();
-            //  Create a List of LCRelations to relate HelicalTrackHits to the MC particle
-            List<LCRelation> mcrelations = new ArrayList<LCRelation>();
-
-
-
             for (String _colname : this._colnames) {
 
-                if (!event.hasCollection(SiTrackerHit.class, _colname)) {
-                    continue;
-                }
+                if (!event.hasCollection(SiTrackerHit.class, _colname)) continue;
 
                 //  Get the list of SiTrackerHits for this collection
-                List<SiTrackerHit> hitlist = (List<SiTrackerHit>) event.get(_colname);
+                List<SiTrackerHit> hitlist = event.get(SiTrackerHit.class, _colname);
+                
                 if (_debug) {
                     System.out.printf("%s: found %d SiTrackerHits\n", this.getClass().getSimpleName(), hitlist.size());
                 }
@@ -126,17 +173,18 @@
 
                     if (hit instanceof SiTrackerHitStrip1D) {
 
-                        //  Cast the hit as a 1D strip hit and find the identifier for the detector/layer combo
+                        // Cast the hit as a 1D strip hit and find the identifier for the detector/layer combo
                         SiTrackerHitStrip1D h = (SiTrackerHitStrip1D) hit;
                         IDetectorElement de = h.getSensor();
                         String id = this.makeID(_ID.getName(de), _ID.getLayer(de));
 
-                        //  This hit should be a on a stereo pair!
+                        // This hit should be a on a stereo pair!
+                        // With our detector setup, when is this not true? 
                         if (!_stereomap.containsKey(id) && !_stereomap.containsValue(id)) {
                             throw new RuntimeException(this.getClass().getSimpleName() + ": this " + id + " was not among the stereo modules!");
                         }
 
-                        //  Create a HelicalTrackStrip for this hit
+                        // Create a HelicalTrackStrip for this hit
                         HelicalTrackStrip strip = makeDigiStrip(h);
 
                         //  Get the list of strips for this layer - create a new list if one doesn't already exist
@@ -145,9 +193,10 @@
                             lyrhits = new ArrayList<HelicalTrackStrip>();
                             striplistmap.put(id, lyrhits);
                         }
+                        
                         if ((_clusterTimeCut > 0 && Math.abs(h.getTime()) < _clusterTimeCut)||_clusterTimeCut<0) {
                             //  Add the strip to the list of strips on this sensor
-                            lyrhits.add(strip);
+                        	lyrhits.add(strip);
 
                             //  Map a reference back to the hit needed to create the stereo hit LC relations
                             stripmap.put(strip, h);
@@ -159,8 +208,9 @@
                         }
                     } else {
 
-                        //  If not a 1D strip hit, make a pixel hit
-                        HelicalTrackHit hit3d = this.makeDigi3DHit(hit);
+                        // If not a 1D strip hit, make a pixel hit
+                        // This should be removed as it is never used.
+                    	HelicalTrackHit hit3d = this.makeDigi3DHit(hit);
                         helhits.add(hit3d);
                         hitrelations.add(new MyLCRelation(hit3d, hit));
                     }
@@ -174,6 +224,7 @@
                 if (_debug)System.out.printf("%s: Create stereo hits from %d strips \n", this.getClass().getSimpleName(), striplistmap.size());
 
                 //  Loop over the stereo layer pairs
+                // TODO: Change this so that it makes use of StereoPairs 
                 for (String id1 : _stereomap.keySet()) {
 
                     //  Get the second layer
@@ -190,7 +241,6 @@
                     * relations for stereo hit to SiTrackHitStrip1D object Add LC
                     * relation between MC particle and stereo hit
                     */
-
                     List<HelicalTrackCross> cross_list = _crosser.MakeHits(striplistmap.get(id1), striplistmap.get(id2));
 
                     for (HelicalTrackCross cross : cross_list) {
@@ -203,17 +253,16 @@
                         for (HelicalTrackStrip strip : cross.getStrips()) {
                             hitrelations.add(new MyLCRelation(cross, stripmap.get(strip)));
                         }
-
                     }
 
-                } // Loop over stereo pairs
+                } // End of loop over stereo pairs
 
                 if (_debug) {
                     System.out.printf("%s: added %d stereo hits from %s collection \n", this.getClass().getSimpleName(), stereoCrosses.size(), _colname);
                 }
 
 
-            } // Loop over collection names
+            } // End of loop over collection names
 
 
             if (_debug) {
@@ -235,25 +284,14 @@
  
         } else if(LayerGeometryType.Split==_layerGeometryType) {
             
-            //  Initialize the list of HelicalTrackHits
-            List<HelicalTrackCross> stereoCrosses = new ArrayList<HelicalTrackCross>();
-            List<HelicalTrackHit> helhits = new ArrayList<HelicalTrackHit>();
-
-            //  Create a List of LCRelations to relate HelicalTrackHits to the original hits
-            List<LCRelation> hitrelations = new ArrayList<LCRelation>();
-            //  Create a List of LCRelations to relate HelicalTrackHits to the MC particle
-            List<LCRelation> mcrelations = new ArrayList<LCRelation>();
-
-
-
-            for (String _colname : this._colnames) {
+        
+        	for (String _colname : this._colnames) {
 
-                if (!event.hasCollection(SiTrackerHit.class, _colname)) {
-                    continue;
-                }
+                if (!event.hasCollection(SiTrackerHit.class, _colname)) continue;
 
                 //  Get the list of SiTrackerHits for this collection
-                List<SiTrackerHit> hitlist = (List<SiTrackerHit>) event.get(_colname);
+                List<SiTrackerHit> hitlist = event.get(SiTrackerHit.class, _colname);
+                
                 if (_debug) {
                     System.out.printf("%s: found %d SiTrackerHits\n", this.getClass().getSimpleName(), hitlist.size());
                 }
@@ -279,9 +317,10 @@
                         }
 
                         //  This hit should be a on a stereo pair!
-                        if(_det.findSensor(sensor)==false) {
-                             throw new RuntimeException(this.getClass().getSimpleName() + ": this " +sensor.getName()+ " was not in the detector!?");
-                        }
+                        //====> Is this check really necessary?
+                        //if(_det.findSensor(sensor)==false) {
+                        //     throw new RuntimeException(this.getClass().getSimpleName() + ": this " +sensor.getName()+ " was not in the detector!?");
+                        //}
 
                         //  Create a HelicalTrackStrip for this hit
                         HelicalTrackStrip strip = makeDigiStrip(h);
@@ -300,29 +339,29 @@
                     } else {
 
                         //  If not a 1D strip hit, make a pixel hit
+                    	// This should be removed. 
                         HelicalTrackHit hit3d = this.makeDigi3DHit(hit);
                         helhits.add(hit3d);
                         hitrelations.add(new MyLCRelation(hit3d, hit));
                     }
-
                 } // Loop over SiTrackerHits
 
 
                 //  Create a list of stereo hits
                 //List<HelicalTrackCross> stereohits = new ArrayList<HelicalTrackCross>();
 
+                /*
                 if (_debug) {
                     System.out.printf("%s: Create stereo hits from %d sensors being hit \n", this.getClass().getSimpleName(), striplistmap.size());
                     System.out.printf("%s: %d and %d stereo pairs in top and bottom resp. and %d together\n", 
                                         this.getClass().getSimpleName(), _det._top.getStereoPairs().size(),_det._bot.getStereoPairs().size(),_det.getStereoPairs().size());
                    
-                }
+                }*/
 
-                for(StereoPair pair : _det.getStereoPairs()) {
-                    
-                    
-
-                    /*
+//                for(StereoPair pair : _det.getStereoPairs()) {
+                for(StereoPair stereoPair : SvtUtils.getInstance().getStereoPairs()){
+                   
+                	/*
                     * Form the stereo hits and add them to our hit list Add LC
                     * relations for stereo hit to SiTrackHitStrip1D object Add LC
                     * relation between MC particle and stereo hit
@@ -331,15 +370,27 @@
                     // this is really stupid but the cross get layer name based on the first strip in the argument
                     // turns out that this is the uneven one and many places depends on this e.g. seeding so we keep it
                     // for now. Obviously not the right way to do stuff I think, the stereo layer and sensor layer should 
-                    // be decoupled...?
+                    // be decoupled...?  
+                	// 
+                	// They should ...
+                	
+                    // Is this check really necessary? This is guaranteed by the manner in which stereo pairs are created.
+                	// If anything, this really belongs in a unit test.
+                    if((SvtUtils.getInstance().getLayerNumber(stereoPair.getAxialSensor()) + SvtUtils.getInstance().getLayerNumber(stereoPair.getStereoSensor())) % 2 ==0) {
+                        throw new RuntimeException(String.format("%s: axial and stereo are both even layers (%d,%d)?!",
+                                                    this.getClass().getSimpleName(),SvtUtils.getInstance().getLayerNumber(stereoPair.getAxialSensor()),
+                                                    SvtUtils.getInstance().getLayerNumber(stereoPair.getStereoSensor())));
+                    }
                     
                     
-                    if((SvtUtils.getInstance().getLayerNumber(pair.getAxialSensor()) + SvtUtils.getInstance().getLayerNumber(pair.getStereoSensor())) % 2 ==0) {
-                        throw new RuntimeException(String.format("%s: axial and stereo are both even layers (%d,%d)?!",
-                                                    this.getClass().getSimpleName(),SvtUtils.getInstance().getLayerNumber(pair.getAxialSensor()),
-                                                    SvtUtils.getInstance().getLayerNumber(pair.getStereoSensor())));
+                    List<HelicalTrackCross> helicalTrackCrosses = null; 
+                    if(stereoPair.getDetectorVolume() == detectorVolume.Top){
+                    	helicalTrackCrosses = _crosser.MakeHits(striplistmap.get(stereoPair.getAxialSensor()), striplistmap.get(stereoPair.getStereoSensor()));
+                    } else if(stereoPair.getDetectorVolume() == detectorVolume.Bottom){
+                    	helicalTrackCrosses = _crosser.MakeHits(striplistmap.get(stereoPair.getStereoSensor()), striplistmap.get(stereoPair.getAxialSensor()));
                     }
                     
+                    /*
                     SiSensor s1,s2;
                     
                     if(SvtUtils.getInstance().getLayerNumber(pair.getAxialSensor()) % 2 ==0) {
@@ -349,18 +400,18 @@
                         s1 = pair.getAxialSensor();
                         s2 = pair.getStereoSensor();
                     }
-                    List<HelicalTrackCross> cross_list = _crosser.MakeHits(striplistmap.get(s1), striplistmap.get(s2));
+                    List<HelicalTrackCross> cross_list = _crosser.MakeHits(striplistmap.get(s1), striplistmap.get(s2)); */
 
                     
                     if (_debug) System.out.printf("%s: Found %d stereo hits from sensors\n%s: %s : %d hits\n%s: %s with %d hits\n", 
-                            this.getClass().getSimpleName(), cross_list.size(),
+                            this.getClass().getSimpleName(), helicalTrackCrosses.size(),
                             this.getClass().getSimpleName(),
-                            pair.getAxialSensor().getName(),striplistmap.get(pair.getAxialSensor())==null?0:striplistmap.get(pair.getAxialSensor()).size(),
+                            stereoPair.getAxialSensor().getName(),striplistmap.get(stereoPair.getAxialSensor())==null?0:striplistmap.get(stereoPair.getAxialSensor()).size(),
                             this.getClass().getSimpleName(),
-                            pair.getStereoSensor().getName(),striplistmap.get(pair.getStereoSensor())==null?0:striplistmap.get(pair.getStereoSensor()).size());
+                            stereoPair.getStereoSensor().getName(),striplistmap.get(stereoPair.getStereoSensor())==null?0:striplistmap.get(stereoPair.getStereoSensor()).size());
                     
                     
-                    for (HelicalTrackCross cross : cross_list) {
+                    for (HelicalTrackCross cross : helicalTrackCrosses) {
                         stereoCrosses.add(cross);
                         if (cross.getMCParticles() != null) {
                             for (MCParticle mcp : cross.getMCParticles()) {
@@ -410,9 +461,6 @@
             System.exit(1);
             //throw new TypeNotPresentException("This layer geometry type is not supported",null);
         }
-    
-
-
     } //Process()
 
     public void addCollection(String colname) {
@@ -434,32 +482,38 @@
 
     @Override
     protected void detectorChanged(Detector detector) {
-        /*
+        
+    	/*
          * Setup default pairing
          */
         if (_debug) System.out.printf("%s: Setup stereo hit pair modules \n", this.getClass().getSimpleName());
          
-        List<SiTrackerModule> modules = detector.getSubdetector(this.subdetectorName).getDetectorElement().findDescendants(SiTrackerModule.class);
+        List<SiTrackerModule> modules = detector.getSubdetector(this._subdetectorName).getDetectorElement().findDescendants(SiTrackerModule.class);
+        
         if (modules.isEmpty()) {
             throw new RuntimeException(this.getClass().getName() + ": No SiTrackerModules found in detector.");
         }
+        
        
         if (LayerGeometryType.Split==this._layerGeometryType) {
-        
+ /* 
+        	
             _det = new SimpleDetector();
             for(SiTrackerModule module : modules) {
+
                 List<SiSensor> sensors = module.findDescendants(SiSensor.class);
+
                 for(SiSensor sensor : sensors) {
                     _det.addSensor(sensor);
                  }
             }
             _det.print();
-            
+   */        
         
-        } else if (LayerGeometryType.Common==this._layerGeometryType) {
+        } else if(LayerGeometryType.Common==this._layerGeometryType) {
              
             
-            int nLayersTotal = detector.getSubdetector(subdetectorName).getLayering().getLayers().getNumberOfLayers();
+            int nLayersTotal = detector.getSubdetector(_subdetectorName).getLayering().getLayers().getNumberOfLayers();
             if (_debug) {
                 System.out.printf("%s: %d layers \n", this.getClass().getSimpleName(), nLayersTotal);
             }
@@ -474,7 +528,7 @@
             }
             for (int[] pair : pairs) {
                 if (_debug) System.out.printf("%s: adding stereo pair from layer %d and %d \n", this.getClass().getSimpleName(), pair[0], pair[1]);
-                setStereoPair(subdetectorName, pair[0], pair[1]);
+                setStereoPair(_subdetectorName, pair[0], pair[1]);
             }
             
         } else {
@@ -581,31 +635,23 @@
 
     }
      
-    
+   
+    @Deprecated
     private static class SimpleDetector {
         //private static final HelicalTrackHitDriver hthDriver = HelicalTrackHitDriver.this;
-        
+       
         private Layers _top = new Layers();
         private Layers _bot = new Layers();
 
         private void addSensor(SiSensor sensor) {
             if(SvtUtils.getInstance().isTopLayer(sensor) ) {
-                //System.out.printf("Adding top sensor at tracker layer %d\n",getModuleLevelLayerNumber(sensor));
+                System.out.printf("Adding top sensor at tracker layer %d\n",getModuleLevelLayerNumber(sensor));
                 _top.addSensor(sensor);
-            }
-            else {
-                //System.out.printf("Adding bot sensor at tracker layer %d\n",getModuleLevelLayerNumber(sensor));
+            } else {
+                System.out.printf("Adding bot sensor at tracker layer %d\n",getModuleLevelLayerNumber(sensor));
                 _bot.addSensor(sensor);
             }
         }
-
-        private void print() {
-            System.out.printf("HelicalTrackHitDriver Stereo pair setup:\n");
-            System.out.printf("Top half:\n");
-            _top.print();            
-            System.out.printf("Bottom half:\n");
-            _bot.print();            
-        }
         
         private void checkDetector() {
             if((_top._layers.size() % 2 != 0) || (_bot._layers.size() % 2 != 0) ) {
@@ -627,11 +673,22 @@
             return list;
         }
         
+        private void print() {
+            System.out.printf("HelicalTrackHitDriver Stereo pair setup:\n");
+            System.out.printf("Top half:\n");
+            _top.print();            
+            System.out.printf("Bottom half:\n");
+            _bot.print();            
+        }
+        
     }        
     
+    
+    @Deprecated
     private static int getModuleLevelLayerNumber(SiSensor sensor) {
         int l = SvtUtils.getInstance().getLayerNumber(sensor);
-        if(SvtUtils.getInstance().isTopLayer(sensor) ) {
+        
+        if(SvtUtils.getInstance().isTopLayer(sensor)) {
             if (SvtUtils.getInstance().isAxial(sensor)) {
                 l = (l + 1)/2;
             } else {
@@ -646,25 +703,31 @@
         }
         return l;
     }
-    
+   
+    @Deprecated
     private static class Layers {
+    	
         public List<StereoPair> _layers = new ArrayList<StereoPair>();
+        
         private StereoPair getLayer(int l) {
             for(StereoPair layer : _layers) {
-                if(layer.getLayerNr() == l) return layer;
+ //               if(layer.getLayerNr() == l) return layer;
             }
             return null;
         }
+        
         private void addLayer(StereoPair layer) {
-            if(getLayer(layer.getLayerNr())!=null) throw new RuntimeException(String.format("Layer %d exists!",layer.getLayerNr()));
+ //            if(getLayer(layer.getLayerNr())!=null) throw new RuntimeException(String.format("Layer %d exists!",layer.getLayerNr()));
             _layers.add(layer);
         }
-
+        
         private void addSensor(SiSensor sensor) {
+        	
             int l = getModuleLevelLayerNumber(sensor);
+            
             StereoPair layer = getLayer(l);
             if(layer==null) {
-                layer = new StereoPair(l);
+            	layer = new StereoPair(l);
                 _layers.add(layer);
             }   
             boolean isAx = SvtUtils.getInstance().isAxial(sensor);
@@ -672,6 +735,7 @@
             else layer.setStereoSensor(sensor);
             
         }
+        
         private boolean findSensor(SiSensor sensor) {
             for(StereoPair layer : _layers) {
                 if(layer.getAxialSensor().equals(sensor) || layer.getStereoSensor().equals(sensor)) {
@@ -683,7 +747,7 @@
         
         private void print() {
             for(StereoPair l : _layers) {
-                l.print();
+//                l.print();
             }
         }
 
@@ -693,52 +757,4 @@
             return pairs;
         }
     }
-
-    
-    
-    private static class StereoPair {
-        private int _layer=-1;
-        private SiSensor _axialSensor = null;
-        private SiSensor _stereoSensor = null;
-
-        public StereoPair(int layer) {
-            this._layer = layer;
-        }
-
-        public void setAxialSensor(SiSensor axialSensor) {
-            if(this._axialSensor!=null) throw new RuntimeException(String.format("Try to add another axial sensor to layer %d",_layer));
-            this._axialSensor = axialSensor;
-        }
-        
-        public void setStereoSensor(SiSensor stereoSensor) {
-            if(this._stereoSensor!=null) throw new RuntimeException(String.format("Try to add another stereo sensor to layer %d",_layer));
-            this._stereoSensor = stereoSensor;
-        }
-        
-
-        public SiSensor getStereoSensor() {
-            return this._stereoSensor;
-        }
-
-        
-
-        public SiSensor getAxialSensor() {
-            return this._axialSensor;
-        }
-        public void setLayerNr(int _layer) {
-            this._layer = _layer;
-        }
-
-        public int getLayerNr() {
-            return this._layer;
-        }
-
-        private void print() {
-            String name_Ax = this.getAxialSensor()==null?"NONE":this.getAxialSensor().getName();
-            String name_St = this.getStereoSensor()==null?"NONE":this.getStereoSensor().getName();
-            System.out.printf("Layer %d Axial: %s StereoSensor: %s\n",getLayerNr(),name_Ax,name_St);
-        }
-    }
-    
-    
 }
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1