Author: [log in to unmask]
Date: Wed May 27 12:25:14 2015
New Revision: 3626
Log:
Remove HPS certain SVT detector classes and resources from lcsim. LCSIM-245
Removed:
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTestRunTracker2014Converter.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2014Converter.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/detector/converter/compact/HPSTracker2014v1Converter.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/AlignmentCorrection.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/CompactSurveyVolume.java
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/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/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/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/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/IHPSTrackerJavaBuilder.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/IHPSTrackerLCDDBuilder.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/JavaGhostSurveyVolume.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/MilleParameter.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/SurveyCoordinateSystem.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/SurveyVolumeVisualization.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTestRunTracker2014.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/compact/converter/lcdd/HPSTracker2014.java
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/HPSTracker2014v1.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/subdetector/HPSTestRunTracker2014.java
projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/geometry/subdetector/HPSTracker2014.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/HPSTestRunTracker2014LCDDTest.java
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/HPSTracker2014v1LCDDTest.java
projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/geometry/subdetector/HPSTestRunTracker2014Test.java
projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/geometry/subdetector/HPSTracker2014Test.java
projects/lcsim/trunk/detector-framework/src/test/resources/org/lcsim/geometry/subdetector/HPSTestRunTracker2014.xml
projects/lcsim/trunk/detector-framework/src/test/resources/org/lcsim/geometry/subdetector/HPSTracker2014v1.xml
Modified:
projects/lcsim/trunk/ (props changed)
projects/lcsim/trunk/detector-framework/pom.xml
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/SiTrackerFixedTarget2ConverterBarrel.java
Modified: projects/lcsim/trunk/detector-framework/pom.xml
=============================================================================
--- projects/lcsim/trunk/detector-framework/pom.xml (original)
+++ projects/lcsim/trunk/detector-framework/pom.xml Wed May 27 12:25:14 2015
@@ -105,6 +105,10 @@
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
+ <dependency>
+ <groupId>org.reflections</groupId>
+ <artifactId>reflections</artifactId>
+ <version>0.9.9</version>
+ </dependency>
</dependencies>
-
</project>
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 Wed May 27 12:25:14 2015
@@ -1,13 +1,16 @@
package org.lcsim.detector.converter.compact;
import java.io.IOException;
+import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.lcsim.detector.DetectorElement;
+import org.lcsim.detector.DetectorIdentifierHelper.SystemMap;
import org.lcsim.detector.DetectorStore;
import org.lcsim.detector.IDetectorElement;
import org.lcsim.detector.ILogicalVolume;
@@ -16,7 +19,6 @@
import org.lcsim.detector.ParametersStore;
import org.lcsim.detector.PhysicalVolume;
import org.lcsim.detector.PhysicalVolumeNavigatorStore;
-import org.lcsim.detector.DetectorIdentifierHelper.SystemMap;
import org.lcsim.detector.converter.lcdd.MaterialElementConverter;
import org.lcsim.detector.converter.lcdd.MaterialMixtureConverter;
import org.lcsim.detector.converter.lcdd.MaterialsConverter;
@@ -29,9 +31,9 @@
import org.lcsim.geometry.compact.Constant;
import org.lcsim.geometry.compact.Subdetector;
import org.lcsim.geometry.subdetector.PolyconeSupport;
-
-public class DetectorConverter implements IDetectorConverter
-{
+import org.reflections.Reflections;
+
+public class DetectorConverter implements IDetectorConverter {
// Map of class to converter.
Map<Class, ISubdetectorConverter> subdetectorConverters = new HashMap<Class, ISubdetectorConverter>();
@@ -46,9 +48,7 @@
// The SystemMap for setting up the IdentifierHelpers.
SystemMap sysMap;
- public IPhysicalVolume convert(Detector detector, Document doc) throws JDOMException,
- IOException
- {
+ public IPhysicalVolume convert(Detector detector, Document doc) throws JDOMException, IOException {
// Clear out old DetectorStore store before building new detector.
DetectorStore.getInstance().clear();
@@ -84,106 +84,76 @@
return pvWorld;
}
- public DetectorConverter()
- {
- // Simple cylindrical detectors.
- addSubdetectorConverter(new CylindricalBarrelCalorimeterConverter());
- addSubdetectorConverter(new CylindricalEndcapCalorimeterConverter());
- addSubdetectorConverter(new MultiLayerTrackerConverter());
- addSubdetectorConverter(new DiskTrackerConverter());
-
- // Detailed tracker models.
- addSubdetectorConverter(new SiTrackerBarrelConverter());
- addSubdetectorConverter(new SiTrackerEndcapConverter());
- addSubdetectorConverter(new SiTrackerEndcap2Converter());
- addSubdetectorConverter(new SiTrackerFixedTargetConverter());
- addSubdetectorConverter(new SiTrackerFixedTarget2Converter());
- addSubdetectorConverter(new SiTrackerSpectrometerConverter());
-
- // Detailed calorimeter models.
- addSubdetectorConverter(new PolyhedraBarrelCalorimeterConverter());
- addSubdetectorConverter(new PolyhedraBarrelCalorimeter2Converter());
- addSubdetectorConverter(new PolyhedraEndcapCalorimeter2Converter());
- addSubdetectorConverter(new PolyhedraEndcapCalorimeterConverter());
- addSubdetectorConverter(new EcalBarrelConverter());
-
- // HPS
- addSubdetectorConverter(new HPSTrackerConverter());
- addSubdetectorConverter(new HPSTracker2Converter());
- addSubdetectorConverter(new HPSEcalConverter());
- addSubdetectorConverter(new HPSEcal2Converter());
- addSubdetectorConverter(new HPSEcal3Converter());
- addSubdetectorConverter(new HPSMuonCalorimeterConverter());
- addSubdetectorConverter(new HPSTestRunTracker2014Converter());
- addSubdetectorConverter(new HPSTracker2014Converter());
- addSubdetectorConverter(new HPSTracker2014v1Converter());
-
- // Support structures.
- addSubdetectorConverter(new PolyconeSupportConverter());
- addSubdetectorConverter(new TubeSegmentConverter());
- }
-
- private void addSubdetectorConverter(ISubdetectorConverter s)
- {
- if (subdetectorConverters.get(s.getSubdetectorType()) != null)
- {
- throw new IllegalArgumentException("Already have converter for <"
- + s.getSubdetectorType().getCanonicalName() + "> !");
- }
-
+ public DetectorConverter() {
+
+ //System.out.println("DetectorConverter initializing ...");
+
+ Reflections reflect = new Reflections("org.lcsim.detector.converter.compact");
+ Set<Class<? extends AbstractSubdetectorConverter>> converters = reflect
+ .getSubTypesOf(AbstractSubdetectorConverter.class);
+
+ if (converters.size() == 0) {
+ throw new RuntimeException("No subdetector converter classes were found.");
+ }
+
+ for (Class<? extends AbstractSubdetectorConverter> converter : converters) {
+ try {
+ if (!Modifier.isAbstract(converter.getModifiers())) {
+ //System.out.println("adding subdet converter: " + converter);
+ this.addSubdetectorConverter(converter.newInstance());
+ }
+ } catch (InstantiationException | IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ private void addSubdetectorConverter(ISubdetectorConverter s) {
+ // if (subdetectorConverters.get(s.getSubdetectorType()) != null) {
+ // throw new IllegalArgumentException("Already have converter for <"
+ // + s.getSubdetectorType().getCanonicalName() + "> !");
+ // }
subdetectorConverters.put(s.getSubdetectorType(), s);
}
- private ISubdetectorConverter getSubdetectorConverter(Class klass)
- {
+ private ISubdetectorConverter getSubdetectorConverter(Class klass) {
return subdetectorConverters.get(klass);
}
- public IPhysicalVolume convert(Detector detector, String resource) throws JDOMException,
- IOException
- {
+ public IPhysicalVolume convert(Detector detector, String resource) throws JDOMException, IOException {
return convert(detector, CompactDocumentBuilder.build(resource));
}
- private void convertMaterials(Document doc) throws JDOMException
- {
+ private void convertMaterials(Document doc) throws JDOMException {
materialCnv.convert(doc);
}
- private void convertMaterials(String resource) throws JDOMException, IOException
- {
+ private void convertMaterials(String resource) throws JDOMException, IOException {
Document doc = CompactDocumentBuilder.build(resource);
- for (Object obj : doc.getRootElement().getChildren())
- {
+ for (Object obj : doc.getRootElement().getChildren()) {
Element e = (Element) obj;
- if (e.getName().equals("element"))
- {
+ if (e.getName().equals("element")) {
elemCnv.convert(e);
- }
- else if (e.getName().equals("material"))
- {
+ } else if (e.getName().equals("material")) {
matCnv.convert(e);
}
}
}
- private void convertSubdetectors(Detector detector)
- {
+ private void convertSubdetectors(Detector detector) {
// Process all Subdetectors in the Detector.
- for (Subdetector subdetector : detector.getSubdetectors().values())
- {
+ for (Subdetector subdetector : detector.getSubdetectors().values()) {
// System.out.println("subdetector: " + subdetector.getName());
// Find a converter for this type.
ISubdetectorConverter cnv = getSubdetectorConverter(subdetector.getClass());
- if (cnv != null)
- {
+ if (cnv != null) {
// System.out.println("found cnv handling: " +
// cnv.getSubdetectorType().getCanonicalName());
- DetectorElement subdetectorDE = (DetectorElement) cnv
- .makeSubdetectorDetectorElement(detector, subdetector);
+ DetectorElement subdetectorDE = (DetectorElement) cnv.makeSubdetectorDetectorElement(detector,
+ subdetector);
// System.out.println("made subdet DE: " +
// subdetectorDE.getName());
@@ -192,12 +162,9 @@
IIdentifierHelper helper = cnv.makeIdentifierHelper(subdetector, sysMap);
// Convert the parameters.
- try
- {
+ try {
paramCnv.convert(subdetector.getNode());
- }
- catch (JDOMException x)
- {
+ } catch (JDOMException x) {
throw new RuntimeException(x);
}
@@ -216,8 +183,7 @@
// are not really detectors but dead material so this check is
// necessary
// to avoid errors.
- if (subdetDE != null)
- {
+ if (subdetDE != null) {
// Make the Parameters from the compact detector element
// and assign to the Subdetector's DetectorElement.
subdetDE.setParameters(ParametersStore.getInstance().get(subdetector.getName()));
@@ -240,13 +206,10 @@
}
}
- private void buildTrackingVolume(ILogicalVolume world, Detector detector)
- {
+ private void buildTrackingVolume(ILogicalVolume world, Detector detector) {
Map<String, Constant> constants = detector.getConstants();
- if (constants.get("tracking_region_zmax") == null
- || constants.get("tracking_region_radius") == null)
- {
+ if (constants.get("tracking_region_zmax") == null || constants.get("tracking_region_radius") == null) {
throw new RuntimeException("Missing parameters for defining tracking region!");
}
@@ -255,19 +218,16 @@
Tube trackingTube = new Tube("tracking_region_tube", 0, radius, zmax);
- LogicalVolume trackingLV = new LogicalVolume("tracking_region", trackingTube, MaterialStore
- .getInstance().get("Air"));
+ LogicalVolume trackingLV = new LogicalVolume("tracking_region", trackingTube, MaterialStore.getInstance().get(
+ "Air"));
new PhysicalVolume(null, "tracking_region", trackingLV, world, 0);
}
- private IPhysicalVolume buildWorldVolume(Detector detector)
- {
+ private IPhysicalVolume buildWorldVolume(Detector detector) {
Map<String, Constant> constants = detector.getConstants();
- if (constants.get("world_x") == null || constants.get("world_y") == null
- || constants.get("world_z") == null)
- {
+ if (constants.get("world_x") == null || constants.get("world_y") == null || constants.get("world_z") == null) {
throw new RuntimeException("Missing world_x, world_y, or world_z!");
}
@@ -290,73 +250,43 @@
// id.
// TODO: Must be a better way to setup these associations in the
// DetectorIdentifierHelper.
- public static final SystemMap makeSystemMap(Detector d)
- {
+ public static final SystemMap makeSystemMap(Detector d) {
SystemMap m = new SystemMap();
- for (Subdetector subdet : d.getSubdetectors().values())
- {
+ for (Subdetector subdet : d.getSubdetectors().values()) {
String name = subdet.getName();
int sys = subdet.getSystemID();
// Based on naming conventions from sid01 and sid02.
- if (!name.contains("Support") && !(subdet instanceof PolyconeSupport))
- {
- if (name.contains("VertexBarrel"))
- {
+ if (!name.contains("Support") && !(subdet instanceof PolyconeSupport)) {
+ if (name.contains("VertexBarrel")) {
m.put("vtxBarrel", sys);
- }
- else if (name.contains("VertexEndcap"))
- {
+ } else if (name.contains("VertexEndcap")) {
m.put("vtxEndcap", sys);
- }
- else if (name.contains("TrackerBarrel"))
- {
+ } else if (name.contains("TrackerBarrel")) {
m.put("sitBarrel", sys);
- }
- else if (name.contains("TrackerEndcap"))
- {
+ } else if (name.contains("TrackerEndcap")) {
m.put("sitEndcap", sys);
- }
- else if (name.contains("TrackerForward"))
- {
+ } else if (name.contains("TrackerForward")) {
m.put("sitForward", sys);
- }
- else if (name.contains("TPC"))
- {
+ } else if (name.contains("TPC")) {
m.put("tpc", sys);
- }
- else if (name.contains("EMBarrel"))
- {
+ } else if (name.contains("EMBarrel")) {
m.put("ecalBarrel", sys);
- }
- else if (name.contains("EMEndcap") && !name.contains("Forward"))
- {
+ } else if (name.contains("EMEndcap") && !name.contains("Forward")) {
m.put("ecalEndcap", sys);
- }
- else if (name.contains("HADBarrel"))
- {
+ } else if (name.contains("HADBarrel")) {
m.put("hcalBarrel", sys);
- }
- else if (name.contains("HADEndcap"))
- {
+ } else if (name.contains("HADEndcap")) {
m.put("hcalEndcap", sys);
- }
- else if (name.contains("MuonBarrel"))
- {
+ } else if (name.contains("MuonBarrel")) {
m.put("muonBarrel", sys);
- }
- else if (name.contains("MuonEndcap"))
- {
+ } else if (name.contains("MuonEndcap")) {
m.put("muonEndcap", sys);
- }
- else if (name.contains("LuminosityMonitor") || name.contains("LumiCal"))
- {
+ } else if (name.contains("LuminosityMonitor") || name.contains("LumiCal")) {
m.put("lumi", sys);
- }
- else if (name.contains("ForwardEMEndcap"))
- {
+ } else if (name.contains("ForwardEMEndcap")) {
m.put("ecalForward", sys);
}
}
Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/SiTrackerFixedTarget2ConverterBarrel.java
=============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/SiTrackerFixedTarget2ConverterBarrel.java (original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/SiTrackerFixedTarget2ConverterBarrel.java Wed May 27 12:25:14 2015
@@ -430,7 +430,7 @@
public Class getSubdetectorType()
{
- return SiTrackerBarrel.class;
+ return SiTrackerFixedTarget2ConverterBarrel.class;
}
private void setupSensorDetectorElements( Subdetector subdet )
########################################################################
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
|