Author: [log in to unmask]
Date: Fri Apr 24 21:22:29 2015
New Revision: 3592
Log:
New converter. Had to adjust some old structures to be able to override.
Added:
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2014v1Converter.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1GeometryDefinition.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1JavaBuilder.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1LCDDBuilder.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014v1.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/subdetector/HPSTracker2014v1.java
projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014v1LCDDTest.java
projects/lcsim/trunk/detector-framework/src/test/resources/org/lcsim/geometry/subdetector/HPSTracker2014v1.xml
Modified:
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/DetectorConverter.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2014ConverterBase.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014JavaBuilder.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/HPSTracker2014JavaBuilder.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/HPSTrackerJavaBuilder.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerLCDDBuilder.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014Base.java
projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014LCDDTest.java
Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/DetectorConverter.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/DetectorConverter.java (original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/DetectorConverter.java Fri Apr 24 21:22:29 2015
@@ -116,6 +116,7 @@
addSubdetectorConverter(new HPSMuonCalorimeterConverter());
addSubdetectorConverter(new HPSTestRunTracker2014Converter());
addSubdetectorConverter(new HPSTracker2014Converter());
+ addSubdetectorConverter(new HPSTracker2014v1Converter());
// Support structures.
addSubdetectorConverter(new PolyconeSupportConverter());
Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2014ConverterBase.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2014ConverterBase.java (original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2014ConverterBase.java Fri Apr 24 21:22:29 2015
@@ -339,6 +339,7 @@
// The sensorNumber is always 0 in the old geometry. Keep it that way.
int sensorNumber = 0;
expId.setValue(iddict.getFieldIndex("sensor"), sensorNumber);
+
// Packed identifier.
IIdentifier sensorId = iddict.pack(expId);
@@ -349,10 +350,13 @@
String sensorPath = modulePath.toString() + "/" + componentPhysVol.getName() + "/" + sensorPhysVol.getName();
String sensorName = moduleDe.getName() + "_sensor" + sensorNumber;
- if(_debug) System.out.printf("%s: create HpsSiSensor with sensorNumber %d name %s moduleDe %s sensorPath %s sensor Id %d \n", getClass().getSimpleName(),
- sensorNumber, sensorName, moduleDe.getName(), sensorPath, sensorNumber);
-
-
+ if(_debug) {
+ System.out.printf("%s: create HpsSiSensor with old layer id %d with sensorNumber %d name %s moduleDe %s sensorPath %s sensor Id %d \n", getClass().getSimpleName(),
+ layerDe.getIdentifier(),sensorNumber, sensorName, moduleDe.getName(), sensorPath, sensorNumber);
+ }
+ System.out.printf("%s: HpsSiSensor old layer id %d and module nr %d and sensor nr %d <-> DE name %s \n", getClass().getSimpleName(),
+ builder.getDetectorIdentifierHelper().getValue(layerDe.getIdentifier(), "layer"), ((SiTrackerModule) moduleDe).getModuleId(), sensorNumber,sensorName);
+
// Create the sensor.
int millepedeLayer = builder._builder.getMillepedeLayer(sensorName);
HpsSiSensor sensor = createSiSensor(sensorNumber, sensorName, moduleDe, sensorPath, sensorId);
Added: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2014v1Converter.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2014v1Converter.java (added)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2014v1Converter.java Fri Apr 24 21:22:29 2015
@@ -0,0 +1,29 @@
+package org.lcsim.detector.converter.compact;
+
+import org.jdom.Element;
+import org.lcsim.geometry.compact.converter.HPSTracker2014v1JavaBuilder;
+import org.lcsim.geometry.compact.converter.HPSTrackerJavaBuilder;
+import org.lcsim.geometry.subdetector.HPSTracker2014v1;
+
+public class HPSTracker2014v1Converter extends HPSTracker2014Converter {
+
+ public HPSTracker2014v1Converter() {
+ super();
+ }
+
+ /* (non-Javadoc)
+ * @see org.lcsim.detector.converter.compact.HPSTracker2014ConverterBase#initializeBuilder(org.jdom.Element)
+ */
+ protected HPSTrackerJavaBuilder initializeBuilder(Element node) {
+ return new HPSTracker2014v1JavaBuilder(_debug, node);
+ }
+
+ /* (non-Javadoc)
+ * @see org.lcsim.detector.converter.compact.AbstractSubdetectorConverter#getSubdetectorType()
+ */
+ public Class getSubdetectorType() {
+ return HPSTracker2014v1.class;
+ }
+
+
+}
Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014JavaBuilder.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014JavaBuilder.java (original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTestRunTracker2014JavaBuilder.java Fri Apr 24 21:22:29 2015
@@ -47,7 +47,7 @@
public void build(ILogicalVolume trackingVolume) {
// build geometry
- setBuilder(new HPSTestRunTracker2014GeometryDefinition(this._debug, node));
+ setBuilder(createGeometryDefinition(_debug, node));
if(_builder==null) throw new RuntimeException("need to set builder class before calling build!");
@@ -199,6 +199,13 @@
}
+
+ @Override
+ public HPSTrackerGeometryDefinition createGeometryDefinition(boolean debug, Element node) {
+ return new HPSTestRunTracker2014GeometryDefinition(debug, node);
+ }
+
+
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 Fri Apr 24 21:22:29 2015
@@ -32,13 +32,13 @@
public void setBuilder() {
- setBuilder(new HPSTestRunTracker2014GeometryDefinition(_debug, node));
+ setBuilder();
}
public void build(Volume worldVolume) {
// set and build geometry
- setBuilder();
+ setBuilder(createGeometryDefinition(_debug, node));
if(_builder==null) throw new RuntimeException("need to set builder class before calling build!");
@@ -169,33 +169,14 @@
LCDDSurveyVolume lcddH = new LCDDSurveyVolume(bundle.hybrid, lcdd, lcddHM);
add(lcddH);
- }
+ }
-/*
- public void setVisualization() {
- if(isDebug()) System.out.printf("%s: Set LCDD visualization for %d LCDD geometry objects \n", getClass().getSimpleName(), lcddSurveyVolumes.size());
- for(SurveyVolumeImpl g : lcddSurveyVolumes) {
- if(isDebug()) System.out.printf("%s: Set LCDD vis for %s \n", getClass().getSimpleName(), g.getName());
- if(g.getName().endsWith("baseplate")) g.setVisName("BasePlateVis");
- //else if(g.getName().contains("base")) g.setVisName("BaseVis");
- else if(g.getName().endsWith("support_bottom") || g.getName().contains("support_top")) g.setVisName("SupportVolumeVis");
- else if(g.getName().endsWith("support_plate_bottom") || g.getName().contains("support_plate_top")) g.setVisName("SupportPlateVis");
- else if(g.getName().endsWith("halfmodule_axial")) g.setVisName("HalfModuleVis");
- else if(g.getName().endsWith("halfmodule_stereo")) g.setVisName("HalfModuleVis");
- else if(g.getName().endsWith("module")) g.setVisName("ModuleVis");
- else if(g.getName().endsWith("cold")) g.setVisName("ColdBlockVis");
- else if(g.getName().endsWith("lamination")) g.setVisName("KaptonVis");
- else if(g.getName().endsWith("sensor")) g.setVisName("SensorVis");
- else if(g.getName().endsWith("sensor_active")) g.setVisName("SensorVis");
- else if(g.getName().endsWith("cf")) g.setVisName("CarbonFiberVis");
- else if(g.getName().endsWith("hybrid")) g.setVisName("HybridVis");
- else {
- if(isDebug()) System.out.printf("%s: No LCDD vis for %s \n", getClass().getSimpleName(), g.getName());
- }
- }
- if(isDebug()) System.out.printf("%s: DONE Set LCDD vis \n", getClass().getSimpleName());
- }
-*/
+ @Override
+ public HPSTrackerGeometryDefinition createGeometryDefinition(boolean debug,
+ Element node) {
+ return new HPSTestRunTracker2014GeometryDefinition(_debug, node);
+ }
+
}
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 Fri Apr 24 21:22:29 2015
@@ -24,7 +24,7 @@
* @author Per Hansson Adrian <[log in to unmask]>
*
*/
-public class HPSTracker2014GeometryDefinition extends HPSTrackerGeometryDefinition {
+ public class HPSTracker2014GeometryDefinition extends HPSTrackerGeometryDefinition {
@@ -1649,7 +1649,6 @@
-
public static class LongAxialHoleHalfModule extends LongHalfModule {
private final static double sensor_x = 1.382*inch;
@@ -1671,8 +1670,8 @@
}
-
-
+
+
public static class LongAxialSlotHalfModule extends LongHalfModule {
private final static double sensor_x = 1.382*inch;
@@ -2121,7 +2120,7 @@
halfModule = new LongAxialHoleHalfModule(volName, mother, alignmentCorrection, layer, half);
bundle.halfModuleAxialHole = halfModuleBundle;
} else {
- halfModule = new LongAxialSlotHalfModule(volName, mother, alignmentCorrection, layer, half);
+ halfModule = createLongAxialSlotHalfModule(volName, mother, alignmentCorrection, layer, half);
bundle.halfModuleAxialSlot = halfModuleBundle;
}
} else {
@@ -2130,7 +2129,7 @@
halfModule = new LongStereoHoleHalfModule(volName, mother, alignmentCorrection, layer, half);
bundle.halfModuleStereoHole = halfModuleBundle;
} else {
- halfModule = new LongStereoSlotHalfModule(volName, mother, alignmentCorrection, layer, half);
+ halfModule = createLongStereoSlotHalfModule(volName, mother, alignmentCorrection, layer, half);
bundle.halfModuleStereoSlot = halfModuleBundle;
}
}
@@ -2191,6 +2190,18 @@
int layer, String half) {
return new HalfModuleStereo(volName, mother, alignmentCorrection, layer, half);
+ }
+
+ protected LongHalfModule createLongAxialSlotHalfModule(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, int layer,
+ String half) {
+ return new LongAxialSlotHalfModule(name, mother, alignmentCorrection, layer, half);
+ }
+
+ protected LongHalfModule createLongStereoSlotHalfModule(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, int layer,
+ String half) {
+ return new LongStereoSlotHalfModule(name, mother, alignmentCorrection, layer, half);
}
Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014JavaBuilder.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014JavaBuilder.java (original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014JavaBuilder.java Fri Apr 24 21:22:29 2015
@@ -40,6 +40,7 @@
+
/**
* Build the JAVA geometry objects from the geometry definition.
* @param trackingVolume - the reference volume.
@@ -47,7 +48,7 @@
public void build(ILogicalVolume trackingVolume) {
// build geometry
- setBuilder(new HPSTracker2014GeometryDefinition(this._debug, node));
+ setBuilder(createGeometryDefinition(this._debug, node));
if(_builder==null) throw new RuntimeException("need to set builder class before calling build!");
@@ -191,8 +192,10 @@
}
-
-
+ @Override
+ public HPSTrackerGeometryDefinition createGeometryDefinition(boolean debug, Element node) {
+ return new HPSTracker2014GeometryDefinition(debug, node);
+ }
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 Fri Apr 24 21:22:29 2015
@@ -37,7 +37,7 @@
* @see org.lcsim.geometry.compact.converter.HPSTestRunTracker2014LCDDBuilder#setBuilder()
*/
public void setBuilder() {
- setBuilder(new HPSTracker2014GeometryDefinition(_debug, node));
+ setBuilder(createGeometryDefinition(_debug, node));
}
/* (non-Javadoc)
@@ -236,5 +236,11 @@
add(lcddH);
*/
}
+
+ @Override
+ public HPSTrackerGeometryDefinition createGeometryDefinition(boolean debug,
+ Element node) {
+ return new HPSTracker2014GeometryDefinition(_debug, node);
+ }
}
Added: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1GeometryDefinition.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1GeometryDefinition.java (added)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1GeometryDefinition.java Fri Apr 24 21:22:29 2015
@@ -0,0 +1,88 @@
+package org.lcsim.geometry.compact.converter;
+
+import org.apache.commons.math3.geometry.euclidean.threed.Rotation;
+import org.apache.commons.math3.geometry.euclidean.threed.Vector3D;
+import org.jdom.Element;
+
+/**
+ *
+ * Updated geometry information for the HPS tracker 2014
+
+ * @author Per Hansson Adrian <[log in to unmask]>
+ *
+ */
+public class HPSTracker2014v1GeometryDefinition extends HPSTracker2014GeometryDefinition {
+
+ public HPSTracker2014v1GeometryDefinition(boolean debug, Element node) {
+ super(debug, node);
+ }
+
+ public static class LongAxialSlotHalfModule extends HPSTracker2014GeometryDefinition.LongAxialSlotHalfModule {
+
+ public LongAxialSlotHalfModule(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, int layer,
+ String half) {
+ super(name, mother, alignmentCorrection, layer, half);
+ }
+
+ @Override
+ protected void applyGenericCoordinateSystemCorrections() {
+ super.applyGenericCoordinateSystemCorrections();
+ // apply 180 degree rotation around w ~ normal to the sensor plane
+ if(debug) System.out.printf("%s: Coord before corrections\n%s\n", getClass().getSimpleName(),getCoord().toString());
+ if(debug) System.out.printf("%s: box center before corrections\n%s\n", getClass().getSimpleName(),getBoxDim().toString());
+ getCoord().rotateApache(getSlotRotation());
+ if(debug) System.out.printf("%s: Coord after corrections\n%s\n", getClass().getSimpleName(),getCoord().toString());
+ if(debug) System.out.printf("%s: box center after corrections\n%s\n", getClass().getSimpleName(),getBoxDim().toString());
+ }
+ }
+
+ public static class LongStereoSlotHalfModule extends HPSTracker2014GeometryDefinition.LongStereoSlotHalfModule {
+
+ public LongStereoSlotHalfModule(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection, int layer, String half) {
+ super(name, mother, alignmentCorrection, layer, half);
+ }
+
+ @Override
+ protected void applyGenericCoordinateSystemCorrections() {
+ // TODO Auto-generated method stub
+ super.applyGenericCoordinateSystemCorrections();
+ // apply 180 degree rotation around w ~ normal to the sensor plane
+ if(debug) System.out.printf("%s: Coord before corrections\n%s\n", getClass().getSimpleName(),getCoord().toString());
+ if(debug) System.out.printf("%s: box center before corrections\n%s\n", getClass().getSimpleName(),getBoxDim().toString());
+ getCoord().rotateApache(getSlotRotation());
+ if(debug) System.out.printf("%s: Coord after corrections\n%s\n", getClass().getSimpleName(),getCoord().toString());
+ if(debug) System.out.printf("%s: box center after corrections\n%s\n", getClass().getSimpleName(),getBoxDim().toString());
+ }
+ }
+
+ @Override
+ protected LongHalfModule createLongAxialSlotHalfModule(String name, SurveyVolume mother,
+ AlignmentCorrection alignmentCorrection,
+ int layer, String half) {
+ return new LongAxialSlotHalfModule(name, mother, alignmentCorrection, layer, half);
+ }
+
+ @Override
+ protected LongHalfModule createLongStereoSlotHalfModule(String name,
+ SurveyVolume mother, AlignmentCorrection alignmentCorrection,
+ int layer, String half) {
+
+ // TODO Auto-generated method stub
+ return super.createLongStereoSlotHalfModule(name, mother, alignmentCorrection,
+ layer, half);
+ }
+
+
+ /**
+ * PI rotation around generic z-axis
+ * @return
+ */
+ private static Rotation getSlotRotation() {
+ return new Rotation(new Vector3D(0,0,1),Math.PI);
+ }
+
+
+
+}
Added: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1JavaBuilder.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1JavaBuilder.java (added)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1JavaBuilder.java Fri Apr 24 21:22:29 2015
@@ -0,0 +1,17 @@
+package org.lcsim.geometry.compact.converter;
+
+import org.jdom.Element;
+
+public class HPSTracker2014v1JavaBuilder extends HPSTracker2014JavaBuilder {
+
+ public HPSTracker2014v1JavaBuilder(boolean debugFlag, Element node) {
+ super(debugFlag, node);
+ }
+
+ @Override
+ public HPSTrackerGeometryDefinition createGeometryDefinition(boolean debug, Element node) {
+ return new HPSTracker2014v1GeometryDefinition(debug, node);
+ }
+
+
+}
Added: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1LCDDBuilder.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1LCDDBuilder.java (added)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTracker2014v1LCDDBuilder.java Fri Apr 24 21:22:29 2015
@@ -0,0 +1,23 @@
+package org.lcsim.geometry.compact.converter;
+
+import org.jdom.Element;
+import org.lcsim.geometry.compact.converter.lcdd.util.LCDD;
+import org.lcsim.geometry.compact.converter.lcdd.util.SensitiveDetector;
+
+public class HPSTracker2014v1LCDDBuilder extends HPSTracker2014LCDDBuilder {
+
+ public HPSTracker2014v1LCDDBuilder(boolean debugFlag, Element node,
+ LCDD lcdd, SensitiveDetector sens) {
+ super(debugFlag, node, lcdd, sens);
+ }
+
+ public void setBuilder() {
+ setBuilder(createGeometryDefinition(_debug, node));
+ }
+
+ @Override
+ public HPSTrackerGeometryDefinition createGeometryDefinition(boolean debug,
+ Element node) {
+ return new HPSTracker2014v1GeometryDefinition(_debug, node);
+ }
+}
Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerJavaBuilder.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerJavaBuilder.java (original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerJavaBuilder.java Fri Apr 24 21:22:29 2015
@@ -33,6 +33,7 @@
}
public abstract void build(ILogicalVolume trackingVolume);
+ public abstract HPSTrackerGeometryDefinition createGeometryDefinition(boolean debug, Element node);
/**
Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerLCDDBuilder.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerLCDDBuilder.java (original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerLCDDBuilder.java Fri Apr 24 21:22:29 2015
@@ -35,6 +35,8 @@
public abstract void setBuilder();
+
+ public abstract HPSTrackerGeometryDefinition createGeometryDefinition(boolean debug, Element node);
public void setNode(Element node) {
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 Fri Apr 24 21:22:29 2015
@@ -32,7 +32,7 @@
*/
public abstract class HPSTracker2014Base extends LCDDSubdetector {
- protected boolean _debug = false;
+ protected boolean _debug = true;
protected static HPSTrackerLCDDBuilder builder;
private final boolean buildBeamPlane = false;
private final double beamPlaneWidth = 385.00;
Added: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014v1.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014v1.java (added)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014v1.java Fri Apr 24 21:22:29 2015
@@ -0,0 +1,26 @@
+package org.lcsim.geometry.compact.converter.lcdd;
+
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.lcsim.geometry.compact.converter.HPSTracker2014v1LCDDBuilder;
+import org.lcsim.geometry.compact.converter.HPSTrackerLCDDBuilder;
+import org.lcsim.geometry.compact.converter.lcdd.util.LCDD;
+import org.lcsim.geometry.compact.converter.lcdd.util.SensitiveDetector;
+
+public class HPSTracker2014v1 extends HPSTracker2014
+{
+ public HPSTracker2014v1(Element node) throws JDOMException
+ {
+ super(node);
+ }
+
+ /* (non-Javadoc)
+ * @see org.lcsim.geometry.compact.converter.lcdd.HPSTracker2014Base#initializeBuilder(org.lcsim.geometry.compact.converter.lcdd.util.LCDD, org.lcsim.geometry.compact.converter.lcdd.util.SensitiveDetector)
+ */
+ protected HPSTrackerLCDDBuilder initializeBuilder(LCDD lcdd, SensitiveDetector sens) {
+ return new HPSTracker2014v1LCDDBuilder(_debug,node,lcdd,sens);
+ }
+
+
+
+}
Added: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/subdetector/HPSTracker2014v1.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/subdetector/HPSTracker2014v1.java (added)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/subdetector/HPSTracker2014v1.java Fri Apr 24 21:22:29 2015
@@ -0,0 +1,30 @@
+package org.lcsim.geometry.subdetector;
+
+import hep.graphics.heprep.HepRep;
+import hep.graphics.heprep.HepRepFactory;
+
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.lcsim.detector.converter.heprep.DetectorElementToHepRepConverter;
+
+public class HPSTracker2014v1 extends AbstractTracker {
+
+ public HPSTracker2014v1(Element node) throws JDOMException
+ {
+ super(node);
+ }
+
+ public void appendHepRep(HepRepFactory factory, HepRep heprep)
+ {
+ DetectorElementToHepRepConverter.convert(getDetectorElement(), factory, heprep, -1, false, getVisAttributes().getColor());
+ }
+
+ public boolean isEndcap() {
+ return false;
+ }
+
+ public boolean isBarrel() {
+ return true;
+ }
+
+}
Modified: projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014LCDDTest.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014LCDDTest.java (original)
+++ projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014LCDDTest.java Fri Apr 24 21:22:29 2015
@@ -28,7 +28,7 @@
public void test_converter() throws Exception
{
- InputStream in = HPSTestRunTracker2014.class.getResourceAsStream("/org/lcsim/geometry/subdetector/HPSTracker2014.xml");
+ InputStream in = HPSTracker2014.class.getResourceAsStream("/org/lcsim/geometry/subdetector/HPSTracker2014.xml");
OutputStream out = new BufferedOutputStream(new FileOutputStream(new TestOutputFile("HPSTracker2014.lcdd")));
new Main().convert("HPSTracker2014",in,out);
}
Added: projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014v1LCDDTest.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014v1LCDDTest.java (added)
+++ projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014v1LCDDTest.java Fri Apr 24 21:22:29 2015
@@ -0,0 +1,35 @@
+package org.lcsim.geometry.compact.converter.lcdd;
+
+import java.io.BufferedOutputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import org.lcsim.util.test.TestUtil.TestOutputFile;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+*
+* @author Per Hansson Adrian <[log in to unmask]>
+*/
+public class HPSTracker2014v1LCDDTest extends TestCase
+{
+ public HPSTracker2014v1LCDDTest(String name)
+ {
+ super(name);
+ }
+
+ public static TestSuite suite()
+ {
+ return new TestSuite(HPSTracker2014v1LCDDTest.class);
+ }
+
+ public void test_converter() throws Exception
+ {
+ InputStream in = HPSTracker2014v1.class.getResourceAsStream("/org/lcsim/geometry/subdetector/HPSTracker2014v1.xml");
+ OutputStream out = new BufferedOutputStream(new FileOutputStream(new TestOutputFile("HPSTracker2014v1.lcdd")));
+ new Main().convert("HPSTracker2014v1",in,out);
+ }
+}
Added: projects/lcsim/trunk/detector-framework/src/test/resources/org/lcsim/geometry/subdetector/HPSTracker2014v1.xml
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/test/resources/org/lcsim/geometry/subdetector/HPSTracker2014v1.xml (added)
+++ projects/lcsim/trunk/detector-framework/src/test/resources/org/lcsim/geometry/subdetector/HPSTracker2014v1.xml Fri Apr 24 21:22:29 2015
@@ -0,0 +1,337 @@
+<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
+
+ <info name="HPSTracker2014v1">
+ <comment>SVT survey-based geometry for 2014 proposal</comment>
+ </info>
+
+ <define>
+ <!-- units -->
+ <constant name="mm" value="0.1*cm"/>
+ <constant name="inch" value="25.4*mm"/>
+
+ <!-- world -->
+ <constant name="world_side" value="500.0*cm" />
+ <constant name="world_x" value="world_side" />
+ <constant name="world_y" value="world_side" />
+ <constant name="world_z" value="world_side" />
+
+ <!-- tracking region -->
+ <constant name="tracking_region_radius" value="200.0*cm"/>
+ <constant name="tracking_region_min" value="5.0*cm"/>
+ <constant name="tracking_region_zmax" value="131.8*cm"/>
+
+
+ </define>
+
+ <materials>
+ <!-- Set tracking material to vacuum. -->
+ <material name="TrackingMaterial">
+ <D type="density" unit="g/cm3" value="0.0000000000000001" />
+ <fraction n="1.0" ref="Vacuum" />
+ </material>
+ </materials>
+
+ <display>
+ <vis name="SvtBoxVis" alpha="1.0" r="1.0" g="1.0" b="0.0" drawingStyle="wireframe" lineStyle="unbroken" showDaughters="true" visible="true"/>
+ <vis name="SensorVis" alpha="1.0" r="1.0" g="0.0" b="0.0" drawingStyle="wireframe" lineStyle="unbroken" showDaughters="true" visible="true"/>
+ <vis name="ActiveSensorVis" alpha="1.0" r="1.0" g="0.0" b="0.0" drawingStyle="solid" lineStyle="unbroken" showDaughters="true" visible="true"/>
+ <vis name="CarbonFiberVis" alpha="1.0" r="0.88" g="0.88" b="0.88" drawingStyle="solid" lineStyle="unbroken" showDaughters="true" visible="true"/>
+ <vis name="KaptonVis" alpha="1.0" r="0.91" g="0.77" b="0.06" drawingStyle="solid" lineStyle="unbroken" showDaughters="true" visible="true"/>
+ <vis name="HybridVis" alpha="1.0" r="0.0" g="1.0" b="0" drawingStyle="solid" lineStyle="unbroken" showDaughters="true" visible="true"/>
+ <vis name="HalfModuleVis" alpha="1.0" r="1.0" g="1.0" b="1.0" drawingStyle="wireframe" lineStyle="dashed" showDaughters="true" visible="true"/>
+ <vis name="ColdBlockVis" alpha="1.0" r="0.75" g="0.73" b="0.75" drawingStyle="solid" lineStyle="dashed" showDaughters="true" visible="true"/>
+ <vis name="ModuleVis" alpha="1.0" r="1.0" g="1.0" b="1.0" drawingStyle="wireframe" lineStyle="dotted" showDaughters="true" visible="true"/>
+ <vis name="SupportPlateVis" alpha="1.0" r="0.45" g="0.45" b="0.45" drawingStyle="solid" lineStyle="dashed" showDaughters="true" visible="true"/>
+ <vis name="SupportVolumeVis" alpha="1.0" r="0.75" g="0.73" b="0.75" drawingStyle="wireframe" lineStyle="dashed" showDaughters="true" visible="true"/>
+ <vis name="BasePlateVis" alpha="1.0" r="0.35" g="0.35" b="0.35" drawingStyle="solid" lineStyle="dashed" showDaughters="true" visible="true"/>
+ <vis name="LayerVis" alpha="0.0" r="0.0" g="0.0" b="1.0" drawingStyle="wireframe" showDaughters="true" visible="false"/>
+ <vis name="ComponentVis" alpha="0.0" r="0.0" g="0.2" b="0.4" drawingStyle="solid" showDaughters="false" visible="false"/>
+ <vis name="BeamPlaneVis" alpha="1.0" r="1.0" g="1.0" b="1.0" drawingStyle="solid" lineStyle="unbroken" showDaughters="false" visible="true"/>
+
+ </display>
+
+ <detectors>
+ <detector id="1" name="Tracker" type="HPSTracker2014v1" readout="TrackerHits">
+ <!--
+ <SurveyVolumes>
+ <SurveyVolume name="base_plate">
+ <SurveyPos>
+ <point name="ball" x="0.0" y="0.0" z="0.0"/>
+ <point name="vee" x="1.0" y="0.0" z="0.0"/>
+ <point name="flat" x="0.0" y="1.0" z="0.0"/>
+ </SurveyPos>
+ </SurveyVolume>
+ <SurveyCoord>
+ <origin x="" y="" z=""/>
+ <unitVec name="u" x="1.0" y="0.0" z="0.0"/>
+ <unitVec name="v" x="1.0" y="0.0" z="0.0"/>
+ <unitVec name="w" x="0.0" y="1.0" z="0.0"/>
+ </SurveyCoord>
+ </SurveyVolumes>
+ -->
+ <millepede_constants>
+
+ <!-- top half-module translations -->
+ <millepede_constant name="11101" value="0.0"/>
+ <millepede_constant name="11102" value="0.0"/>
+ <millepede_constant name="11103" value="0.0"/>
+ <millepede_constant name="11104" value="0.0"/>
+ <millepede_constant name="11105" value="0.0"/>
+ <millepede_constant name="11106" value="0.0"/>
+ <millepede_constant name="11107" value="0.0"/>
+ <millepede_constant name="11108" value="0.0"/>
+ <millepede_constant name="11109" value="0.0"/>
+ <millepede_constant name="11110" value="0.0"/>
+ <millepede_constant name="11111" value="0.0"/>
+ <millepede_constant name="11112" value="0.0"/>
+ <millepede_constant name="11113" value="0.0"/>
+ <millepede_constant name="11114" value="0.0"/>
+ <millepede_constant name="11115" value="0.0"/>
+ <millepede_constant name="11116" value="0.0"/>
+ <millepede_constant name="11117" value="0.0"/>
+ <millepede_constant name="11118" value="0.0"/>
+
+ <millepede_constant name="11201" value="0.0"/>
+ <millepede_constant name="11202" value="0.0"/>
+ <millepede_constant name="11203" value="0.0"/>
+ <millepede_constant name="11204" value="0.0"/>
+ <millepede_constant name="11205" value="0.0"/>
+ <millepede_constant name="11206" value="0.0"/>
+ <millepede_constant name="11207" value="0.0"/>
+ <millepede_constant name="11208" value="0.0"/>
+ <millepede_constant name="11209" value="0.0"/>
+ <millepede_constant name="11210" value="0.0"/>
+ <millepede_constant name="11211" value="0.0"/>
+ <millepede_constant name="11212" value="0.0"/>
+ <millepede_constant name="11213" value="0.0"/>
+ <millepede_constant name="11214" value="0.0"/>
+ <millepede_constant name="11215" value="0.0"/>
+ <millepede_constant name="11216" value="0.0"/>
+ <millepede_constant name="11217" value="0.0"/>
+ <millepede_constant name="11218" value="0.0"/>
+
+ <millepede_constant name="11301" value="0.0"/>
+ <millepede_constant name="11302" value="0.0"/>
+ <millepede_constant name="11303" value="0.0"/>
+ <millepede_constant name="11304" value="0.0"/>
+ <millepede_constant name="11305" value="0.0"/>
+ <millepede_constant name="11306" value="0.0"/>
+ <millepede_constant name="11307" value="0.0"/>
+ <millepede_constant name="11308" value="0.0"/>
+ <millepede_constant name="11309" value="0.0"/>
+ <millepede_constant name="11310" value="0.0"/>
+ <millepede_constant name="11311" value="0.0"/>
+ <millepede_constant name="11312" value="0.0"/>
+ <millepede_constant name="11313" value="0.0"/>
+ <millepede_constant name="11314" value="0.0"/>
+ <millepede_constant name="11315" value="0.0"/>
+ <millepede_constant name="11316" value="0.0"/>
+ <millepede_constant name="11317" value="0.0"/>
+ <millepede_constant name="11318" value="0.0"/>
+
+
+ <!-- top half-module rotations -->
+
+ <millepede_constant name="12101" value="0.0"/>
+ <millepede_constant name="12102" value="0.0"/>
+ <millepede_constant name="12103" value="0.0"/>
+ <millepede_constant name="12104" value="0.0"/>
+ <millepede_constant name="12105" value="0.0"/>
+ <millepede_constant name="12106" value="0.0"/>
+ <millepede_constant name="12107" value="0.0"/>
+ <millepede_constant name="12108" value="0.0"/>
+ <millepede_constant name="12109" value="0.0"/>
+ <millepede_constant name="12110" value="0.0"/>
+ <millepede_constant name="12111" value="0.0"/>
+ <millepede_constant name="12112" value="0.0"/>
+ <millepede_constant name="12113" value="0.0"/>
+ <millepede_constant name="12114" value="0.0"/>
+ <millepede_constant name="12115" value="0.0"/>
+ <millepede_constant name="12116" value="0.0"/>
+ <millepede_constant name="12117" value="0.0"/>
+ <millepede_constant name="12118" value="0.0"/>
+
+ <millepede_constant name="12201" value="0.0"/>
+ <millepede_constant name="12202" value="0.0"/>
+ <millepede_constant name="12203" value="0.0"/>
+ <millepede_constant name="12204" value="0.0"/>
+ <millepede_constant name="12205" value="0.0"/>
+ <millepede_constant name="12206" value="0.0"/>
+ <millepede_constant name="12207" value="0.0"/>
+ <millepede_constant name="12208" value="0.0"/>
+ <millepede_constant name="12209" value="0.0"/>
+ <millepede_constant name="12210" value="0.0"/>
+ <millepede_constant name="12211" value="0.0"/>
+ <millepede_constant name="12212" value="0.0"/>
+ <millepede_constant name="12213" value="0.0"/>
+ <millepede_constant name="12214" value="0.0"/>
+ <millepede_constant name="12215" value="0.0"/>
+ <millepede_constant name="12216" value="0.0"/>
+ <millepede_constant name="12217" value="0.0"/>
+ <millepede_constant name="12218" value="0.0"/>
+
+ <millepede_constant name="12301" value="0.0"/>
+ <millepede_constant name="12302" value="0.0"/>
+ <millepede_constant name="12303" value="0.0"/>
+ <millepede_constant name="12304" value="0.0"/>
+ <millepede_constant name="12305" value="0.0"/>
+ <millepede_constant name="12306" value="0.0"/>
+ <millepede_constant name="12307" value="0.0"/>
+ <millepede_constant name="12308" value="0.0"/>
+ <millepede_constant name="12309" value="0.0"/>
+ <millepede_constant name="12310" value="0.0"/>
+ <millepede_constant name="12311" value="0.0"/>
+ <millepede_constant name="12312" value="0.0"/>
+ <millepede_constant name="12313" value="0.0"/>
+ <millepede_constant name="12314" value="0.0"/>
+ <millepede_constant name="12315" value="0.0"/>
+ <millepede_constant name="12316" value="0.0"/>
+ <millepede_constant name="12317" value="0.0"/>
+ <millepede_constant name="12318" value="0.0"/>
+
+ <!-- bottom half-module translations -->
+
+ <millepede_constant name="21101" value="0.0"/>
+ <millepede_constant name="21102" value="0.0"/>
+ <millepede_constant name="21103" value="0.0"/>
+ <millepede_constant name="21104" value="0.0"/>
+ <millepede_constant name="21105" value="0.0"/>
+ <millepede_constant name="21106" value="0.0"/>
+ <millepede_constant name="21107" value="0.0"/>
+ <millepede_constant name="21108" value="0.0"/>
+ <millepede_constant name="21109" value="0.0"/>
+ <millepede_constant name="21110" value="0.0"/>
+ <millepede_constant name="21111" value="0.0"/>
+ <millepede_constant name="21112" value="0.0"/>
+ <millepede_constant name="21113" value="0.0"/>
+ <millepede_constant name="21114" value="0.0"/>
+ <millepede_constant name="21115" value="0.0"/>
+ <millepede_constant name="21116" value="0.0"/>
+ <millepede_constant name="21117" value="0.0"/>
+ <millepede_constant name="21118" value="0.0"/>
+
+ <millepede_constant name="21201" value="0.0"/>
+ <millepede_constant name="21202" value="0.0"/>
+ <millepede_constant name="21203" value="0.0"/>
+ <millepede_constant name="21204" value="0.0"/>
+ <millepede_constant name="21205" value="0.0"/>
+ <millepede_constant name="21206" value="0.0"/>
+ <millepede_constant name="21207" value="0.0"/>
+ <millepede_constant name="21208" value="0.0"/>
+ <millepede_constant name="21209" value="0.0"/>
+ <millepede_constant name="21210" value="0.0"/>
+ <millepede_constant name="21211" value="0.0"/>
+ <millepede_constant name="21212" value="0.0"/>
+ <millepede_constant name="21213" value="0.0"/>
+ <millepede_constant name="21214" value="0.0"/>
+ <millepede_constant name="21215" value="0.0"/>
+ <millepede_constant name="21216" value="0.0"/>
+ <millepede_constant name="21217" value="0.0"/>
+ <millepede_constant name="21218" value="0.0"/>
+
+ <millepede_constant name="21301" value="0.0"/>
+ <millepede_constant name="21302" value="0.0"/>
+ <millepede_constant name="21303" value="0.0"/>
+ <millepede_constant name="21304" value="0.0"/>
+ <millepede_constant name="21305" value="0.0"/>
+ <millepede_constant name="21306" value="0.0"/>
+ <millepede_constant name="21307" value="0.0"/>
+ <millepede_constant name="21308" value="0.0"/>
+ <millepede_constant name="21309" value="0.0"/>
+ <millepede_constant name="21310" value="0.0"/>
+ <millepede_constant name="21311" value="0.0"/>
+ <millepede_constant name="21312" value="0.0"/>
+ <millepede_constant name="21313" value="0.0"/>
+ <millepede_constant name="21314" value="0.0"/>
+ <millepede_constant name="21315" value="0.0"/>
+ <millepede_constant name="21316" value="0.0"/>
+ <millepede_constant name="21317" value="0.0"/>
+ <millepede_constant name="21318" value="0.0"/>
+
+ <!-- bottom half-module rotations -->
+
+ <millepede_constant name="22101" value="0.0"/>
+ <millepede_constant name="22102" value="0.0"/>
+ <millepede_constant name="22103" value="0.0"/>
+ <millepede_constant name="22104" value="0.0"/>
+ <millepede_constant name="22105" value="0.0"/>
+ <millepede_constant name="22106" value="0.0"/>
+ <millepede_constant name="22107" value="0.0"/>
+ <millepede_constant name="22108" value="0.0"/>
+ <millepede_constant name="22109" value="0.0"/>
+ <millepede_constant name="22110" value="0.0"/>
+ <millepede_constant name="22111" value="0.0"/>
+ <millepede_constant name="22112" value="0.0"/>
+ <millepede_constant name="22113" value="0.0"/>
+ <millepede_constant name="22114" value="0.0"/>
+ <millepede_constant name="22115" value="0.0"/>
+ <millepede_constant name="22116" value="0.0"/>
+ <millepede_constant name="22117" value="0.0"/>
+ <millepede_constant name="22118" value="0.0"/>
+
+ <millepede_constant name="22201" value="0.0"/>
+ <millepede_constant name="22202" value="0.0"/>
+ <millepede_constant name="22203" value="0.0"/>
+ <millepede_constant name="22204" value="0.0"/>
+ <millepede_constant name="22205" value="0.0"/>
+ <millepede_constant name="22206" value="0.0"/>
+ <millepede_constant name="22207" value="0.0"/>
+ <millepede_constant name="22208" value="0.0"/>
+ <millepede_constant name="22209" value="0.0"/>
+ <millepede_constant name="22210" value="0.0"/>
+ <millepede_constant name="22211" value="0.0"/>
+ <millepede_constant name="22212" value="0.0"/>
+ <millepede_constant name="22213" value="0.0"/>
+ <millepede_constant name="22214" value="0.0"/>
+ <millepede_constant name="22215" value="0.0"/>
+ <millepede_constant name="22216" value="0.0"/>
+ <millepede_constant name="22217" value="0.0"/>
+ <millepede_constant name="22218" value="0.0"/>
+
+ <millepede_constant name="22301" value="0.0"/>
+ <millepede_constant name="22302" value="0.0"/>
+ <millepede_constant name="22303" value="0.0"/>
+ <millepede_constant name="22304" value="0.0"/>
+ <millepede_constant name="22305" value="0.0"/>
+ <millepede_constant name="22306" value="0.0"/>
+ <millepede_constant name="22307" value="0.0"/>
+ <millepede_constant name="22308" value="0.0"/>
+ <millepede_constant name="22309" value="0.0"/>
+ <millepede_constant name="22310" value="0.0"/>
+ <millepede_constant name="22311" value="0.0"/>
+ <millepede_constant name="22312" value="0.0"/>
+ <millepede_constant name="22313" value="0.0"/>
+ <millepede_constant name="22314" value="0.0"/>
+ <millepede_constant name="22315" value="0.0"/>
+ <millepede_constant name="22316" value="0.0"/>
+ <millepede_constant name="22317" value="0.0"/>
+ <millepede_constant name="22318" value="0.0"/>
+
+
+ <!-- top support tilt angles -->
+ <millepede_constant name="13100" value="0.0"/> <!-- + means opening -->
+ <millepede_constant name="13200" value="0.0"/>
+ <millepede_constant name="13300" value="0.0"/>
+
+ <!-- bottom support tilt angles -->
+ <millepede_constant name="23100" value="0.0"/> <!-- - means opening -->
+ <millepede_constant name="23200" value="0.0"/>
+ <millepede_constant name="23300" value="0.0"/>
+
+ </millepede_constants>
+ </detector>
+ </detectors>
+ <readouts>
+ <readout name="TrackerHits">
+ <id>system:6,barrel:3,layer:4,module:12,sensor:1,side:32:-2,strip:12</id>
+ </readout>
+ </readouts>
+ <fields>
+ <field type="BoxDipole" name="AnalyzingDipole" x="0*cm" y="0*cm"
+ z="45.22*cm" dx="22.86*cm" dy="7.62*cm" dz="46.22*cm" bx="0.0" by="-0.5"
+ bz="0.0">
+ </field>
+ </fields>
+</lccdd>
########################################################################
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
|