Print

Print


Commit in GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd on MAIN
PolyhedraEndcapCalorimeter.java+21-61.1 -> 1.2
Implemented reflection of PolyhedraEndcapCalorimeter.

GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd
PolyhedraEndcapCalorimeter.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- PolyhedraEndcapCalorimeter.java	26 Aug 2005 02:37:05 -0000	1.1
+++ PolyhedraEndcapCalorimeter.java	26 Aug 2005 19:02:49 -0000	1.2
@@ -84,12 +84,6 @@
         envelopeVolume.setSolid(polyhedra);
         envelopeVolume.setMaterial(air);
         
-        PhysVol envelopePhysvol = new PhysVol(envelopeVolume);
-        envelopePhysvol.setRotation(rot);
-        envelopePhysvol.addPhysVolID("system",id);
-        envelopePhysvol.addPhysVolID("barrel",0);
-        motherVolume.addPhysVol(envelopePhysvol);
-        
         /* single stave trapezoid */
         double innerAngle = Math.PI * 2 / numsides;
         double halfInnerAngle = innerAngle/2;
@@ -215,6 +209,27 @@
             sectPosY = sectCenterRadius * cos(rotY);
         }
         
+        /* place envelope physical volume */
+        boolean reflect = node.getAttribute("reflect").getBooleanValue();
+        Rotation reflection = lcdd.getDefine().getRotation("reflect_rot");
+        
+        PhysVol envelopePhysvol = new PhysVol(envelopeVolume);
+        envelopePhysvol.setZ(zmin + layersThickness/2);
+        envelopePhysvol.addPhysVolID("system",id);
+        envelopePhysvol.addPhysVolID("barrel",1);
+        motherVolume.addPhysVol(envelopePhysvol);
+        
+        /* place reflected physical volume */
+        if (reflect)
+        {
+            PhysVol physvol2 = new PhysVol(envelopeVolume);
+            physvol2.setZ(-zmin-layersThickness/2);
+            physvol2.setRotation(reflection);
+            physvol2.addPhysVolID("system",id);
+            physvol2.addPhysVolID("barrel",2);
+            motherVolume.addPhysVol(physvol2);
+        }
+        
         /* add envelope volume after staves */
         structure.addVolume(envelopeVolume);
     }
CVSspam 0.2.8