Print

Print


Commit in GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd on MAIN
CylindricalEndcapCalorimeter.java+25-271.15 -> 1.16
JM: make visualization settable by envelope, layer or slice

GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd
CylindricalEndcapCalorimeter.java 1.15 -> 1.16
diff -u -r1.15 -r1.16
--- CylindricalEndcapCalorimeter.java	2 Jun 2008 20:37:00 -0000	1.15
+++ CylindricalEndcapCalorimeter.java	21 Feb 2009 23:35:15 -0000	1.16
@@ -13,7 +13,6 @@
 import org.lcsim.geometry.compact.converter.lcdd.util.Structure;
 import org.lcsim.geometry.compact.converter.lcdd.util.Tube;
 import org.lcsim.geometry.compact.converter.lcdd.util.Volume;
-import org.lcsim.geometry.layer.LayerFromCompactCnv;
 
 /**
  *
@@ -69,11 +68,11 @@
             for (int ll=0; ll<repeat; ll++)
             {
                 double zlayer = z;
-                String name1 = detectorName+"_layer"+n;
-                Tube tube1 = new Tube(name1);
-                Volume volume1 = new Volume(name1+"_volume");
-                volume1.setMaterial(air);
-                volume1.setSolid(tube1);
+                String layerName = detectorName+"_layer"+n;
+                Tube layerTube = new Tube(layerName);
+                Volume layerVolume = new Volume(layerName+"_volume");
+                layerVolume.setMaterial(air);
+                layerVolume.setSolid(layerTube);
                 
                 int m = 0;
                 for (Iterator j = layer.getChildren("slice").iterator(); j.hasNext(); m++)
@@ -91,39 +90,38 @@
                     tube.setDeltaPhi(Math.PI*2);
                     solids.addSolid(tube);
                     
-                    Volume volume = new Volume(name+"_volume");
-                    volume.setMaterial(lcdd.getMaterial(slice.getAttributeValue("material")));
-                    volume.setSolid(tube);
-                    if (sensitive) volume.setSensitiveDetector(sens);
-                    
-                    /* FIXME: these need to be called automatically whenever a new volume is created --JM */                    
-                    setRegion(lcdd, slice, volume);                    
-                    setLimitSet(lcdd, slice, volume);                    
-                    setVisAttributes(lcdd, node, volume);
+                    Volume sliceVolume = new Volume(name+"_volume");
+                    sliceVolume.setMaterial(lcdd.getMaterial(slice.getAttributeValue("material")));
+                    sliceVolume.setSolid(tube);
+                    if (sensitive) sliceVolume.setSensitiveDetector(sens);
+                    
+                    setRegion(lcdd, slice, sliceVolume);                    
+                    setLimitSet(lcdd, slice, sliceVolume);                    
+                    setVisAttributes(lcdd, slice, sliceVolume);
                     
-                    structure.addVolume(volume);
+                    structure.addVolume(sliceVolume);
                     
-                    PhysVol physvol = new PhysVol(volume);
+                    PhysVol physvol = new PhysVol(sliceVolume);
                     physvol.setZ(z - zlayer - layerWidth/2 + w/2);
-                    volume1.addPhysVol(physvol);
+                    layerVolume.addPhysVol(physvol);
                     
                     z += w;
                 }
                 
-                tube1.setZ(layerWidth);
-                tube1.setRMin(rmin);
-                tube1.setRMax(rmax);
-                tube1.setDeltaPhi(Math.PI*2);
+                layerTube.setZ(layerWidth);
+                layerTube.setRMin(rmin);
+                layerTube.setRMax(rmax);
+                layerTube.setDeltaPhi(Math.PI*2);
                 
-                PhysVol physvol = new PhysVol(volume1);
+                PhysVol physvol = new PhysVol(layerVolume);
                 physvol.setZ(zlayer - zmin - totWidth/2 + layerWidth/2);
                 physvol.addPhysVolID("layer",n);
                 envelopeVolume.addPhysVol(physvol);
-                structure.addVolume(volume1);
-                solids.addSolid(tube1);
+                structure.addVolume(layerVolume);
+                solids.addSolid(layerTube);
                 n++;
                 
-                setVisAttributes(lcdd, node, volume1);
+                setVisAttributes(lcdd, layer, layerVolume);
             }            
         }
         
@@ -150,9 +148,9 @@
         
         solids.addSolid(envelope);
         structure.addVolume(envelopeVolume);
-        
         setVisAttributes(lcdd, node, envelopeVolume);
     }
+    
     public boolean isCalorimeter()
     {
         return true;
CVSspam 0.2.8