Commit in lcsim/src/org/lcsim/recon/pfa/identifier on MAIN
HelixExtrapolator.java+28-561.6 -> 1.7
LocalHelixExtrapolationTrackClusterMatcher.java+16-11.3 -> 1.4
+44-57
2 modified files
Use CalorimeterInformation class

lcsim/src/org/lcsim/recon/pfa/identifier
HelixExtrapolator.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- HelixExtrapolator.java	28 Jan 2010 18:33:40 -0000	1.6
+++ HelixExtrapolator.java	3 Feb 2010 19:42:23 -0000	1.7
@@ -105,83 +105,55 @@
 	m_HCAL_barrel_zmax = ci.getZMax("HAD_BARREL");
 	m_MCAL_barrel_zmax = ci.getZMax("MUON_BARREL");
         Subdetector s = ci.getSubdetector("EM_BARREL");
-        double rm = ci.getRMin("EM_BARREL");
+        double ebr0 = ci.getRMin("EM_BARREL");
         if(s instanceof CylindricalBarrelCalorimeter)
         {
-            m_ECAL_barrel_r = s.getLayering().getDistanceToLayerSensorMid(0);
-        }
-        else
-        {
-            m_ECAL_barrel_r = rm + s.getLayering().getDistanceToLayerSensorMid(0);
-
+            ebr0 = 0.;
         }
+        m_ECAL_barrel_r = ebr0 + s.getLayering().getDistanceToLayerSensorMid(0);
         s = ci.getSubdetector("HAD_BARREL");
-        rm = ci.getRMin("HAD_BARREL");
+        double hbr0 = ci.getRMin("HAD_BARREL");
         if(s instanceof CylindricalBarrelCalorimeter)
         {
-            m_HCAL_barrel_r = s.getLayering().getDistanceToLayerSensorMid(0);
-        }
-        else
-        {
-            m_HCAL_barrel_r = rm + s.getLayering().getDistanceToLayerSensorMid(0);
-
+            hbr0 = 0.;
         }
+        m_HCAL_barrel_r = hbr0 + s.getLayering().getDistanceToLayerSensorMid(0);
         s = ci.getSubdetector("MUON_BARREL");
-        rm = ci.getRMin("MUON_BARREL");
+        double mbr0 = ci.getRMin("MUON_BARREL");
         if(s instanceof CylindricalBarrelCalorimeter)
         {
-            m_MCAL_barrel_r = s.getLayering().getDistanceToLayerSensorMid(0);
-        }
-        else
-        {
-            m_MCAL_barrel_r = rm + s.getLayering().getDistanceToLayerSensorMid(0);
-
+            mbr0 = 0.;
         }
+        m_MCAL_barrel_r = mbr0 + s.getLayering().getDistanceToLayerSensorMid(0);
 
         s = ci.getSubdetector("EM_ENDCAP");
-        rm = ci.getZMin("EM_ENDCAP");
+        double eer0 = ci.getZMin("EM_ENDCAP");
         if(s instanceof CylindricalEndcapCalorimeter)
         {
-            m_ECAL_endcap_z = s.getLayering().getDistanceToLayerSensorMid(0);
-        }
-        else
-        {
-            m_ECAL_endcap_z = rm + s.getLayering().getDistanceToLayerSensorMid(0);
-
+            eer0 = 0.;
         }
+        m_ECAL_endcap_z = eer0 + s.getLayering().getDistanceToLayerSensorMid(0);
         s = ci.getSubdetector("HAD_ENDCAP");
-        rm = ci.getZMin("HAD_ENDCAP");
+        double her0 = ci.getZMin("HAD_ENDCAP");
         if(s instanceof CylindricalEndcapCalorimeter)
         {
-            m_HCAL_endcap_z = s.getLayering().getDistanceToLayerSensorMid(0);
-        }
-        else
-        {
-            m_HCAL_endcap_z = rm + s.getLayering().getDistanceToLayerSensorMid(0);
-
+            her0 = 0.;
         }
+        m_HCAL_endcap_z = her0 + s.getLayering().getDistanceToLayerSensorMid(0);
         s = ci.getSubdetector("MUON_ENDCAP");
