Commit in lcsim/sandbox on MAIN | |||
SensorTest.java | +83 | added 1.1 |
sensor access test code for Norman
diff -N SensorTest.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ SensorTest.java 13 Feb 2012 19:39:54 -0000 1.1 @@ -0,0 +1,83 @@
+package org.lcsim; + +import java.util.ArrayList; +import java.util.List; + +import junit.framework.TestCase; + +import org.lcsim.detector.IDetectorElement; +import org.lcsim.detector.tracker.silicon.SiSensor; +import org.lcsim.geometry.Detector; +import org.lcsim.geometry.subdetector.PolyhedraBarrelCalorimeter2; +import org.lcsim.geometry.subdetector.PolyhedraEndcapCalorimeter2; +import org.lcsim.geometry.subdetector.SiTrackerBarrel; +import org.lcsim.geometry.subdetector.SiTrackerEndcap2; +import org.lcsim.geometry.util.DetectorLocator; + +/** + * Find all the sensors for some Subdetectors and print the first N global to local transforms from each list. + * @author Jeremy McCormick + */ +public class SensorTest extends TestCase +{ + String trackerBarrelName = "SiTrackerBarrel"; + String trackerEndcapName = "SiTrackerEndcap"; + String hadBarrelName = "HcalBarrel"; + String hadEndcapName = "HcalEndcap"; + + final int NPRINT = 10; + + public void testSensorAccess() + { + // Get the detector. + Detector detector = DetectorLocator.findDetector("sidloi3"); + + // SVT Barrel. + List<SiSensor> trackerBarrelSensors = ((SiTrackerBarrel)detector.getSubdetector(trackerBarrelName)).getDetectorElement().findDescendants(SiSensor.class); + System.out.println("Got " + trackerBarrelSensors.size() + " sensors in " + trackerBarrelName); + System.out.println("Global to local transforms..."); + for (int i=0; i<NPRINT; i++) + { + System.out.println(trackerBarrelSensors.get(0).getName() + " - " + trackerBarrelSensors.get(0).getGeometry().getGlobalToLocal()); + } + + // SVT Endcap. + List<SiSensor> trackerEndcapSensors = ((SiTrackerEndcap2)detector.getSubdetector(trackerEndcapName)).getDetectorElement().findDescendants(SiSensor.class); + System.out.println("Got " + trackerEndcapSensors.size() + " sensors in " + trackerEndcapName); + System.out.println("Global to local transforms..."); + for (int i=0; i<NPRINT; i++) + { + System.out.println(trackerEndcapSensors.get(0).getName() + " - " + trackerEndcapSensors.get(0).getGeometry().getGlobalToLocal()); + } + + // HAD Barrel. + List<IDetectorElement> hadBarrelSensors = new ArrayList<IDetectorElement>(); + for (IDetectorElement stave : ((PolyhedraBarrelCalorimeter2)detector.getSubdetector(hadBarrelName)).getDetectorElement().getChildren()) + { + for (IDetectorElement sensor : stave.getChildren()) + { + hadBarrelSensors.add(sensor); + } + } + System.out.println("Got " + hadBarrelSensors.size() + " sensors in " + hadBarrelName); + for (int i=0; i<NPRINT; i++) + { + System.out.println(hadBarrelSensors.get(0).getName() + " - " + hadBarrelSensors.get(0).getGeometry().getGlobalToLocal()); + } + + // HAD Endcap. + List<IDetectorElement> hadEndcapSensors = new ArrayList<IDetectorElement>(); + for (IDetectorElement endcap : ((PolyhedraEndcapCalorimeter2)detector.getSubdetector(hadEndcapName)).getDetectorElement().getChildren()) + { + for (IDetectorElement layer : endcap.getChildren()) + { + hadEndcapSensors.add(layer); + } + } + System.out.println("Got " + hadEndcapSensors.size() + " sensors in " + hadEndcapName); + for (int i=0; i<NPRINT; i++) + { + System.out.println(hadEndcapSensors.get(0).getName() + " - " + hadEndcapSensors.get(0).getGeometry().getGlobalToLocal()); + } + } +}
\ No newline at end of file
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1