Print

Print


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