-        rm = ci.getZMin("MUON_ENDCAP");
+        double mer0 = ci.getZMin("MUON_ENDCAP");
         if(s instanceof CylindricalEndcapCalorimeter)
         {
-            m_MCAL_endcap_z = s.getLayering().getDistanceToLayerSensorMid(0);
-        }
-        else
-        {
-            m_MCAL_endcap_z = rm + s.getLayering().getDistanceToLayerSensorMid(0);
-
+            mer0 = 0.;
         }
+        m_MCAL_endcap_z = mer0 + s.getLayering().getDistanceToLayerSensorMid(0);
         s = ci.getSubdetector("LUMI");
-        rm = ci.getZMin("LUMI");
+        double ler0 = ci.getZMin("LUMI");
         if(s instanceof CylindricalEndcapCalorimeter)
         {
-            m_FCAL_endcap_z = s.getLayering().getDistanceToLayerSensorMid(0);
-        }
-        else
-        {
-            m_FCAL_endcap_z = rm + s.getLayering().getDistanceToLayerSensorMid(0);
-
+            ler0 = 0.;
         }
+        m_FCAL_endcap_z = ler0 + s.getLayering().getDistanceToLayerSensorMid(0);
 	m_ECAL_endcap_rmin = ci.getRMin("EM_ENDCAP");
 	m_HCAL_endcap_rmin = ci.getRMin("HAD_ENDCAP");
 	m_MCAL_endcap_rmin = ci.getRMin("MUON_ENDCAP");
@@ -195,37 +167,37 @@
 	m_fieldStrength = det.getFieldMap().getField(zero);
 	m_ECAL_barrel_layering_r = new Vector<Double>();
 	for (int iLayer=0; iLayer<ci.getNLayers("EM_BARREL"); iLayer++) {
-	    double r = ci.getSubdetector("EM_BARREL").getLayering().getDistanceToLayerSensorMid(iLayer);
+	    double r = ebr0 + ci.getSubdetector("EM_BARREL").getLayering().getDistanceToLayerSensorMid(iLayer);
 	    m_ECAL_barrel_layering_r.add(new Double(r));
 	}
 	m_ECAL_endcap_layering_z = new Vector<Double>();
 	for (int iLayer=0; iLayer<ci.getNLayers("EM_ENDCAP"); iLayer++) {
-	    double z = ci.getSubdetector("EM_ENDCAP").getLayering().getDistanceToLayerSensorMid(iLayer);
+	    double z = eer0 + ci.getSubdetector("EM_ENDCAP").getLayering().getDistanceToLayerSensorMid(iLayer);
 	    m_ECAL_endcap_layering_z.add(new Double(z));
 	}
 	m_HCAL_barrel_layering_r = new Vector<Double>();
 	for (int iLayer=0; iLayer<ci.getNLayers("HAD_BARREL"); iLayer++) {
-	    double r = ci.getSubdetector("HAD_BARREL").getLayering().getDistanceToLayerSensorMid(iLayer);
+	    double r = hbr0 + ci.getSubdetector("HAD_BARREL").getLayering().getDistanceToLayerSensorMid(iLayer);
 	    m_HCAL_barrel_layering_r.add(new Double(r));
 	}
 	m_HCAL_endcap_layering_z = new Vector<Double>();
 	for (int iLayer=0; iLayer<ci.getNLayers("HAD_ENDCAP"); iLayer++) {
-	    double z = ci.getSubdetector("HAD_ENDCAP").getLayering().getDistanceToLayerSensorMid(iLayer);
+	    double z = her0 + ci.getSubdetector("HAD_ENDCAP").getLayering().getDistanceToLayerSensorMid(iLayer);
 	    m_HCAL_endcap_layering_z.add(new Double(z));
 	}
 	m_MCAL_barrel_layering_r = new Vector<Double>();
 	for (int iLayer=0; iLayer<ci.getNLayers("MUON_BARREL"); iLayer++) {
-	    double r = ci.getSubdetector("MUON_BARREL").getLayering().getDistanceToLayerSensorMid(iLayer);
+	    double r = mbr0 + ci.getSubdetector("MUON_BARREL").getLayering().getDistanceToLayerSensorMid(iLayer);
 	    m_MCAL_barrel_layering_r.add(new Double(r));
 	}
 	m_MCAL_endcap_layering_z = new Vector<Double>();
 	for (int iLayer=0; iLayer<ci.getNLayers("MUON_ENDCAP"); iLayer++) {
-	    double z = ci.getSubdetector("MUON_ENDCAP").getLayering().getDistanceToLayerSensorMid(iLayer);
+	    double z = mer0 + ci.getSubdetector("MUON_ENDCAP").getLayering().getDistanceToLayerSensorMid(iLayer);
 	    m_MCAL_endcap_layering_z.add(new Double(z));
 	}
 	m_FCAL_endcap_layering_z = new Vector<Double>();
 	for (int iLayer=0; iLayer<ci.getNLayers("LUMI"); iLayer++) {
-	    double z = ci.getSubdetector("LUMI").getLayering().getDistanceToLayerSensorMid(iLayer);
+	    double z = ler0 + ci.getSubdetector("LUMI").getLayering().getDistanceToLayerSensorMid(iLayer);
 	    m_FCAL_endcap_layering_z.add(new Double(z));
 	}
 	m_init = true;

