Print

Print


Commit in lcsim/src/org/lcsim/fit/helicaltrack on MAIN
HelicalTrackHitDriver.java+7-71.26 -> 1.27
HitIdentifier.java+26-11.1 -> 1.2
+33-8
2 modified files
Change layer number divide by two kludge

lcsim/src/org/lcsim/fit/helicaltrack
HelicalTrackHitDriver.java 1.26 -> 1.27
diff -u -r1.26 -r1.27
--- HelicalTrackHitDriver.java	16 Oct 2008 21:44:13 -0000	1.26
+++ HelicalTrackHitDriver.java	10 Nov 2008 19:46:01 -0000	1.27
@@ -142,16 +142,16 @@
                         throw new RuntimeException("Detector Container is empty!");
                     } else {
                         IDetectorElement de = cont.get(0);
-                        String detname = ID.getName(de);
-                        int lyr = ID.getLayer(de);
-                        BarrelEndcapFlag be = ID.getBarrelEndcapFlag(de);
+//                        String detname = ID.getName(de);
+//                        int lyr = ID.getLayer(de);
+//                        BarrelEndcapFlag be = ID.getBarrelEndcapFlag(de);
                         
                         //Kludgy fix for layer numbering in sid01
-                        if (!(detname.indexOf("Vertex") ==-1 && detname.indexOf("Vtx") == -1) && be.isEndcap()) {
-                            if (event.getDetectorName().indexOf("planar")==-1) lyr/=2;
-                        }
+//                        if (!(detname.indexOf("Vertex") ==-1 && detname.indexOf("Vtx") == -1) && be.isEndcap()) {
+//                            if (event.getDetectorName().indexOf("planar")==-1) lyr/=2;
+//                         }
                         HelicalTrackHit hthit = new HelicalTrack3DHit(pos, cov, hit.getdEdx(), hit.getTime(), hit.getRawHits(),
-                                detname, lyr, ID.getBarrelEndcapFlag(de));
+                                ID.getName(de), ID.getLayer(de), ID.getBarrelEndcapFlag(de));
                         
                         for (MCParticle p : ((BaseTrackerHitMC)hit).mcParticles()) hthit.addMCParticle(p);
                         hitrelations.add(new MyLCRelation(hthit, ohit));

lcsim/src/org/lcsim/fit/helicaltrack
HitIdentifier.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- HitIdentifier.java	2 Jul 2008 23:54:24 -0000	1.1
+++ HitIdentifier.java	10 Nov 2008 19:46:01 -0000	1.2
@@ -7,6 +7,9 @@
 
 package org.lcsim.fit.helicaltrack;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.lcsim.detector.DetectorIdentifierHelper;
 import org.lcsim.detector.IDetectorElement;
 import org.lcsim.detector.identifier.IIdentifier;
@@ -19,9 +22,16 @@
  * @version 1.0
  */
 public class HitIdentifier {
+    private List<String> _special;
     
     /** Creates a new instance of HitIdentifier */
     public HitIdentifier() {
+        _special = new ArrayList<String>();
+    }
+    
+    public HitIdentifier(List<String> special) {
+        super();
+        _special.addAll(special);
     }
     
     public String Identifier(IDetectorElement de) {
@@ -54,6 +64,16 @@
             IIdentifier id = de.getIdentifier();
             //  Get the layer number
             layer = dehlp.getLayerValue(id);
+            //  See if it needs "special" treatment
+            for (String name : _special) {
+                if (getName(de).equals(name)) {
+                    //  Special layers have stereo layers with distinct layer numbers
+                    //  on the two stereo sensor planes, whereas the seedtracker
+                    //  convention is that both planes have the same layer number
+                    layer /= 2;
+                    break;
+                }
+            }
         }
         return layer;
     }
@@ -74,5 +94,10 @@
             else if (dehlp.isEndcapNegative(id)) beflag = BarrelEndcapFlag.ENDCAP_SOUTH;
         }
         return beflag;
-    }    
+    }
+    
+    public void setNonStandardLayering(String name) {
+        _special.add(name);
+        return;
+    }
 }
\ No newline at end of file
CVSspam 0.2.8