Author: omoreno
Date: Wed Oct 22 18:36:21 2014
New Revision: 1274
Log:
TestRunSvtDaqMapping and the nested class not longer extend SvtDaqMapping and instead extend AbstractConditionsObject directly. The loading of the test run SVT DAQ map was tested with the test TestRunSvtDaqMappingTest. A converter for TestRunSvtDaqMapping was added to the SvtConverterRegistry.
Modified:
java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/SvtConverterRegistry.java
java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDaqMapping.java
java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDaqMappingTest.java
Modified: java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/SvtConverterRegistry.java
=============================================================================
--- java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/SvtConverterRegistry.java (original)
+++ java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/SvtConverterRegistry.java Wed Oct 22 18:36:21 2014
@@ -10,6 +10,7 @@
import org.hps.conditions.svt.SvtGain.SvtGainCollection;
import org.hps.conditions.svt.SvtShapeFitParameters.SvtShapeFitParametersCollection;
import org.hps.conditions.svt.SvtT0Shift.SvtT0ShiftCollection;
+import org.hps.conditions.svt.TestRunSvtDaqMapping.TestRunSvtDaqMappingCollection;
/**
* Definitions of converters from the database to SVT specific conditions classes.
@@ -71,4 +72,12 @@
return SvtT0ShiftCollection.class;
}
}
+
+ public static class TestRunSvtDaqMappingConverter extends ConditionsObjectConverter<TestRunSvtDaqMappingCollection> {
+ public Class getType() {
+ return TestRunSvtDaqMappingCollection.class;
+ }
+ }
+
+
}
Modified: java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDaqMapping.java
=============================================================================
--- java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDaqMapping.java (original)
+++ java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDaqMapping.java Wed Oct 22 18:36:21 2014
@@ -2,6 +2,8 @@
import org.lcsim.detector.tracker.silicon.HpsSiSensor;
import org.lcsim.detector.tracker.silicon.HpsTestRunSiSensor;
+import org.hps.conditions.AbstractConditionsObject;
+import org.hps.conditions.ConditionsObjectCollection;
import org.hps.util.Pair;
/**
@@ -9,28 +11,39 @@
*
* @author Omar Moreno <[log in to unmask]>
*/
-public class TestRunSvtDaqMapping extends SvtDaqMapping {
+public class TestRunSvtDaqMapping extends AbstractConditionsObject {
- public static class SvtDaqMappingCollection extends SvtDaqMapping.SvtDaqMappingCollection {
+ public static class TestRunSvtDaqMappingCollection extends ConditionsObjectCollection<TestRunSvtDaqMapping> {
- /**
+ /**
+ * Flag values for top or bottom half.
+ */
+ public static final String TOP_HALF = "T";
+ public static final String BOTTOM_HALF = "B";
+
+ /**
+ * Flag values for axial or stereo sensors
+ */
+ public static final String AXIAL = "A";
+ public static final String STEREO = "S";
+
+ /**
* Get a test run DAQ pair (FPGA and Hybrid ID) for the given
* {@linkplain HpsTestRunSiSensor}
*
* @param sensor A sensor of type {@link HpsTestRunSiSensor}
* @return The DAQ pair associated with the sensor
*/
- @Override
Pair<Integer, Integer> getDaqPair(HpsSiSensor sensor){
String svtHalf = sensor.isTopLayer() ? TOP_HALF : BOTTOM_HALF;
- for(SvtDaqMapping daqMapping : this.getObjects()){
+ for(TestRunSvtDaqMapping daqMapping : this.getObjects()){
if(svtHalf.equals(daqMapping.getSvtHalf())
&& daqMapping.getLayerNumber() == sensor.getLayerNumber()){
- return new Pair<Integer, Integer>(((TestRunSvtDaqMapping) daqMapping).getFpgaID(),
- ((TestRunSvtDaqMapping) daqMapping).getHybridID());
+ return new Pair<Integer, Integer>(daqMapping.getFpgaID(),
+ daqMapping.getHybridID());
}
}
return null;
@@ -45,10 +58,9 @@
* orientation is Axial, an "S" if the orientation is Stereo or
* null if the daqPair doesn't exist.
*/
- @Override
public String getOrientation(Pair<Integer, Integer> daqPair){
- for(SvtDaqMapping daqMapping : this.getObjects()){
+ for(TestRunSvtDaqMapping daqMapping : this.getObjects()){
if(daqPair.getFirstElement() == ((TestRunSvtDaqMapping) daqMapping).getFpgaID()
&& daqPair.getSecondElement() == ((TestRunSvtDaqMapping) daqMapping).getHybridID()){
@@ -78,7 +90,7 @@
buffer.append('\n');
buffer.append("----------------------");
buffer.append('\n');
- for (SvtDaqMapping daqMapping : getObjects()){
+ for (TestRunSvtDaqMapping daqMapping : getObjects()){
TestRunSvtDaqMapping testRunDaqMapping = (TestRunSvtDaqMapping) daqMapping;
buffer.append(testRunDaqMapping.getFpgaID());
buffer.append(" ");
@@ -104,18 +116,15 @@
return getFieldValue("hybrid");
}
- // TODO: Instead of throwing an exception, these classes should be pulled out to
- // a subclass.
- public int getFebID() {
- throw new UnsupportedOperationException("The test run DAQ map doesn't use FEB ID's.");
+ public String getSvtHalf() {
+ return getFieldValue("svt_half");
+ }
+
+ public int getLayerNumber() {
+ return getFieldValue("layer");
}
- public int getFebHybridID() {
- throw new UnsupportedOperationException("The test run DAQ map doesn't use FEB Hybrid ID's.");
+ public String getOrientation() {
+ return getFieldValue("orientation");
}
-
- public String getSide(){
- throw new UnsupportedOperationException("The test run DAQ map doesn't use a side.");
- }
-
}
Modified: java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDaqMappingTest.java
=============================================================================
--- java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDaqMappingTest.java (original)
+++ java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDaqMappingTest.java Wed Oct 22 18:36:21 2014
@@ -5,7 +5,7 @@
import org.hps.conditions.DatabaseConditionsManager;
import org.hps.conditions.TableMetaData;
import org.hps.conditions.config.TestRunReadOnlyConfiguration;
-import org.hps.conditions.svt.TestRunSvtDaqMapping.SvtDaqMappingCollection;
+import org.hps.conditions.svt.TestRunSvtDaqMapping.TestRunSvtDaqMappingCollection;
/**
* This test checks if the test run SVT DAQ map was loaded with reasonable
@@ -23,35 +23,50 @@
// Total number of SVT sensors
public static final int TOTAL_NUMBER_OF_SENSORS = 20;
- // Min and max values of front end boad (FEB) hybrid ID's
+ // Min and max values of the FPGA ID's
+ public static final int MIN_FPGA_ID = 0;
+ public static final int MAX_FPGA_ID = 6;
+ // Min and max values of Hybrid ID's
public static final int MIN_HYBRID_ID = 0;
public static final int MAX_HYBRID_ID = 2;
+ // Min and max layer number values
+ public static final int MIN_LAYER_NUMBER = 1;
+ public static final int MAX_LAYER_NUMBER = 10;
public void setUp(){
- new TestRunReadOnlyConfiguration().setup().load("HPS-TestRun-v5", 0);
+ new TestRunReadOnlyConfiguration().setup().load("HPS-TestRun-v5", 1351);
conditionsManager = DatabaseConditionsManager.getInstance();
}
public void test(){
- metaData = conditionsManager.findTableMetaData(SvtDaqMappingCollection.class);
- SvtDaqMappingCollection daqMappingCollection
- = conditionsManager.getConditionsData(SvtDaqMappingCollection.class, metaData.getTableName());
+ metaData = conditionsManager.findTableMetaData(TestRunSvtDaqMappingCollection.class);
+ TestRunSvtDaqMappingCollection daqMappingCollection
+ = conditionsManager.getConditionsData(TestRunSvtDaqMappingCollection.class, metaData.getTableName());
int totalSensors = 0;
- int fpgaID;
- int hybridID;
this.printDebug("");
- for(SvtDaqMapping daqMapping : daqMappingCollection){
+ for(TestRunSvtDaqMapping daqMapping : daqMappingCollection){
- this.printDebug("Sensor: \n" + ((TestRunSvtDaqMapping) daqMapping).toString());
+ this.printDebug("Sensor: \n" + daqMapping.toString());
+
+ // Check that the FPGA ID is within the allowable limits
+ int fpgaID = daqMapping.getFpgaID();
+ assertTrue("FPGA ID " + fpgaID + " is out of range!",
+ fpgaID >= MIN_FPGA_ID && fpgaID <= MAX_FPGA_ID);
// Check that the Hybrid ID is within the allowable limits
- hybridID = ((TestRunSvtDaqMapping) daqMapping).getHybridID();
- assertTrue("Hybrid ID is out of range!.", hybridID >= MIN_HYBRID_ID && hybridID <= MAX_HYBRID_ID);
+ int hybridID = daqMapping.getHybridID();
+ assertTrue("Hybrid ID " + hybridID + " is out of range!",
+ hybridID >= MIN_HYBRID_ID && hybridID <= MAX_HYBRID_ID);
+
+ // Check that the layer number is within the allowable limits
+ int layerNumber = daqMapping.getLayerNumber();
+ assertTrue("The layer number " + layerNumber + " is out of range!",
+ layerNumber >= MIN_LAYER_NUMBER && layerNumber <= MAX_LAYER_NUMBER);
totalSensors++;
}
|