GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd
diff -u -r1.12 -r1.13
--- DiskTracker.java 18 Jul 2005 18:00:04 -0000 1.12
+++ DiskTracker.java 20 Aug 2005 21:57:00 -0000 1.13
@@ -23,12 +23,6 @@
DiskTracker(Element node) throws JDOMException
{
super(node);
-
- /* Make sure there is setting for tracking vol. */
- if ( node.getAttribute("insideTrackingVolume") == null )
- {
- node.setAttribute("insideTrackingVolume", "true");
- }
}
public void addToLCDD(LCDD lcdd, SensitiveDetector sens) throws JDOMException
GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd
diff -u -r1.10 -r1.11
--- MultiLayerTracker.java 25 Jul 2005 22:08:41 -0000 1.10
+++ MultiLayerTracker.java 20 Aug 2005 21:57:01 -0000 1.11
@@ -23,12 +23,6 @@
MultiLayerTracker(Element node) throws JDOMException
{
super(node);
-
- /* Make sure there is setting for tracking vol. */
- if ( node.getAttribute("insideTrackingVolume") == null )
- {
- node.setAttribute("insideTrackingVolume", "true");
- }
}
public void addToLCDD(LCDD lcdd, SensitiveDetector sens) throws JDOMException
GeomConverter/src/org/lcsim/geometry/compact/converter/lcdd/util
diff -u -r1.13 -r1.14
--- LCDD.java 15 Jul 2005 01:17:47 -0000 1.13
+++ LCDD.java 20 Aug 2005 21:57:01 -0000 1.14
@@ -226,9 +226,9 @@
getChild("regions").addContent(region);
}
- /**
+ /**
* Pick the world or tracking volume for a subdetector's mother volume,
- * depending on the value of the insideTrackingVolume attribute.
+ * depending on the value of the insideTrackingVolume attribute.
*
* Trackers will always place themselves inside the trackingVolume, and
* so should not call this function.
@@ -236,24 +236,33 @@
* @param subdet LCDD subdetector
*/
public Volume pickMotherVolume(LCDDSubdetector subdet)
- {
+ {
Attribute insideAttrib = subdet.getElement().getAttribute("insideTrackingVolume");
boolean inside;
- try {
- if ( insideAttrib == null )
+
+ /* All trackers go into tracking volume. */
+ if ( subdet.isTracker() )
+ {
+ inside = true;
+ }
+ /* Otherwise, check insideTrackingVolume attribute. */
+ else
+ {
+ try
{
- inside = false;
+ if ( insideAttrib == null )
+ {
+ inside = false;
+ }
+ else
+ {
+ inside = insideAttrib.getBooleanValue();
+ }
}
- else
+ catch (org.jdom.DataConversionException dce)
{
- inside = insideAttrib.getBooleanValue();
+ throw new RuntimeException("Error converting insideTrackingVolume attribute.", dce);
}
-
- //System.out.println("inside: " + inside);
- }
- catch (org.jdom.DataConversionException dce)
- {
- throw new RuntimeException("Error converting insideTrackingVolume attribute.", dce);
}
Volume motherVolume = ( inside ? getStructure().getTrackingVolume() : getStructure().getWorldVolume() );
@@ -263,7 +272,7 @@
throw new RuntimeException("Picked a null mother volume.");
}
-// System.out.println("subdet " + subdet.getElement().getAttributeValue("name") + " -> "
+// System.out.println("subdet " + subdet.getElement().getAttributeValue("name") + " -> "
// + motherVolume.getAttributeValue("name") + "; insideTrackingVolume=" + inside);
return motherVolume;