Author: [log in to unmask]
Date: Sat Mar 14 11:59:39 2015
New Revision: 2443
Log:
Create a set of SvtChannel's every time a new DAQ map processed and load them to the conditions database. This assures that SvtChannel sets are created only for FEB/Hybrid pairs that are being used.
Modified:
java/trunk/conditions/src/main/java/org/hps/conditions/svt/DaqMapHandler.java
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/svt/DaqMapHandler.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/svt/DaqMapHandler.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/svt/DaqMapHandler.java Sat Mar 14 11:59:39 2015
@@ -4,6 +4,7 @@
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
+import org.hps.conditions.svt.SvtChannel.SvtChannelCollection;
import org.hps.conditions.svt.SvtDaqMapping.SvtDaqMappingCollection;
/**
@@ -15,11 +16,20 @@
// Collection of DAQ map objects
private SvtDaqMappingCollection daqMap = new SvtDaqMappingCollection();
+
+ // Collection of SVT channel objects
+ private SvtChannelCollection svtChannels = new SvtChannelCollection();
// An SVT DAQ map object
private SvtDaqMapping daqMapping = null;
+
+ // Text node inside of an XML element
+ String content;
- String content;
+ // Current SVT channel ID. This gets incremented every time an SvtChannel
+ // gets added to the map.
+ int currentSvtChannelID = 0;
+
// FEB ID (0-9)
int febID = 0;
@@ -71,6 +81,7 @@
switch (qName) {
case "Hybrid":
daqMap.add(daqMapping);
+ this.addSvtChannels(febID, hybridID);
break;
case "Half":
daqMapping.setSvtHalf(content);
@@ -101,14 +112,39 @@
content = String.copyValueOf(ch, start, length).trim();
}
+ /**
+ * Add a set of {@link SvtChannel}s to the {@link SvtChannelCollection}
+ * for each of the hybrids. A total of 639 channels are added per hybrid.
+ *
+ * @param febID : The Front End Board (FEB) ID
+ * @param febHybridID : The FEB hybrid ID
+ *
+ */
+ public void addSvtChannels(int febID, int febHybridID) {
+ for (int channel = 0; channel < 640; channel++) {
+ this.svtChannels.add(new SvtChannel(
+ this.currentSvtChannelID, this.febID, this.hybridID, channel));
+ this.currentSvtChannelID++;
+ }
+ }
+
/**
- * Get the collection of {@link SvtDaqMappingCollection}s built from
- * parsing the XML input file.
+ * Get the {@link SvtDaqMappingCollection} built from parsing the XML
+ * input file.
*
* @return The collection of {@link SvtDaqMappingCollection}s
*/
public SvtDaqMappingCollection getDaqMap() {
return daqMap;
}
+
+ /**
+ * Get the {@link SvtChannelCollection} build from parsing the XML input
+ * file.
+ *
+ */
+ public SvtChannelCollection getSvtChannels() {
+ return svtChannels;
+ }
}
|