GeomConverter/src/org/lcsim/detector/converter/heprep
diff -u -r1.3 -r1.4
--- DetectorElementToHepRepConverter.java 29 Mar 2007 22:28:11 -0000 1.3
+++ DetectorElementToHepRepConverter.java 9 Apr 2007 23:19:50 -0000 1.4
@@ -17,20 +17,21 @@
public class DetectorElementToHepRepConverter
{
- public void convert(IDetectorElement detelem, HepRepFactory factory, HepRep heprep)
+ public static void convert(IDetectorElement detelem, HepRepFactory factory, HepRep heprep, boolean recurse)
{
HepRepInstanceTree instanceTree = heprep.getInstanceTreeTop("Detector","1.0");
HepRepTypeTree typeTree = heprep.getTypeTree("DetectorType","1.0");
if ( detelem.hasGeometryInfo() )
{
-
+ //System.out.println("hasGeometryInfo");
+
IGeometryInfo geo = detelem.getGeometry();
ISolid solid = geo.getLogicalVolume().getSolid();
if ( solid instanceof Box )
- {
+ {
Box box = (Box)geo.getLogicalVolume().getSolid();
HepRepType ec = typeTree.getType("Barrel");
@@ -108,5 +109,18 @@
System.err.println("IDetectorElementToHepRepConverter - Don't know how to convert shape : " + solid.getName());
}
}
+ /*
+ else {
+ System.out.println("!!!!! no geometry info for " + detelem.getName() + " !!!!!");
+ }*/
+
+ if ( detelem.hasChildren() )
+ {
+ for ( IDetectorElement child : detelem.getChildren() )
+ {
+ //System.out.println("recursing to " + child.getName());
+ DetectorElementToHepRepConverter.convert(child, factory, heprep, true);
+ }
+ }
}
-}
+}
\ No newline at end of file