lcsim/src/org/lcsim/mc/CCDSim
diff -u -r1.2 -r1.3
--- BuildCCDs.java 30 Sep 2005 22:39:50 -0000 1.2
+++ BuildCCDs.java 1 Feb 2007 01:32:55 -0000 1.3
@@ -97,8 +97,22 @@
LayerStack layerStack = layers.getLayerStack();
for(int i=0; i<layerStack.getNumberOfLayers(); ++i)
{
- actof=layers.getDistanceToLayerSensorMid(i);
- if(cyl) { rdef = actof;}
+ Layer layer = layerStack.getLayer(i);
+ List<LayerSlice> layerSlices = layer.getSlices();
+ int nslices = layerSlices.size();
+ actof=0.;
+ for(int ns = 0; ns<nslices; ns++)
+ {
+ boolean sens=false;
+ LayerSlice slice = layerSlices.get(ns);
+ double thick = slice.getThickness();
+ if(slice.isSensitive()) sens = true;
+ if(!sens) actof+=thick;
+ if(sens) actof+= 0.5*thick;
+ if(sens) break;
+ }
+// actof=layers.getDistanceToLayerSensorMid(i);
+ if(cyl) { rdef = rmin[i]+actof;}
if(eca) { rdef = rmax[i];}
if(NLayers > MaxLayers-1)
{