Commit in projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact on MAIN | |||
HPSTestRunTracker2014Converter.java | +2 | -1 | 3323 -> 3324 |
HPSTestRunTracker2014Dev1JavaBuilder.java | +106 | added 3324 | |
HPSTestRunTracker2014JavaBuilder.java | +26 | -18 | 3323 -> 3324 |
HPSTestRunTracker2014Test1JavaBuilder.java | +21 | -7 | 3323 -> 3324 |
+155 | -26 |
New devel test geom. Restructuring.
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTestRunTracker2014Converter.java 2014-09-16 22:04:11 UTC (rev 3323) +++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTestRunTracker2014Converter.java 2014-09-17 03:16:00 UTC (rev 3324) @@ -64,7 +64,8 @@
if(_debug) System.out.printf("%s: convert %s \n", getClass().getSimpleName(), subdet.getName()); //builder = new HPSTestRunTracker2014JavaBuilder(_debug);
- builder = new HPSTestRunTracker2014Test1JavaBuilder(_debug);
+ //builder = new HPSTestRunTracker2014Test1JavaBuilder(_debug);
+ builder = new HPSTestRunTracker2014Dev1JavaBuilder(_debug);
// check tracking material trackingMaterial = MaterialStore.getInstance().get("Vacuum");
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTestRunTracker2014Dev1JavaBuilder.java (rev 0) +++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTestRunTracker2014Dev1JavaBuilder.java 2014-09-17 03:16:00 UTC (rev 3324) @@ -0,0 +1,106 @@
+/** + * + */ +package org.lcsim.detector.converter.compact; + +import org.lcsim.detector.ILogicalVolume; +import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014Dev1Builder; +import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.ActiveSensor; +import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.BaseGeometry; +import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.Sensor; +import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.TestRunHalfModuleAxial; +import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.TrackingBase; +import org.lcsim.geometry.compact.converter.lcdd.HPSTrackerJavaBuilder; + + +/** + * Class used by java converter to build java run time objects for the detector + * It encapsulates and adds the LCDD specific information to the generic @HPSTestRunTracker2014Builder. + * + * @author Per Hansson Adrian <[log in to unmask]> + * + */ +public class HPSTestRunTracker2014Dev1JavaBuilder extends HPSTrackerJavaBuilder { + + + + /** + * Default constructor + */ + public HPSTestRunTracker2014Dev1JavaBuilder(boolean debugFlag) { + super(debugFlag); + } + + + + /** + * Build the JAVA geometry objects from the geometry definition. + * @param trackingVolume - the reference volume. + */ + public void build(ILogicalVolume trackingVolume) { + + // build geometry + setBuilder(new HPSTestRunTracker2014Dev1Builder(this._debug)); + + if(_builder==null) throw new RuntimeException("need to set builder class before calling build!"); + + if(isDebug()) System.out.printf("%s: build the base geometry objects\n", getClass().getSimpleName()); + + _builder.build(); + + if(isDebug()) System.out.printf("%s: DONE build the base geometry objects\n", getClass().getSimpleName()); + + if(isDebug()) System.out.printf("%s: build the JAVA geometry objects\n", getClass().getSimpleName()); + + + // Go through the list of volumes to build that is created in the generic builder class + JavaBaseGeometry trackingGeometry = new JavaBaseGeometry(_builder.getBaseGeometry(TrackingBase.class), trackingVolume); + add(trackingGeometry); + setBaseTrackerGeometry(trackingGeometry); + + // build modules + + if(isDebug()) System.out.printf("%s: build JAVA modules\n", getClass().getSimpleName()); + + + int oldCompactModuleId = 0; + JavaBaseGeometry lcddHM = new JavaBaseGeometry(_builder.getBaseGeometry(TestRunHalfModuleAxial.class), getBaseTrackerGeometry(),oldCompactModuleId); + add(lcddHM); + + // ComponentNumber is taken from old geometry where it is simply a counter when adding the xml daughters to the TestRunModule. + // It is simply 0 for sensor and 1 for carbon fiber in the old geometry + Sensor sensor = _builder.getBaseGeometry(Sensor.class); + int componentNumber = sensor.getId(); + + // create the sensor + JavaBaseGeometry lcddS = new JavaBaseGeometry(sensor, lcddHM, componentNumber); + add(lcddS); + + // create the active sensor + JavaBaseGeometry lcddAS = new JavaBaseGeometry(_builder.getBaseGeometry(ActiveSensor.class), lcddS, componentNumber); + add(lcddAS); + + + + if(isDebug()) System.out.printf("%s: DONE build JAVA modules\n", getClass().getSimpleName()); + + + if(isDebug()) System.out.printf("%s: DONE building the JAVA geometry objects\n", getClass().getSimpleName()); + //if(isDebug()) { + System.out.printf("%s: DONE building the JAVA geometry objects\n", getClass().getSimpleName()); + System.out.printf("%s: List of all the JAVA geometry objects built\n", this.getClass().getSimpleName()); + for(JavaBaseGeometry bg : java_objects) { + System.out.printf("-------\n%s\n", bg.toString()); + } + //} + + + // Set visualization features + //setVis(); + + + } + + + +}
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTestRunTracker2014JavaBuilder.java 2014-09-16 22:04:11 UTC (rev 3323) +++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTestRunTracker2014JavaBuilder.java 2014-09-17 03:16:00 UTC (rev 3324) @@ -6,6 +6,7 @@
import java.util.ArrayList; import org.lcsim.detector.ILogicalVolume;
+import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014Builder;
import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.Base; import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.BasePlate; import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.SupportBottom;
@@ -13,6 +14,9 @@
import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.SupportPlateTop; import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.SupportTop; import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.TrackingBase;
+import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014Dev1Builder; +import org.lcsim.geometry.compact.converter.lcdd.HPSTrackerBuilder.HalfModuleBundle; +import org.lcsim.geometry.compact.converter.lcdd.HPSTrackerBuilder.ModuleBundle;
import org.lcsim.geometry.compact.converter.lcdd.HPSTrackerJavaBuilder;
@@ -41,29 +45,40 @@
* @param trackingVolume - the reference volume. */ public void build(ILogicalVolume trackingVolume) {
+ + // build geometry + setBuilder(new HPSTestRunTracker2014Builder(this._debug));
+ if(_builder==null) throw new RuntimeException("need to set builder class before calling build!"); + + if(isDebug()) System.out.printf("%s: build the base geometry objects\n", getClass().getSimpleName()); + + _builder.build(); + + if(isDebug()) System.out.printf("%s: DONE build the base geometry objects\n", getClass().getSimpleName()); +
if(isDebug()) System.out.printf("%s: build the JAVA geometry objects\n", getClass().getSimpleName()); // initialize the list to store a reference to each object java_objects = new ArrayList<JavaBaseGeometry>(); // Go through the list of volumes to build that is created in the generic builder class
- JavaBaseGeometry trackingGeometry = new JavaBaseGeometry(getBaseGeometry(TrackingBase.class), trackingVolume);
+ JavaBaseGeometry trackingGeometry = new JavaBaseGeometry(_builder.getBaseGeometry(TrackingBase.class), trackingVolume);
add(trackingGeometry);
- setBaseTrackerGeometry(new GhostJavaBaseGeom(getBaseGeometry(Base.class), trackingGeometry));
+ setBaseTrackerGeometry(new GhostJavaBaseGeom(_builder.getBaseGeometry(Base.class), trackingGeometry));
add(getBaseTrackerGeometry());
- JavaBaseGeometry basePlateGeometry = new GhostJavaBaseGeom(getBaseGeometry(BasePlate.class), getBaseTrackerGeometry());
+ JavaBaseGeometry basePlateGeometry = new GhostJavaBaseGeom(_builder.getBaseGeometry(BasePlate.class), getBaseTrackerGeometry());
add(basePlateGeometry); // skip the c-support, this is purely a reference volume in the builder so should have no use here!?
- //JavaBaseGeometry cSupportGeometry = new GhostJavaBaseGeom(getBaseGeometry(CSupport.class), baseTrackerGeometry);
+ //JavaBaseGeometry cSupportGeometry = new GhostJavaBaseGeom(_builder.getBaseGeometry(CSupport.class), baseTrackerGeometry);
//add(cSupportGeometry);
- JavaBaseGeometry supportBottomGeometry = new GhostJavaBaseGeom(getBaseGeometry(SupportBottom.class), getBaseTrackerGeometry());
+ JavaBaseGeometry supportBottomGeometry = new GhostJavaBaseGeom(_builder.getBaseGeometry(SupportBottom.class), getBaseTrackerGeometry());
add(supportBottomGeometry);
- JavaBaseGeometry supportPlateBottomGeometry = new GhostJavaBaseGeom(getBaseGeometry(SupportPlateBottom.class), getBaseTrackerGeometry());
+ JavaBaseGeometry supportPlateBottomGeometry = new GhostJavaBaseGeom(_builder.getBaseGeometry(SupportPlateBottom.class), getBaseTrackerGeometry());
add(supportPlateBottomGeometry);
- JavaBaseGeometry supportTopGeometry = new GhostJavaBaseGeom(getBaseGeometry(SupportTop.class), getBaseTrackerGeometry());
+ JavaBaseGeometry supportTopGeometry = new GhostJavaBaseGeom(_builder.getBaseGeometry(SupportTop.class), getBaseTrackerGeometry());
add(supportTopGeometry);
- JavaBaseGeometry supportPlateTopGeometry = new GhostJavaBaseGeom(getBaseGeometry(SupportPlateTop.class), getBaseTrackerGeometry());
+ JavaBaseGeometry supportPlateTopGeometry = new GhostJavaBaseGeom(_builder.getBaseGeometry(SupportPlateTop.class), getBaseTrackerGeometry());
add(supportPlateTopGeometry); // build modules
@@ -71,13 +86,8 @@
if(isDebug()) System.out.printf("%s: build JAVA modules\n", getClass().getSimpleName()); // Loop over all modules created
- for(ModuleBundle m : modules) { - - // Do only L1? - if(onlyL1 && m.getLayer()!=1) continue; - - if(onlyBottom && m.getHalf()!="bottom") continue; -
+ for(ModuleBundle m : _builder.modules) { +
if(isDebug()) { System.out.printf("%s: build module %s (layer %d half %s)\n", getClass().getSimpleName(),m.module.getName(),m.getLayer(),m.getHalf()); m.print();
@@ -143,9 +153,7 @@
// add half modules addHalfModule(bundle.halfModuleAxial,lcddM);
- if(!onlyAxial) { - addHalfModule(bundle.halfModuleStereo,lcddM); - }
+ addHalfModule(bundle.halfModuleStereo,lcddM);
if(isDebug()) { System.out.printf("%s: DONE addModule %s \n",this.getClass().getSimpleName(), bundle.module.getName());
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTestRunTracker2014Test1JavaBuilder.java 2014-09-16 22:04:11 UTC (rev 3323) +++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTestRunTracker2014Test1JavaBuilder.java 2014-09-17 03:16:00 UTC (rev 3324) @@ -9,6 +9,10 @@
import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.TestRunHalfModule; import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.TestRunHalfModuleAxial; import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014GeometryDefinition.TrackingBase;
+import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014Builder; +import org.lcsim.geometry.compact.converter.lcdd.HPSTestRunTracker2014Test1Builder; +import org.lcsim.geometry.compact.converter.lcdd.HPSTrackerBuilder.HalfModuleBundle; +import org.lcsim.geometry.compact.converter.lcdd.HPSTrackerBuilder.ModuleBundle;
import org.lcsim.geometry.compact.converter.lcdd.HPSTrackerJavaBuilder;
@@ -37,14 +41,24 @@
* @param trackingVolume - the reference volume. */ public void build(ILogicalVolume trackingVolume) {
-
+ // build geometry + setBuilder(new HPSTestRunTracker2014Test1Builder(this._debug)); + + if(_builder==null) throw new RuntimeException("need to set builder class before calling build!"); + + if(isDebug()) System.out.printf("%s: build the base geometry objects\n", getClass().getSimpleName()); + + _builder.build(); + + if(isDebug()) System.out.printf("%s: DONE build the base geometry objects\n", getClass().getSimpleName()); +
if(isDebug()) System.out.printf("%s: build the JAVA geometry objects\n", getClass().getSimpleName()); // initialize the list to store a reference to each object java_objects = new ArrayList<JavaBaseGeometry>(); // Go through the list of volumes to build that is created in the generic builder class
- JavaBaseGeometry trackingGeometry = new JavaBaseGeometry(getBaseGeometry(TrackingBase.class), trackingVolume);
+ JavaBaseGeometry trackingGeometry = new JavaBaseGeometry(_builder.getBaseGeometry(TrackingBase.class), trackingVolume);
add(trackingGeometry); setBaseTrackerGeometry(trackingGeometry); // setBaseTrackerGeometry(new GhostJavaBaseGeom(getBaseGeometry(Base.class), trackingGeometry));
@@ -68,13 +82,13 @@
if(isDebug()) System.out.printf("%s: build JAVA modules\n", getClass().getSimpleName()); // Loop over all modules created
- for(ModuleBundle m : modules) {
+ for(ModuleBundle m : _builder.modules) {
// Do only L1?
- if(onlyL1 && m.getLayer()!=1) continue; - - if(onlyBottom && m.getHalf()!="bottom") continue; -
+ if(HPSTestRunTracker2014Test1Builder.onlyL1 && m.getLayer()!=1) continue; + + if(HPSTestRunTracker2014Test1Builder.onlyBottom && m.getHalf()!="bottom") continue; +
if(isDebug()) { System.out.printf("%s: build module %s (layer %d half %s)\n", getClass().getSimpleName(),m.module.getName(),m.getLayer(),m.getHalf()); m.print();
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