lcsim/src/org/lcsim/recon/muon
diff -u -r1.11 -r1.12
--- MuonCalSegmentFinder.java 13 Jul 2006 23:35:45 -0000 1.11
+++ MuonCalSegmentFinder.java 14 Jul 2006 15:54:39 -0000 1.12
@@ -40,33 +40,9 @@
setThetaNNCut(2);//2
// getting info from the coil
- MultiLayerTracker coilsub = (MultiLayerTracker)det.getSubdetectors().get("SolenoidCoilBarrel");
-
- /**NEXT: to be done -part of the StepperConditons.class (see BarrelCalSegmentFinder)
- * Get materials from MultiLayerTracker class.
- *
- * WARNING: This approach is prone to error, because the slices are
- * not guaranteed to be the same thickness in every layer.
- */
- LayerStack layers = coilsub.getLayering().getLayers();
- double[] tmpRmin = coilsub.getInnerR();
- double[] tmpZmax = coilsub.getOuterZ();
-
- int nsublayers = layers.getNumberOfLayers();
coilSlices = new Vector<CoilSubLayer>();
- for(int i=0; i<nsublayers; ++i) {
- List<LayerSlice> slices
- = coilsub.getLayering().getLayers().getLayer(i).getSlices();
- double raux = tmpRmin[i];
- for ( Object o : slices ) {
- LayerSlice ls = (LayerSlice) o;
- String matName = ls.getMaterial().getName();
- double thickness = ls.getThickness();
- double matdedx = dedx.getDeDx(matName)/10; // Eloss this material
- coilSlices.add( new CoilSubLayer(matName, thickness, raux, tmpZmax[i], matdedx) );
- raux += thickness;
- }
- }
+ coilSlices = stpr.getCoilSlices(det);
+
}
@@ -152,30 +128,17 @@
+", field="+field[2]
+", rad="+radius+", z="+rpVect[2] );
- stepConditions = steprConditions(dr, field[2], totalDedx,dt_r);
+ //stepConditions = steprConditions(dr, field[2], totalDedx,dt_r);
- stpr.tkSteps(r,zmaxSlice,stepConditions);
+ stpr.tkSteps(r,zmaxSlice,det, ii);
rpVect = stpr.getNewRp();
++islice;
}
//--------------------------------------------------------------------------------------
-
- field = det.getFieldMap().getField(rpVect); // C.M.-June-03
-
-
- System.out.println("MuonCalSegFinder: muonRadius="+rmin+", field="+muField);
-
- muField = field[2];
-
- double d0=10.;
- stpr.setDTOF(rpVect,d0);
- double dt0=stpr.getDTOF();
- stepConditions = steprConditions(10.,muField,(4.36E-03*500.),dt0);
-
- stpr.tkSteps(r,zmax,stepConditions);
rpVect = stpr.getNewRp();
+
if(rpVect[2]>=zmxCoil|| stpr.getAtZmax()==1||stpr.getStopTkELow())
hitsCoil = false;
@@ -190,6 +153,7 @@
}
rNow=Math.sqrt(rpVect[0]*rpVect[0]+rpVect[1]*rpVect[1]);
+
// Air after the COIL
xNSteps=rmin-stpr.partR(rpVect);