lcsim/src/org/lcsim/recon/pfa/identifier
LocalHelixExtrapolationTrackClusterMatcher.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- LocalHelixExtrapolationTrackClusterMatcher.java	6 Sep 2008 23:47:00 -0000	1.3
+++ LocalHelixExtrapolationTrackClusterMatcher.java	3 Feb 2010 19:42:23 -0000	1.4
@@ -23,6 +23,7 @@
 import org.lcsim.mc.fast.tracking.ReconTrack;
 import org.lcsim.event.base.*;
 import org.lcsim.geometry.IDDecoder;
+import org.lcsim.recon.util.CalorimeterInformation;
 
 /**
  * Attempt to match a Track to a Cluster. The Track is extrapolated to the inner surface
@@ -36,10 +37,13 @@
 
 public class LocalHelixExtrapolationTrackClusterMatcher extends Driver implements TrackClusterMatcher
 {
+    protected boolean init;
+    protected CalorimeterInformation ci;
     /** Simple constructor. */
     public LocalHelixExtrapolationTrackClusterMatcher(HelixExtrapolator extrap) {
 	super();
 	m_extrap = extrap;
+                init = false;
     }
 
     /** Constructor, specifying additional cut to apply. */
@@ -47,6 +51,7 @@
 	super();
 	m_extraCut = extraCut;
 	m_extrap = extrap;
+                init = false;
     }
 
     /** Another way to specify the additional cut. */
@@ -56,6 +61,11 @@
 
     /** Process this event, storing geometry info if needed. */
     public void process(EventHeader event) {
+        if(!init)
+        {
+            ci = CalorimeterInformation.instance();
+            init = true;
+        }
 	m_event = event;
 	m_extrap.process(event);
     }
@@ -66,6 +76,11 @@
       * acceptable match.
       */
     public Cluster matchTrackToCluster(Track tr, List<Cluster> clusters) {
+        if(!init)
+        {
+            ci = CalorimeterInformation.instance();
+            init = true;
+        }
 	if (m_debug) { System.out.println("DEBUG: "+this.getClass().getName()+" trying to match track with p="+(new BasicHep3Vector(tr.getMomentum())).magnitude()+" to a list of "+clusters.size()+" clusters."); }
 	HelixExtrapolationResult result = m_extrap.performExtrapolation(tr);
 	Hep3Vector point = null;
@@ -144,7 +159,7 @@
 	    org.lcsim.geometry.Subdetector subdet = hit.getSubdetector();	    
             if ( ! subdet.isCalorimeter() ) { throw new AssertionError("Cluster hit outside calorimeter"); }
             String name = subdet.getName();
-            if (name.compareTo("EMBarrel") == 0 || name.compareTo("EMEndcap") == 0) {
+            if (name.compareTo(ci.getName("EM_BARREL")) == 0 || name.compareTo(ci.getName("EM_ENDCAP")) == 0) {
                 // EM -- OK
 		if (innermostHit==null || getLayer(innermostHit)>layer) {
 		    innermostHit = hit;
CVSspam 0.2.8