Author: omoreno
Date: Wed Oct 22 18:37:14 2014
New Revision: 1275
Log:
Work in progress on abstracting SvtConditionsConverter.
Added:
java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditionsConverter.java (with props)
Added: java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditionsConverter.java
=============================================================================
--- java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditionsConverter.java (added)
+++ java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditionsConverter.java Wed Oct 22 18:37:14 2014
@@ -0,0 +1,84 @@
+package org.hps.conditions.svt;
+
+import static org.hps.conditions.TableConstants.SVT_BAD_CHANNELS;
+import static org.hps.conditions.TableConstants.SVT_CALIBRATIONS;
+import static org.hps.conditions.TableConstants.SVT_CHANNELS;
+import static org.hps.conditions.TableConstants.SVT_DAQ_MAP;
+import static org.hps.conditions.TableConstants.SVT_GAINS;
+import static org.hps.conditions.TableConstants.SVT_PULSE_PARAMETERS;
+import static org.hps.conditions.TableConstants.SVT_TIME_SHIFTS;
+
+import org.lcsim.conditions.ConditionsConverter;
+import org.lcsim.conditions.ConditionsManager;
+import org.hps.conditions.DatabaseConditionsManager;
+import org.hps.conditions.TableMetaData;
+import org.hps.conditions.svt.SvtCalibration.SvtCalibrationCollection;
+import org.hps.conditions.svt.SvtChannel.SvtChannelCollection;
+import org.hps.conditions.svt.SvtShapeFitParameters.SvtShapeFitParametersCollection;
+
+
+/**
+ * Abstract class providing some of the common methods used in creating
+ * SVT conditions objects from the database.
+ *
+ * @author Omar Moreno <[log in to unmask]>
+ *
+ * @param <T> SVT conditions object type
+ */
+public abstract class AbstractSvtConditionsConverter<T> implements ConditionsConverter<T> {
+
+ private TableMetaData metaData = null;
+ private String tableName = null;
+
+ public abstract T getData(ConditionsManager manager, String name);
+
+
+ private SvtChannelCollection getSvtChannelMap(DatabaseConditionsManager dbConditionsManager){
+
+ // Get the table name containing the SVT channel map from the
+ // database configuration. If it doesn't exist, use the default value.
+ metaData = dbConditionsManager.findTableMetaData(SvtChannelCollection.class);
+ if(metaData != null){
+ tableName = metaData.getTableName();
+ } else {
+ tableName = SVT_CHANNELS;
+ }
+ // Get the SVT channel map from the conditions database
+ SvtChannelCollection channels
+ = dbConditionsManager.getCachedConditions(SvtChannelCollection.class, tableName).getCachedData();
+
+ return channels;
+ }
+
+ private SvtCalibrationCollection getCalibrations(DatabaseConditionsManager dbConditionsManager){
+
+ // Get the table name containing the SVT calibrations (baseline, noise)
+ // from the database configuration. If it doesn't exist, use the
+ // default value.
+ metaData = dbConditionsManager.findTableMetaData(SvtCalibrationCollection.class);
+ if(metaData != null){
+ tableName = metaData.getTableName();
+ } else {
+ tableName = SVT_CALIBRATIONS;
+ }
+ // Get the calibrations from the conditions database
+ SvtCalibrationCollection calibrations = dbConditionsManager.getCachedConditions(SvtCalibrationCollection.class, tableName).getCachedData();
+
+ return calibrations;
+ }
+
+ private SvtShapeFitParametersCollection getShapeFitParameters(DatabaseConditionsManager dbConditionsManager){
+ // Get the table name containing the SVT pulse shape parameters from
+ // the database configuration. If it doesn't exist, use the default value.
+ metaData = dbConditionsManager.findTableMetaData(SvtShapeFitParametersCollection.class);
+ if(metaData != null){
+ tableName = metaData.getTableName();
+ } else {
+ tableName = SVT_PULSE_PARAMETERS;
+ }
+ // Add pulse parameters by channel.
+ SvtShapeFitParametersCollection shapeFitParametersCollection = dbConditionsManager.getCachedConditions(SvtShapeFitParametersCollection.class, tableName).getCachedData();
+
+ return shapeFitParametersCollection;
+ }
+}
|