2 added + 12 modified, total 14 files
GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.6 -r1.7
--- CylindricalBarrelCalorimeterConverter.java 18 Apr 2007 00:05:27 -0000 1.6
+++ CylindricalBarrelCalorimeterConverter.java 20 Apr 2007 00:16:53 -0000 1.7
@@ -52,13 +52,12 @@
IPhysicalVolumeNavigator nav =
PhysicalVolumeNavigatorStore.getInstance().getDefaultNavigator();
IPhysicalVolumePath path = nav.getPath( cal.getName() );
- cal.setSupport(path);
-
+
+ // Create the Subdetector's DetectorElement.
+ cal.setDetectorElement( new DetectorElement( cal.getName(), detector.getDetectorElement(), path) );
+
// Build the layers.
buildLayers(cal, envelope);
-
- // Set the parent DE.
- subdet.setParent(detector);
}
private ILogicalVolume buildEnvelope(
@@ -160,7 +159,7 @@
new CylindricalBarrelCalorimeterSensorLayer(
cal.getName() + "_sensor" + sensorNumber,
- cal,
+ cal.getDetectorElement(),
sensorPath);
// Increment the number of sensors.
GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.6 -r1.7
--- CylindricalEndcapCalorimeterConverter.java 18 Apr 2007 00:05:27 -0000 1.6
+++ CylindricalEndcapCalorimeterConverter.java 20 Apr 2007 00:16:54 -0000 1.7
@@ -27,6 +27,8 @@
{
CylindricalEndcapCalorimeter cal = (CylindricalEndcapCalorimeter)subdet;
+ subdet.setDetectorElement( new DetectorElement(subdet.getName(), detector.getDetectorElement() ) );
+
IPhysicalVolume world = detector.getWorldVolume();
ILogicalVolume envelope = buildEnvelope( cal, world.getLogicalVolume().getMaterial() );
@@ -48,7 +50,7 @@
// DE for positive endcap.
DetectorElement endcap =
- new CylindricalEndcapCalorimeterDE(cal.getName() + "_positive", detector);
+ new CylindricalEndcapCalorimeterDE(cal.getName() + "_positive", subdet.getDetectorElement());
endcap.setSupport(cal.getName() + "_positive");
// DE for negative endcap.
@@ -71,7 +73,7 @@
);
reflectedEndcap =
- new CylindricalEndcapCalorimeterDE(cal.getName() + "_negative", detector);
+ new CylindricalEndcapCalorimeterDE(cal.getName() + "_negative", subdet.getDetectorElement());
reflectedEndcap.setSupport(cal.getName() + "_negative");
}
GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.11 -r1.12
--- DetectorConverter.java 18 Apr 2007 00:05:27 -0000 1.11
+++ DetectorConverter.java 20 Apr 2007 00:16:54 -0000 1.12
@@ -7,6 +7,8 @@
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
+import org.lcsim.detector.DetectorElement;
+import org.lcsim.detector.IDetectorElement;
import org.lcsim.detector.ILogicalVolume;
import org.lcsim.detector.IPhysicalVolume;
import org.lcsim.detector.LogicalVolume;
@@ -65,10 +67,15 @@
// Create the default navigator.
PhysicalVolumeNavigatorStore.getInstance().reset();
PhysicalVolumeNavigatorStore.getInstance().createDefault(pvWorld);
- detector.setSupport("/");
+
+ IDetectorElement deDet = new DetectorElement(detector.getName(), null, "/");
+
+ detector.setDetectorElement( deDet );
+
+ //detector.setSupport("/");
// Construct the tracking volume.
- buildTrackingVolume(pvWorld.getLogicalVolume(), detector);
+ buildTrackingVolume( pvWorld.getLogicalVolume(), detector );
detector.setWorldVolume(pvWorld);
@@ -192,4 +199,4 @@
return pvWorld;
}
-}
+}
\ No newline at end of file
GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.7 -r1.8
--- DiskTrackerConverter.java 18 Apr 2007 00:05:27 -0000 1.7
+++ DiskTrackerConverter.java 20 Apr 2007 00:16:54 -0000 1.8
@@ -33,20 +33,20 @@
ILogicalVolume trackingVolume = detector.getTrackingVolume().getLogicalVolume();
DiskTracker tracker = (DiskTracker)subdet;
-
- subdet.setParent(detector);
+
+ subdet.setDetectorElement( new DetectorElement( subdet.getName(), detector.getDetectorElement() ) );
Layering layering = tracker.getLayering();
String name = tracker.getName();
DetectorElement endcapPos = new DiskTrackerDE(name + "_positive");
- endcapPos.setParent(tracker);
+ endcapPos.setParent(tracker.getDetectorElement());
DetectorElement endcapNeg=null;
if ( tracker.getReflect() )
{
endcapNeg = new DiskTrackerDE(name + "_negative");
- endcapNeg.setParent(tracker);
+ endcapNeg.setParent(tracker.getDetectorElement());
}
Rotation3D reflect = new Rotation3D();
@@ -73,7 +73,7 @@
LogicalVolume layerLV = new LogicalVolume(
name + "_layer" + i,
layerTube,
- detector.getGeometry().getLogicalVolume().getMaterial()
+ detector.getDetectorElement().getGeometry().getLogicalVolume().getMaterial()
);
// Layer in positive z.
GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.4 -r1.5
--- MultiLayerTrackerConverter.java 18 Apr 2007 00:05:27 -0000 1.4
+++ MultiLayerTrackerConverter.java 20 Apr 2007 00:16:54 -0000 1.5
@@ -29,7 +29,7 @@
ILogicalVolume trackingVolume =
detector.getTrackingVolume().getLogicalVolume();
- tracker.setParent(detector);
+ tracker.setDetectorElement( new DetectorElement( subdet.getName(), detector.getDetectorElement() ) );
Layering layering = tracker.getLayering();
@@ -50,7 +50,7 @@
layerOuterZ
);
- IMaterial layerMaterial = detector.getGeometry().getLogicalVolume().getMaterial();
+ IMaterial layerMaterial = detector.getDetectorElement().getGeometry().getLogicalVolume().getMaterial();
LogicalVolume layerLV = new LogicalVolume(
name + "_layer" + i,
@@ -99,7 +99,7 @@
if ( slice.isSensitive() )
{
String path = "/tracking_region/" + name + "_layer" +i + "/slice" + j;
- new MultiLayerTrackerSensorLayer(name + "_layer" + layerNumber, tracker, path);
+ new MultiLayerTrackerSensorLayer(name + "_layer" + layerNumber, tracker.getDetectorElement(), path);
++layerNumber;
}
GeomConverter/src/org/lcsim/detector/converter/compact
diff -u -r1.6 -r1.7
--- SiTrackerBarrelConverter.java 11 Apr 2007 20:34:14 -0000 1.6
+++ SiTrackerBarrelConverter.java 20 Apr 2007 00:16:54 -0000 1.7
@@ -24,6 +24,9 @@
import org.lcsim.detector.solids.Box;
import org.lcsim.detector.solids.ISolid;
import org.lcsim.detector.solids.Tube;
+import org.lcsim.detector.tracker.silicon.SiSensor;
+import org.lcsim.detector.tracker.silicon.SiTrackerBarrelLayer;
+import org.lcsim.detector.tracker.silicon.SiTrackerBarrelModule;
import org.lcsim.geometry.compact.Detector;
import org.lcsim.geometry.compact.Subdetector;
import org.lcsim.geometry.subdetector.SiTrackerBarrel;
@@ -34,7 +37,9 @@
public void convert( Subdetector subdet, Detector detector)
{
//System.out.println("SiTrackerBarrelConverter.convert");
-
+
+ subdet.setDetectorElement( new DetectorElement( subdet.getName(), detector.getDetectorElement() ) );
+
Map<String, ILogicalVolume> modules = buildModules(subdet);
try {
@@ -46,8 +51,6 @@
}
setupSensorDetectorElements(subdet);
-
- subdet.setParent(detector);
}
private Map<String, ILogicalVolume> buildModules(Subdetector subdet)
@@ -268,9 +271,9 @@
nlayer);
// Layer DE.
- String layerPath = "/tracking_region/" + layer_name;
+ String layerPath = "/tracking_region/" + layer_name;
IDetectorElement layerDE =
- new SiTrackerBarrelLayer(layer_name, subdet, layerPath, nlayer);
+ new SiTrackerBarrelLayer(layer_name, subdet.getDetectorElement(), layerPath, nlayer);
// Get the rphi_layout element.
Element rphi_layout = layer_element.getChild("rphi_layout");
@@ -461,7 +464,7 @@
{
//System.out.println("setupDetectorElements");
int sensorID=0;
- for ( IDetectorElement layer : subdet.getChildren() )
+ for ( IDetectorElement layer : subdet.getDetectorElement().getChildren() )
{
for ( IDetectorElement module : layer.getChildren() )
{
@@ -479,94 +482,11 @@
//System.out.println("path : " + modulePath.toString() + "/" + pv.getName());
String sensorPath = modulePath.toString() + "/" + pv.getName();
String sensorName = subdet.getName() + "_sensor" + sensorID;
- new SiTrackerBarrelSensor(sensorName, module, sensorPath);
+ new SiSensor(sensorID, sensorName, module, sensorPath);
++sensorID;
}
}
}
}
}
-
- /**
- * Dummy DetectorElement for an SiTrackerBarrel sensor.
- *
- * @todo Replace with a real sensor DetectorElement.
- */
- public class SiTrackerBarrelSensor extends DetectorElement
- {
- int sensorID;
-
- SiTrackerBarrelSensor(String name,
- IDetectorElement parent,
- String path)
- {
- super(name, parent, path);
- //System.out.println(name + " : " + path);
- }
-
- public void setSensorID(int sensorID)
- {
- this.sensorID = sensorID;
- }
- }
-
- /**
- *
- * Dummy DetectorElement for an SiTrackerBarrel layer.
- *
- * @todo Replace with a real layer DetectorElement.
- */
- public class SiTrackerBarrelLayer
- extends DetectorElement
- {
- private int layerNumber;
- SiTrackerBarrelLayer(
- String name,
- IDetectorElement parent,
- String path,
- int layerNumber)
- {
- super(name,parent,path);
- this.layerNumber = layerNumber;
- }
-
- public int getLayerNumber()
- {
- return layerNumber;
- }
- }
-
- /**
- *
- * Dummy DetectorElement for an SiTrackerBarrel module.
- *
- * @todo Replace with a real layer DetectorElement.
- */
- public class SiTrackerBarrelModule extends DetectorElement
- {
- private int phiNumber;
- private int zNumber;
-
- SiTrackerBarrelModule(String name,
- IDetectorElement parent,
- String path,
- int phiNumber,
- int zNumber)
- {
- super(name, parent, path);
- this.phiNumber = phiNumber;
- this.zNumber = zNumber;
- //System.out.println(name + " : " + path);
- }
-
- public int getPhiNumber()
- {
- return phiNumber;
- }
-
- public int getZNumber()
- {
- return zNumber;
- }
- }
}
\ No newline at end of file
GeomConverter/src/org/lcsim/detector/tracker/silicon
diff -N SiTrackerBarrelLayer.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ SiTrackerBarrelLayer.java 20 Apr 2007 00:16:54 -0000 1.1
@@ -0,0 +1,27 @@
+package org.lcsim.detector.tracker.silicon;
+
+import org.lcsim.detector.DetectorElement;
+import org.lcsim.detector.IDetectorElement;
+
+/**
+ * DetectorElement for an SiTrackerBarrel layer.
+ */
+public class SiTrackerBarrelLayer
+extends DetectorElement
+{
+ private int layerNumber;
+ public SiTrackerBarrelLayer(
+ String name,
+ IDetectorElement parent,
+ String path,
+ int layerNumber)
+ {
+ super(name,parent,path);
+ this.layerNumber = layerNumber;
+ }
+
+ public int getLayerNumber()
+ {
+ return layerNumber;
+ }
+}
\ No newline at end of file
GeomConverter/src/org/lcsim/detector/tracker/silicon
diff -N SiTrackerBarrelModule.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ SiTrackerBarrelModule.java 20 Apr 2007 00:16:54 -0000 1.1
@@ -0,0 +1,37 @@
+package org.lcsim.detector.tracker.silicon;
+
+import org.lcsim.detector.DetectorElement;
+import org.lcsim.detector.IDetectorElement;
+
+/**
+ *
+ * DetectorElement for an SiTrackerBarrel module.
+ *
+ */
+public class SiTrackerBarrelModule extends DetectorElement
+{
+ private int phiNumber;
+ private int zNumber;
+
+ public SiTrackerBarrelModule(String name,
+ IDetectorElement parent,
+ String path,
+ int phiNumber,
+ int zNumber)
+ {
+ super(name, parent, path);
+ this.phiNumber = phiNumber;
+ this.zNumber = zNumber;
+ //System.out.println(name + " : " + path);
+ }
+
+ public int getPhiNumber()
+ {
+ return phiNumber;
+ }
+
+ public int getZNumber()
+ {
+ return zNumber;
+ }
+}
\ No newline at end of file
GeomConverter/src/org/lcsim/geometry
diff -u -r1.33 -r1.34
--- Detector.java 9 Apr 2007 05:04:28 -0000 1.33
+++ Detector.java 20 Apr 2007 00:16:54 -0000 1.34
@@ -8,7 +8,6 @@
import hep.graphics.heprep.HepRepTypeTree;
import org.jdom.Element;
-import org.lcsim.detector.IDetectorElement;
import org.lcsim.geometry.compact.Field;
import org.lcsim.geometry.compact.Readout;
import org.lcsim.geometry.field.FieldOverlay;
@@ -19,9 +18,9 @@
*/
public class Detector
extends org.lcsim.geometry.compact.Detector
-implements HepRepProvider, IDetectorElement
+implements HepRepProvider
{
- private FieldOverlay fieldOverlay = new FieldOverlay();
+ private FieldOverlay fieldOverlay = new FieldOverlay();
protected Detector(Element node)
{
@@ -106,4 +105,5 @@
}
}
}
+
}
\ No newline at end of file
GeomConverter/src/org/lcsim/geometry
diff -u -r1.16 -r1.17
--- Subdetector.java 18 Apr 2007 00:07:47 -0000 1.16
+++ Subdetector.java 20 Apr 2007 00:16:54 -0000 1.17
@@ -1,16 +1,16 @@
package org.lcsim.geometry;
-import org.jdom.Element;
import org.lcsim.detector.IDetectorElement;
import org.lcsim.geometry.compact.ParameterSet;
import org.lcsim.geometry.compact.VisAttributes;
import org.lcsim.geometry.layer.Layering;
/**
- * @author jeremym
+ * @author Jeremy McCormick <[log in to unmask]>
+ * @author Tony Johnson <[log in to unmask]>
*/
public interface Subdetector
-extends IDetectorElement
+//extends IDetectorElement
{
//public String getName();
public int getSystemID();
@@ -26,4 +26,6 @@
public boolean isEndcap();
public double[] transformLocalToGlobal(double[] localPos);
-}
+
+ public IDetectorElement getDetectorElement();
+}
\ No newline at end of file
GeomConverter/src/org/lcsim/geometry/compact
diff -u -r1.21 -r1.22
--- Detector.java 9 Apr 2007 05:04:29 -0000 1.21
+++ Detector.java 20 Apr 2007 00:16:54 -0000 1.22
@@ -5,7 +5,7 @@
import java.util.Set;
import org.jdom.Element;
-import org.lcsim.detector.DetectorElement;
+import org.lcsim.detector.IDetectorElement;
import org.lcsim.detector.IPhysicalVolume;
import org.lcsim.detector.IPhysicalVolumeNavigator;
import org.lcsim.detector.PhysicalVolumeNavigator;
@@ -16,7 +16,6 @@
* @author tonyj
*/
public class Detector
-extends DetectorElement
{
private Header header;
private Map<String,Constant> constants = new HashMap<String,Constant>();
@@ -33,6 +32,8 @@
private IPhysicalVolume worldVolume;
private IPhysicalVolume trackingVolume;
private IPhysicalVolumeNavigator navigator;
+
+ private IDetectorElement de;
/**
* Called by the reader to create a new Detector
@@ -40,7 +41,7 @@
*/
protected Detector(Element element)
{
- super(element == null ? "ImNotReallyADetectorElement" : element.getChild("info").getAttributeValue("name"));
+ //super(element == null ? "ImNotReallyADetectorElement" : element.getChild("info").getAttributeValue("name"));
materialMgr = XMLMaterialManager.create(XMLMaterialManager.materials() );
}
@@ -237,5 +238,15 @@
public Map<String,VisAttributes> getVisAttributes()
{
return display;
- }
+ }
+
+ public IDetectorElement getDetectorElement()
+ {
+ return de;
+ }
+
+ public void setDetectorElement(IDetectorElement de)
+ {
+ this.de = de;
+ }
}
\ No newline at end of file
GeomConverter/src/org/lcsim/geometry/compact
diff -u -r1.17 -r1.18
--- Subdetector.java 9 Apr 2007 21:05:30 -0000 1.17
+++ Subdetector.java 20 Apr 2007 00:16:54 -0000 1.18
@@ -3,9 +3,9 @@
import org.jdom.Attribute;
import org.jdom.Element;
import org.jdom.JDOMException;
-import org.lcsim.geometry.layer.Layering;
+import org.lcsim.detector.IDetectorElement;
import org.lcsim.geometry.IDDecoder;
-import org.lcsim.detector.DetectorElement;
+import org.lcsim.geometry.layer.Layering;
/**
*
@@ -15,7 +15,7 @@
* @author Jeremy McCormick <[log in to unmask]>
*/
public class Subdetector
-extends DetectorElement
+//extends DetectorElement
implements org.lcsim.geometry.Subdetector
{
private boolean reflect;
@@ -25,10 +25,11 @@
private ParameterSet _parameters;
private VisAttributes vis;
private Element node;
+ private IDetectorElement de;
protected Subdetector(Element element) throws JDOMException
{
- super(element.getAttributeValue("name"));
+ //super(element.getAttributeValue("name"));
node = element;
@@ -139,4 +140,14 @@
{
return node;
}
-}
+
+ public IDetectorElement getDetectorElement()
+ {
+ return de;
+ }
+
+ public void setDetectorElement(IDetectorElement de)
+ {
+ this.de = de;
+ }
+}
\ No newline at end of file
GeomConverter/test/org/lcsim/detector/converter/compact
diff -u -r1.7 -r1.8
--- DetectorConverterTest.java 24 Mar 2007 01:23:45 -0000 1.7
+++ DetectorConverterTest.java 20 Apr 2007 00:16:54 -0000 1.8
@@ -63,12 +63,11 @@
// Check that the world volume does not have a mother volume.
assertTrue("World volume has a mother!", world.getMotherLogicalVolume() == null);
- IDetectorElement deDetector = (IDetectorElement)detector;
+ IDetectorElement deDetector = detector.getDetectorElement();
String des[] = new String[]{
"ecal_barrel",
- "ecal_endcap_positive",
- "ecal_endcap_negative",
+ "ecal_endcap",
"tracker"};
// Check for top-level DEs that should have been built.
@@ -120,7 +119,7 @@
//System.out.println("ecn="+ecn.getTopVolume().getName());
//System.out.println("ecn trans="+ecn.getTopVolume().getTransform());
- for ( IDetectorElement child : detector.getChildren() )
+ for ( IDetectorElement child : detector.getDetectorElement().getChildren() )
{
for ( IDetectorElement sensor : child.getChildren() )
{
GeomConverter/test/org/lcsim/detector/converter/compact
diff -u -r1.3 -r1.4
--- DiskTrackerTest.java 30 Mar 2007 23:43:35 -0000 1.3
+++ DiskTrackerTest.java 20 Apr 2007 00:16:54 -0000 1.4
@@ -120,7 +120,7 @@
path.toString().equals(pathAnswerKey[i])
);
- IDetectorElement srch = detector.findDetectorElement(zpoint);
+ IDetectorElement srch = detector.getDetectorElement().findDetectorElement(zpoint);
assertTrue("Wrong path <" + path.toString() + "> at z = " + zpoints[i] + ". Expected <" + pathAnswerKey[i] + ">.",
srch.getName().equals(deAnswerKey[i]));
CVSspam 0.2.8