GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd
diff -u -r1.6 -r1.7
--- SiTrackerBarrel.java 3 Jul 2008 20:55:06 -0000 1.6
+++ SiTrackerBarrel.java 11 Feb 2009 21:01:57 -0000 1.7
@@ -283,12 +283,16 @@
setRegion(lcdd, layer_element, layer_volume);
setLimitSet(lcdd, layer_element, layer_volume);
+ setVisAttributes(lcdd, layer_element, layer_volume);
// Set the layer envelope to invisible to help Geant4 visualization.
- //if (lcdd.getVisAttributes("InvisibleWithDaughters") != null)
- //{
- // layer_volume.setVisAttributes(lcdd.getVisAttributes("InvisibleWithDaughters"));
- //}
+ if (layer_element.getAttribute("vis") == null)
+ {
+ if (lcdd.getVisAttributes("InvisibleWithDaughters") != null)
+ {
+ layer_volume.setVisAttributes(lcdd.getVisAttributes("InvisibleWithDaughters"));
+ }
+ }
// Add the layer volume to LCDD.
structure.addVolume(layer_volume);
@@ -325,6 +329,7 @@
int sensor_number = 0;
+ // Search for module.
for (Iterator i = detector.getChildren("module").iterator(); i.hasNext();)
{
Element module_element = (Element) i.next();
@@ -380,6 +385,7 @@
Material component_material = lcdd.getMaterial(component_element.getAttributeValue("material"));
component_volume.setMaterial(component_material);
component_volume.setSolid(component_box);
+
lcdd.getStructure().addVolume(component_volume);
PhysVol component_physvol = new PhysVol(component_volume);
@@ -448,11 +454,11 @@
setRegion(lcdd, component_element, component_volume);
setLimitSet(lcdd, component_element, component_volume);
- setVisAttributes(lcdd, this.node, component_volume);
+ setVisAttributes(lcdd, component_element, component_volume);
module_volume.addPhysVol(component_physvol);
}
-
+ setVisAttributes(lcdd, module_element, module_volume);
break;
}
}
@@ -462,8 +468,6 @@
throw new RuntimeException("Failed to find module " + name);
}
- setVisAttributes(lcdd, this.node, module_volume);
-
// Add module logical volume to LCDD.
lcdd.getStructure().addVolume(module_volume);
GeomConverter/testResources/org/lcsim/geometry/subdetector
diff -u -r1.3 -r1.4
--- SiTrackerBarrelTest.xml 3 Jul 2008 21:49:22 -0000 1.3
+++ SiTrackerBarrelTest.xml 11 Feb 2009 21:01:57 -0000 1.4
@@ -16,52 +16,54 @@
<materials>
</materials>
<display>
- <vis name="TestVis" alpha="1.0" r="1.0" g="0.0" b="0.0" drawingStyle="wireframe" lineStyle="unbroken" showDaughters="true" visible="true"/>
+ <vis name="ModuleVis" alpha="1.0" r="0.8" g="1.0" b="0.1" drawingStyle="wireframe" lineStyle="unbroken" showDaughters="false" visible="true"/>
+ <vis name="LayerVis" alpha="0.0" r="0.0" g="0.0" b="1.0" drawingStyle="wireframe" showDaughters="true" visible="false"/>
+ <vis name="ComponentVis" alpha="0.0" r="0.0" g="0.2" b="0.4" drawingStyle="solid" showDaughters="false" visible="false"/>
</display>
<detectors>
- <detector id="1" name="SiTrackerBarrel" type="SiTrackerBarrel" readout="SiTrackerBarrel_RO" vis="TestVis">
- <module name="SiTrackerModule">
- <module_envelope width="97.79" length="97.79" thickness="5.5"/>
- <module_component width="97.79" length="97.79" thickness="0.228" material="CarbonFiber" sensitive="false">
+ <detector id="1" name="SiTrackerBarrel" type="SiTrackerBarrel" readout="SiTrackerBarrel_RO">
+ <module name="SiTrackerModule" vis="ModuleVis">
+ <module_envelope width="97.79" length="97.79" thickness="5.5" vis="ComponentVis"/>
+ <module_component width="97.79" length="97.79" thickness="0.228" material="CarbonFiber" sensitive="false" vis="ComponentVis">
<position z="-1.702"/>
</module_component>
- <module_component width="97.79" length="97.79" thickness="3.175" material="Rohacell31" sensitive="false">
+ <module_component width="97.79" length="97.79" thickness="3.175" material="Rohacell31" sensitive="false" vis="ComponentVis">
<position z="0.0"/>
</module_component>
- <module_component width="97.79" length="97.79" thickness="0.228" material="CarbonFiber" sensitive="false">
+ <module_component width="97.79" length="97.79" thickness="0.228" material="CarbonFiber" sensitive="false" vis="ComponentVis">
<position z="1.702"/>
</module_component>
- <module_component width="93.531" length="93.031" thickness="0.3" material="Silicon" sensitive="true">
+ <module_component width="93.531" length="93.031" thickness="0.3" material="Silicon" sensitive="true" vis="ComponentVis">
<position z="2.082"/>
</module_component>
- <module_component width="63.8" length="6.67" thickness="0.3" material="Silicon" sensitive="false">
+ <module_component width="63.8" length="6.67" thickness="0.3" material="Silicon" sensitive="false" vis="ComponentVis">
<position z="2.492"/>
</module_component>
- <module_component width="97.79" length="97.79" thickness="0.1" material="Kapton" sensitive="false">
+ <module_component width="97.79" length="97.79" thickness="0.1" material="Kapton" sensitive="false" vis="ComponentVis">
<position z="2.692"/>
</module_component>
</module>
- <layer module="SiTrackerModule" id="1">
+ <layer module="SiTrackerModule" id="1" vis="LayerVis">
<barrel_envelope inner_r="195.0" outer_r="245.0" z_length="267.0 * 2.0"/>
<rphi_layout phi_tilt="0.19" nphi="16" phi0="0.196" rc="205.0" dr="0"/>
<z_layout dr="5.5" z0="218.0" nz="7"/>
</layer>
- <layer module="SiTrackerModule" id="2">
+ <layer module="SiTrackerModule" id="2" vis="LayerVis">
<barrel_envelope inner_r="451.0" outer_r="501.0" z_length="608.0 * 2.0"/>
<rphi_layout phi_tilt="0.19" nphi="36" phi0="0.087" rc="461.0" dr="0.0"/>
<z_layout dr="5.5" z0="559.0" nz="15"/>
</layer>
- <layer module="SiTrackerModule" id="3">
+ <layer module="SiTrackerModule" id="3" vis="LayerVis">
<barrel_envelope inner_r="706.0" outer_r="756.0" z_length="948.0 * 2.0"/>
<rphi_layout phi_tilt="0.19" nphi="54" phi0="0.058" rc="716.0" dr="0.0"/>
<z_layout dr="5.5" z0="899.0" nz="23"/>
</layer>
- <layer module="SiTrackerModule" id="4">
+ <layer module="SiTrackerModule" id="4" vis="LayerVis">
<barrel_envelope inner_r="962.0" outer_r="1012.0" z_length="1289.0 * 2.0"/>
<rphi_layout phi_tilt="0.19" nphi="72" phi0="0.0436" rc="972.0" dr="0.0"/>
<z_layout dr="5.5" z0="1240.0" nz="29"/>
</layer>
- <layer module="SiTrackerModule" id="5">
+ <layer module="SiTrackerModule" id="5" vis="LayerVis">
<barrel_envelope inner_r="1218.0" outer_r="1265.0" z_length="3260.0"/>
<rphi_layout phi_tilt="0.19" nphi="90" phi0="0.01745" rc="1228.0" dr="0.0"/>
<z_layout dr="5.5" z0="1581.0" nz="37"/>