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
|