Author: [log in to unmask]
Date: Wed Dec 7 16:49:51 2016
New Revision: 4611
Log:
Adding another file in the converter for the L0 detector.
Added:
java/trunk/detector-model/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2017Converter.java
Added: java/trunk/detector-model/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2017Converter.java
=============================================================================
--- java/trunk/detector-model/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2017Converter.java (added)
+++ java/trunk/detector-model/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2017Converter.java Wed Dec 7 16:49:51 2016
@@ -0,0 +1,77 @@
+package org.lcsim.detector.converter.compact;
+
+import org.jdom.Element;
+import org.lcsim.geometry.compact.converter.HPSTracker2017JavaBuilder;
+import org.lcsim.geometry.compact.converter.HPSTrackerBuilder;
+import org.lcsim.geometry.compact.converter.HPSTrackerJavaBuilder;
+import org.lcsim.geometry.subdetector.HPSTracker2017;
+
+public class HPSTracker2017Converter extends HPSTracker2014v1Converter {
+
+ public HPSTracker2017Converter() {
+ super();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.lcsim.detector.converter.compact.HPSTracker2014ConverterBase#
+ * initializeBuilder(org.jdom.Element)
+ */
+ protected HPSTrackerJavaBuilder initializeBuilder(Element node) {
+ return new HPSTracker2017JavaBuilder(_debug, node);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.lcsim.detector.converter.compact.AbstractSubdetectorConverter#
+ * getSubdetectorType()
+ */
+ public Class getSubdetectorType() {
+ return HPSTracker2017.class;
+ }
+
+ /*
+ * Override this to handle different layer structure. (non-Javadoc)
+ *
+ * TODO This function is duplicated! FIX THIS.
+ *
+ * @see org.lcsim.detector.converter.compact.HPSTracker2014ConverterBase#
+ * getModuleNumber(org.lcsim.geometry.compact.converter.JavaSurveyVolume)
+ */
+ protected int getModuleNumber(String surveyVolume) {
+ boolean isTopLayer = HPSTrackerBuilder.getHalfFromName(surveyVolume)
+ .equals("top") ? true : false;
+ int layer = HPSTrackerBuilder.getLayerFromVolumeName(surveyVolume);
+ int moduleNumber = -1;
+ if (isTopLayer) {
+ if (layer == 1 || layer > 4) {
+ if (HPSTrackerBuilder.isHoleFromName(surveyVolume)) {
+ moduleNumber = 2;
+ } else {
+ moduleNumber = 0;
+ }
+ } else {
+ moduleNumber = 0;
+ }
+ } else {
+ if (layer == 1 || layer > 4) {
+ if (HPSTrackerBuilder.isHoleFromName(surveyVolume)) {
+ moduleNumber = 1;
+ } else {
+ moduleNumber = 3;
+ }
+ } else {
+ moduleNumber = 1;
+ }
+ }
+
+ if (moduleNumber < 0)
+ throw new RuntimeException("Invalid module nr found for "
+ + surveyVolume);
+
+ return moduleNumber;
+ }
+
+}
|