Author: [log in to unmask] Date: Fri Mar 6 14:21:22 2015 New Revision: 3570 Log: Check that the correct number of sense and readout strips are created. Use a logger for messages instead of standard output stream. Modified: projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/detector/converter/compact/HPSTracker2ConverterTest.java Modified: projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/detector/converter/compact/HPSTracker2ConverterTest.java ============================================================================= --- projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/detector/converter/compact/HPSTracker2ConverterTest.java (original) +++ projects/lcsim/trunk/detector-framework/src/test/java/org/lcsim/detector/converter/compact/HPSTracker2ConverterTest.java Fri Mar 6 14:21:22 2015 @@ -2,6 +2,8 @@ import java.io.InputStream; import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; import junit.framework.Test; import junit.framework.TestCase; @@ -9,9 +11,12 @@ import org.lcsim.detector.converter.compact.subdetector.HpsTracker2; import org.lcsim.detector.converter.compact.subdetector.SvtStereoLayer; +import org.lcsim.detector.tracker.silicon.ChargeCarrier; import org.lcsim.detector.tracker.silicon.HpsSiSensor; import org.lcsim.geometry.Detector; import org.lcsim.geometry.GeometryReader; +import org.lcsim.util.log.DefaultLogFormatter; +import org.lcsim.util.log.LogUtil; /** * Unit test for the HPSTracker2Coverter. @@ -20,15 +25,26 @@ * @author Omar Moreno <[log in to unmask]> */ public class HPSTracker2ConverterTest extends TestCase { + + // Initialize the logger + private static Logger logger = LogUtil.create(HPSTracker2Converter.class.getName(), + new DefaultLogFormatter(), Level.INFO); Detector detector = null; //-----------------// //--- Constants ---// //-----------------// + private static final int TOTAL_NUMBER_OF_SENSORS = 20; private static final int TOTAL_NUMBER_OF_STEREO_LAYERS = 10; private static final String SUBDETECTOR_NAME = "Tracker"; + + public static final int NUMBER_OF_READOUT_STRIPS = 639; + public static final int NUMBER_OF_SENSE_STRIPS = 1277; + + //-----------------// + //-----------------// public static Test suite() { return new TestSuite(HPSTracker2ConverterTest.class); @@ -51,41 +67,50 @@ public void testHPSTracker2Converter() { // Test if the correct number of sensors was created. - System.out.println("[ " + this.getClass().getSimpleName() + " ]: Checking if the correct number of sensors were created."); + logger.info("Checking if the correct number of sensors were created."); List<HpsSiSensor> sensors = detector.getSubdetector(SUBDETECTOR_NAME).getDetectorElement().findDescendants(HpsSiSensor.class); - assertTrue("The wrong number of sensors were created.", sensors.size() == TOTAL_NUMBER_OF_SENSORS); - System.out.println("[ " + this.getClass().getSimpleName() + " ]: Total number of sensors that were created: " + sensors.size()); + assertTrue("[ " + this.getClass().getSimpleName() + " ]: The wrong number of sensors were created.", + sensors.size() == TOTAL_NUMBER_OF_SENSORS); + logger.info("Total number of sensors that were created: " + sensors.size()); // Test if the sensors that were created are instances of HpsSiSensor - System.out.println("[ " + this.getClass().getSimpleName() + " ]: Checking if sensor is instance of HpsTestRunSiSensor."); + logger.info("Checking if sensors were initialized correctly"); for(HpsSiSensor sensor : sensors) { assertTrue("[ " + this.getClass().getSimpleName() + " ]: Sensor is of wrong type: " + sensor.getClass().getSimpleName(), sensor instanceof HpsSiSensor); + assertTrue("[ " + this.getClass().getSimpleName() + " ]: Wrong number of readout electrodes found.", + sensor.getReadoutElectrodes(ChargeCarrier.HOLE).getNCells() == NUMBER_OF_READOUT_STRIPS); + + assertTrue("[ " + this.getClass().getSimpleName() + " ]: Wrong number of sense electrodes found.", + sensor.getSenseElectrodes(ChargeCarrier.HOLE).getNCells() == NUMBER_OF_SENSE_STRIPS); + logger.info(sensor.toString()); } - System.out.println("[ " + this.getClass().getSimpleName() + " ]: Sensors are all instances of HpsSiSensor."); + logger.info("Sensors were all initialized correctly."); // Check that the correct number of stereo layers were created - System.out.println("[ " + this.getClass().getSimpleName() + " ]: Checking if the correct number of stereo layers were created."); + logger.info("Checking if the correct number of stereo layers were created."); List<SvtStereoLayer> stereoLayers = ((HpsTracker2) detector.getSubdetector(SUBDETECTOR_NAME).getDetectorElement()).getStereoPairs(); // Check that the number of stereo layers created is as expected - assertTrue("The wrong number of stereo layers were created.", stereoLayers.size() == TOTAL_NUMBER_OF_STEREO_LAYERS); - System.out.println("[ " + this.getClass().getSimpleName() + " ]: Total number of stereo layers created: " + stereoLayers.size()); + assertTrue("[ " + this.getClass().getSimpleName() + " ]: The wrong number of stereo layers were created.", + stereoLayers.size() == TOTAL_NUMBER_OF_STEREO_LAYERS); + logger.info("Total number of stereo layers created: " + stereoLayers.size()); for(SvtStereoLayer stereoLayer : stereoLayers){ - System.out.println("[ " + this.getClass().getSimpleName() + " ]: " + stereoLayer.toString()); + logger.fine(stereoLayer.toString()); // The sensors comprising the stereo layer should belong to the same detector volume - assertTrue("Sensors belong to different detector volumes.", + assertTrue("[ " + this.getClass().getSimpleName() + " ]: Sensors belong to different detector volumes.", stereoLayer.getAxialSensor().getModuleNumber() == stereoLayer.getStereoSensor().getModuleNumber()); // If the stereo layer is part of the top detector volume, the axial layers have an odd layer number. - // If the stereo layer is part of the bottom detector volumen, the axial layers have an even layer number. - System.out.println("[ " + this.getClass().getSimpleName() + " ]: Checking if the layers are oriented correctly."); + // If the stereo layer is part of the bottom detector volume, the axial layers have an even layer number. + logger.info("Checking if the layers are oriented correctly."); if(stereoLayer.getAxialSensor().isTopLayer()){ - assertTrue("Sensors composing the stereo layer are flipped", stereoLayer.getAxialSensor().getLayerNumber()%2 == 1); + assertTrue("[ " + this.getClass().getSimpleName() + " ]: Sensors composing the stereo layer are flipped", + stereoLayer.getAxialSensor().getLayerNumber()%2 == 1); } else { - assertTrue("Sensors composing the stereo layer are flipped", stereoLayer.getAxialSensor().getLayerNumber()%2 == 0); - + assertTrue("[ " + this.getClass().getSimpleName() + " ]: Sensors composing the stereo layer are flipped", + stereoLayer.getAxialSensor().getLayerNumber()%2 == 0); } } } ######################################################################## 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