Print

Print


Author: [log in to unmask]
Date: Tue Dec 16 21:16:10 2014
New Revision: 3460

Log:
Make modules ghosts. Fix printouts.

Modified:
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014GeometryDefinition.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014LCDDBuilder.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014LCDDBuilder.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerBuilder.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerGeometryDefinition.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/JavaSurveyVolume.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/LCDDGhostSurveyVolume.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/LCDDSurveyVolume.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolume.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolumeImpl.java
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014Base.java

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014GeometryDefinition.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014GeometryDefinition.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014GeometryDefinition.java	Tue Dec 16 21:16:10 2014
@@ -1736,9 +1736,6 @@
         TestRunHalfModuleBundle(SurveyVolume hm) {         
             super(hm);
         }
-        public void print() {
-            System.out.printf("%s: %s\n", this.getClass().getSimpleName(),halfModule.getName());
-        }
     }
 
 

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014LCDDBuilder.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014LCDDBuilder.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014LCDDBuilder.java	Tue Dec 16 21:16:10 2014
@@ -146,7 +146,7 @@
 	 * @param bundle - module to be added
 	 * @param mother - mother LCDD geometry object
 	 */
-	private void addTestRunHalfModule(HalfModuleBundle bundle2, LCDDSurveyVolume mother) {
+	protected void addTestRunHalfModule(HalfModuleBundle bundle2, LCDDSurveyVolume mother) {
 		// This could perhaps be fixed if there is a relation with daughters in geometry definition?
 	    TestRunHalfModuleBundle bundle = (TestRunHalfModuleBundle) bundle2;
 	    

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014GeometryDefinition.java	Tue Dec 16 21:16:10 2014
@@ -16,7 +16,6 @@
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.HalfModuleLamination;
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.Sensor;
 import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.TestRunHalfModule;
-import org.lcsim.geometry.compact.converter.HPSTrackerBuilder.HalfModuleBundle;
 
 
 /**
@@ -120,10 +119,16 @@
 
         if(isDebug()) {
             System.out.printf("%s: DONE constructing the geometry objects\n", this.getClass().getSimpleName());
-            System.out.printf("%s: List of all the geometry objects built\n", this.getClass().getSimpleName());
+            System.out.printf("%s: List of the survey volumes built\n", this.getClass().getSimpleName());
             for(SurveyVolume bg : surveyVolumes) {
                 System.out.printf("-------\n%s\n", bg.toString());
             }
+            System.out.printf("%s: List of the module bundles built\n", this.getClass().getSimpleName());
+            for(BaseModuleBundle bundle : this.modules) {
+                System.out.printf("-------\n%s\n", bundle.toString());
+                
+            }
+            
         }
 
     }
@@ -2039,7 +2044,7 @@
             super(m);
         }
         public void print() {
-            if(module!=null) System.out.printf("%s: %s\n", this.getClass().getSimpleName(),module.getName());
+            if(module!=null) System.out.printf("%s: %s\n", this.getClass().getSimpleName(),module.toString());
             if(halfModuleAxialHole!=null) halfModuleAxialHole.print();
             if(halfModuleAxialSlot!=null) halfModuleAxialSlot.print();
             if(coldBlock!=null)System.out.printf("%s: %s\n", this.getClass().getSimpleName(),coldBlock.getName());
@@ -2059,9 +2064,6 @@
         }
         public LongHalfModuleBundle(SurveyVolume hm) {
             super(hm);
-        }
-        public void print() {
-            System.out.printf("%s: %s\n", this.getClass().getSimpleName(),halfModule.getName());
         }
     }
     

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014LCDDBuilder.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014LCDDBuilder.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014LCDDBuilder.java	Tue Dec 16 21:16:10 2014
@@ -1,6 +1,7 @@
 package org.lcsim.geometry.compact.converter;
 
 import org.jdom.Element;
+import org.lcsim.geometry.compact.converter.HPSTestRunTracker2014GeometryDefinition.TestRunHalfModuleBundle;
 import org.lcsim.geometry.compact.converter.HPSTracker2014GeometryDefinition.LongHalfModuleBundle;
 import org.lcsim.geometry.compact.converter.HPSTracker2014GeometryDefinition.LongModuleBundle;
 import org.lcsim.geometry.compact.converter.HPSTracker2014GeometryDefinition.PSVacuumChamber;
@@ -170,9 +171,8 @@
      * @param mother - mother LCDD geometry object
      */
     protected void addLongModule(LongModuleBundle bundle, LCDDSurveyVolume mother) {
-        // This could perhaps be fixed if there is a relation with daughters in geometry definition?
-        // create the module
-        LCDDSurveyVolume lcddM = new LCDDSurveyVolume(bundle.module, lcdd, mother);
+        LCDDSurveyVolume lcddM = new LCDDGhostSurveyVolume(bundle.module, mother);
+        //LCDDSurveyVolume lcddM = new LCDDSurveyVolume(bundle.module, lcdd, mother);
         add(lcddM);
         if(bundle.halfModuleAxialHole!=null)  addLongHalfModule(bundle.halfModuleAxialHole,lcddM);
         if(bundle.halfModuleAxialSlot!=null)  addLongHalfModule(bundle.halfModuleAxialSlot,lcddM);
@@ -180,6 +180,25 @@
         if(bundle.halfModuleStereoHole!=null)  addLongHalfModule(bundle.halfModuleStereoHole,lcddM);
         if(bundle.halfModuleStereoSlot!=null)  addLongHalfModule(bundle.halfModuleStereoSlot,lcddM);
     }
+    
+    
+    
+    /**
+     * Rules for adding the LCDD module geometry.
+     * @param bundle - module to be added
+     * @param mother - mother LCDD geometry object
+     */
+    protected void addTestRunModule(TestRunModuleBundle bundle, LCDDSurveyVolume mother) {
+        // This could perhaps be fixed if there is a relation with daughters in geometry definition?
+        // create the module
+        LCDDSurveyVolume lcddM = new LCDDGhostSurveyVolume(bundle.module, mother);
+        //SurveyVolume(bundle.module, lcdd, mother);
+        add(lcddM);
+        if(bundle.halfModuleAxial!=null)  addTestRunHalfModule(bundle.halfModuleAxial,lcddM);
+        if(bundle.coldBlock!=null)        add(new LCDDSurveyVolume(bundle.coldBlock, lcdd, lcddM));     
+        if(bundle.halfModuleStereo!=null) addTestRunHalfModule((TestRunHalfModuleBundle)bundle.halfModuleStereo,lcddM);
+    }
+
     
     
     /**

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerBuilder.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerBuilder.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerBuilder.java	Tue Dec 16 21:16:10 2014
@@ -197,7 +197,10 @@
         }
         public HalfModuleBundle() {
         }
-        abstract public void print();
+        public void print() {
+            System.out.printf("%s: %s\n", this.getClass().getSimpleName(),halfModule.toString());
+            System.out.printf("%s: %s\n", this.getClass().getSimpleName(),activeSensor.toString());
+        }
     }
 	
 	
@@ -440,7 +443,7 @@
      * @return transformed vector.
      */
     public static Hep3Vector transformToParent(Hep3Vector vec, SurveyVolume geometry, String targetName) {
-        int debug =0;
+        int debug = 0;
         if(debug>0) System.out.printf("\ntransformToParent: vec %s in local coordiantes of %s\n", vec.toString(), geometry.getName());
         if(geometry.getMother()==null) {
             if(debug>0) System.out.printf("\ntransformToParent: no mother, return null\n", vec.toString(), geometry.getName());

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerGeometryDefinition.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerGeometryDefinition.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerGeometryDefinition.java	Tue Dec 16 21:16:10 2014
@@ -287,7 +287,7 @@
            super(m);
         }
         public void print() {
-            if(module!=null) System.out.printf("%s: %s\n", this.getClass().getSimpleName(),module.getName());
+            if(module!=null) System.out.printf("%s: %s\n", this.getClass().getSimpleName(),module.toString());
             if(halfModuleAxial!=null) halfModuleAxial.print();
             if(coldBlock!=null)System.out.printf("%s: %s\n", this.getClass().getSimpleName(),coldBlock.getName());
             if(halfModuleStereo!=null) halfModuleStereo.print();

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/JavaSurveyVolume.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/JavaSurveyVolume.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/JavaSurveyVolume.java	Tue Dec 16 21:16:10 2014
@@ -26,7 +26,7 @@
  * @author Per Hansson Adrian <[log in to unmask]>
  */
 public class JavaSurveyVolume {
-	private boolean debug = false;
+	private boolean debug = true;
 	private String name;
 	private Box box= null;
 	private ILogicalVolume volume = null;

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/LCDDGhostSurveyVolume.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/LCDDGhostSurveyVolume.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/LCDDGhostSurveyVolume.java	Tue Dec 16 21:16:10 2014
@@ -23,6 +23,7 @@
 		if(isDebug()) System.out.printf("%s: constructing LCDD ghost object %s with mother %s\n", this.getClass().getSimpleName(),base.getName(),mother==null?"null":mother.getName());
 		setName(base.getName());
 		setMother(mother);
+		mother.addDaughter(this);
 		if(isDebug()) System.out.printf("%s: DONE constructing LCDD object %s\n", this.getClass().getSimpleName(),base.getName());
 	}
 	

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/LCDDSurveyVolume.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/LCDDSurveyVolume.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/LCDDSurveyVolume.java	Tue Dec 16 21:16:10 2014
@@ -9,6 +9,7 @@
 import java.util.Map;
 
 import org.jdom.JDOMException;
+import org.lcsim.detector.PhysicalVolume;
 import org.lcsim.detector.Transform3D;
 import org.lcsim.geometry.compact.converter.lcdd.util.Box;
 import org.lcsim.geometry.compact.converter.lcdd.util.LCDD;
@@ -78,8 +79,12 @@
 
 	
 	public void buildPhysVolume() {
-		if(isDebug()) System.out.printf("%s: build phys volume for %s\n", this.getClass().getSimpleName(),getName());
-		setPhysVolume(new PhysVol(volume, getMother().getVolume(), getPos(), getRot()));
+
+	    if(isDebug()) System.out.printf("%s: build phys volume for %s with mother %s and physical mother %s\n", this.getClass().getSimpleName(),getName(),getMother().getName(),getPhysMother().getName());
+	    LCDDSurveyVolume physMother =  getPhysMother();
+	    setPhysVolume(new PhysVol(volume, physMother.getVolume(), getPos(), getRot()));
+	    //if(isDebug()) System.out.printf("%s: build phys volume for %s\n", this.getClass().getSimpleName(),getName());
+		//setPhysVolume(new PhysVol(volume, getMother().getVolume(), getPos(), getRot()));
 	}
 	public void buildBox(SurveyVolume base) {
 		if(isDebug()) System.out.printf("%s: build box for %s\n", this.getClass().getSimpleName(),getName());

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolume.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolume.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolume.java	Tue Dec 16 21:16:10 2014
@@ -2,6 +2,7 @@
 
 import hep.physics.vec.BasicHep3Vector;
 import hep.physics.vec.Hep3Vector;
+import hep.physics.vec.VecOp;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -18,7 +19,7 @@
 	protected boolean debug = true;
 	private String name;
 	private String material = "Vacuum";
-	private SurveyVolume mother;
+	private SurveyVolume mother = null;
 	protected List<SurveyVolume> referenceGeom = null;
 	private SurveyCoordinateSystem coord;
 	protected  Hep3Vector ballPos;
@@ -61,10 +62,14 @@
 		setBoxDim();
 		applyGenericCoordinateSystemCorrections();
 		applyLocalAlignmentCorrections();
-        if(debug) System.out.printf("%s: init of SurveyVolume %s DONE\n",this.getClass().getSimpleName(),getName());
-	}
-
-	protected void applyGenericCoordinateSystemCorrections() {
+		if(debug) {
+		    //printCoordInfo();
+		    System.out.printf("%s: init of SurveyVolume %s DONE\n",this.getClass().getSimpleName(),getName());            
+		}
+	}
+	
+
+    protected void applyGenericCoordinateSystemCorrections() {
 	    //do nothing here unless overridden
 	   
 	}
@@ -295,11 +300,32 @@
 		this.material = material;
 	}
 	public String toString() {
-		String s = "==\n" + getName() + ":\n";
-		if(getCenter()!=null) s += "Center of box: " + getCenter().toString() + "\n";
+		String s = "==\n" + getName() + " with mother " + (getMother()==null?"<no mother>":getMother().getName()) + ":\n";
+		if( getCenter()!=null) s += "Center of box: " + getCenter().toString() + "\n";
         if( getBoxDim()!=null) s += "Box dimensions: " + getBoxDim().toString() + "\n";
-		s += "Coordinate system:\n" + getCoord().toString() + "\n";
+		if(this.coord==null)   s += " No coord system \n";
+		else s += "Coordinate system:" + getCoord().toString() + "\n";
+		SurveyVolume m = getMother();
+		while(m!=null) {    
+            Hep3Vector origin_m = HPSTrackerBuilder.transformToParent(new BasicHep3Vector(0, 0, 0), this, m.getName());
+            s += String.format("%s origin in %s : %s (mm)\n",getName(), m.getName(), origin_m.toString());            
+            origin_m = VecOp.mult(0.0393701, origin_m);
+            s += String.format("%s origin in %s : (%.4f %.4f %.4f) (inch)\n",getName(), m.getName(), origin_m.x(),origin_m.y(),origin_m.z());            
+            m = m.getMother();
+		}
+		
 		return s;
 	}
 	
+//	private void printCoordInfo() {
+//	    if(debug) {
+//	        SurveyVolume m = getMother();
+//	        while(m!=null) {    
+//	            Hep3Vector origin_m = HPSTrackerBuilder.transformToParent(getCoord().origin(), this, m.getName());
+//	            System.out.printf("%s: %s final coord system in %s : %s\n",this.getClass().getSimpleName(),getName(), getMother()==null?" <no mother> ":getMother().getName(),getCoord().toString());            
+//	        }
+//	        System.out.printf("%s: init of SurveyVolume %s DONE\n",this.getClass().getSimpleName(),getName());            
+//	    }
+//	}
+	
 }

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolumeImpl.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolumeImpl.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyVolumeImpl.java	Tue Dec 16 21:16:10 2014
@@ -2,7 +2,7 @@
 
 public abstract class SurveyVolumeImpl extends SurveyVolumeVisualization {
 
-    private boolean debug = false;
+    private boolean debug = true;
     private String name;
 
     public SurveyVolumeImpl() {

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014Base.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014Base.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014Base.java	Tue Dec 16 21:16:10 2014
@@ -155,49 +155,57 @@
         
         if(_debug) System.out.printf("%s: adding %s to LCDD\n", getClass().getSimpleName(),lcddObj.getName());
 
-        boolean doAdd = true;
-        if(lcddObj.getName().contains("tracking")) doAdd=false;
-        
-        if(doAdd) {
-
-            // only world/tracking volume can be ghost here?!
-            if(lcddObj instanceof LCDDGhostSurveyVolume ) {
-                System.out.printf("%s: trying to add a ghost volume: %s ??\n", getClass().getSimpleName(),lcddObj.getName());
-                throw new RuntimeException("adding a ghost volume (" + lcddObj.getName() + ") to LCDD is not allowed.");
+        boolean validLCDD = true;
+        
+        if(lcddObj instanceof LCDDGhostSurveyVolume) {
+        
+            if(_debug) System.out.printf("%s: %s is a ghost volume, don't add to LCDD\n", getClass().getSimpleName(),lcddObj.getName());
+            validLCDD = false;
+            
+        } else {
+
+            // Special case for top level volume which is a non-ghost but is already there.
+            if(lcddObj.getName().contains("tracking")) {
+            
+                if(_debug) System.out.printf("%s: %s is the tracking volume, don't add to LCDD\n", getClass().getSimpleName(),lcddObj.getName());
+                validLCDD = false;
+                    
+            } else {
+
+                //X-check
+                if(lcddObj instanceof LCDDGhostSurveyVolume )
+                    throw new RuntimeException("trying to add a ghost volume (" + lcddObj.getName() + ") to LCDD!?");
+                
+                // add box, pos, rotation and create phys volume
+                lcdd.add(lcddObj.getBox());
+                lcdd.add(lcddObj.getPos());
+                lcdd.add(lcddObj.getRot());
+                lcddObj.buildPhysVolume();
+
+                // setup the properties of the phys volume
+                try {
+                    setPhysicalVolumeProperties(lcddObj, sd);
+                } catch (DataConversionException e) {
+                    e.printStackTrace();
+                }
             }
-            // add box, pos, rotation and create phys volume
-            lcdd.add(lcddObj.getBox());
-            lcdd.add(lcddObj.getPos());
-            lcdd.add(lcddObj.getRot());
-            lcddObj.buildPhysVolume();
-            // Set the phys volume Id's
-            // Since the builder don't have access to the system ID
-            // I keep the phys volume ID's outside. I think these 
-            // should belong to the builder to avoid repeating it in 
-            // the java converter
-            // TODO move this to the builder for each volume
-            try {
-                setPhysicalVolumeProperties(lcddObj, sd);
-            } catch (DataConversionException e) {
-                e.printStackTrace();
-            }
-        } else {
-            if(_debug) System.out.printf("%s:  skip building anything (name=%s)\n", getClass().getSimpleName(),lcddObj.getName());
-        }
-        
-        // add daughters
+        }
+        
+        // add daughters to this volume
+        
         if(_debug) System.out.printf("%s: add %d daughters to %s\n", getClass().getSimpleName(),lcddObj.getDaughters().size(),lcddObj.getName());
+
         for(LCDDSurveyVolume daughter : lcddObj.getDaughters()) {
             setupPhysicalVolumes(daughter,lcdd, sd);
         }
         
         // finally add volume
-        if(doAdd) {
+        if(validLCDD) {
             if(_debug) System.out.printf("%s: adding volume %s\n", getClass().getSimpleName(),lcddObj.getName());
             if(!lcddObj.getVisName().isEmpty()) lcddObj.getVolume().setVisAttributes(lcdd.getVisAttributes(lcddObj.getVisName()));
             lcdd.add(lcddObj.getVolume());
         } else {
-            if(_debug) System.out.printf("%s: skip adding volume %s\n", getClass().getSimpleName(),lcddObj.getName());
+            if(_debug) System.out.printf("%s: don't add volume %s\n", getClass().getSimpleName(),lcddObj.getName());
         }
         if(_debug) System.out.printf("%s: DONE adding %s\n", getClass().getSimpleName(),lcddObj.getName());
     }

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1