Author: omoreno Date: Mon Oct 27 11:26:05 2014 New Revision: 1310 Log: Add abstract generic methods for obtaining the SVT DAQ map and the SVT channel map. Modified: java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java Modified: java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java ============================================================================= --- java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java (original) +++ java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java Mon Oct 27 11:26:05 2014 @@ -3,6 +3,8 @@ import java.util.HashMap; import java.util.Map; +import org.hps.conditions.svt.AbstractSvtChannel.AbstractSvtChannelCollection; +import org.hps.conditions.svt.AbstractSvtDaqMapping.AbstractSvtDaqMappingCollection; import org.hps.conditions.svt.SvtChannel.SvtChannelCollection; import org.hps.conditions.svt.SvtT0Shift.SvtT0ShiftCollection; @@ -12,29 +14,35 @@ * * @author Omar Moreno <[log in to unmask]> * - * @param <T> SVT conditions object type */ -public class AbstractSvtConditions { +public abstract class AbstractSvtConditions { - protected Map<SvtChannel, ChannelConstants> channelData = new HashMap<SvtChannel, ChannelConstants>(); - protected SvtChannelCollection channelMap = null; + protected Map<AbstractSvtChannel, ChannelConstants> channelData + = new HashMap<AbstractSvtChannel, ChannelConstants>(); protected SvtT0ShiftCollection t0Shifts = null; + protected AbstractSvtChannel.AbstractSvtChannelCollection<? extends AbstractSvtChannel> channelMap = null; - public AbstractSvtConditions() {} + + /** + * Get the DAQ map associated with these conditions. + * + * @return The SVT DAQ map. + */ + public abstract AbstractSvtDaqMappingCollection<? extends AbstractSvtDaqMapping> getDaqMap(); /** * Get the conditions constants for a specific channel. These will be created if they * do not exist for the given channel, BUT only channels in the current channel map * are allowed as an argument. * - * @param channel The SVT channel. - * @return The conditions constants for the channel. + * @param channel The SVT channel of interest + * @return The conditions constants for the given channel * @throws IllegalArgumentException if . */ - public ChannelConstants getChannelConstants(SvtChannel channel) { + public ChannelConstants getChannelConstants(AbstractSvtChannel channel) { // This channel must come from the map. if (!channelMap.getObjects().contains(channel)) { - System.err.println("Channel not found in map => " + channel); + System.err.println("[ " + this.getClass().getSimpleName() + " ]: Channel not found in map => " + channel); throw new IllegalArgumentException("Channel was not found in map."); } // If channel has no data yet, then add it. @@ -48,9 +56,7 @@ * * @return The SVT channel map. */ - public SvtChannelCollection getChannelMap() { - return channelMap; - } + public abstract AbstractSvtChannelCollection<? extends AbstractSvtChannel> getChannelMap(); /** * Get the {@link SvtT0ShiftCollection}. @@ -59,23 +65,15 @@ */ public SvtT0ShiftCollection getT0Shifts() { return t0Shifts; + } - + /** - * Set the channel map of type {@link SvtChannelCollection}. - * - * @param channelMap The SVT channel map. - */ - public void setChannelMap(SvtChannelCollection channelMap){ - this.channelMap = channelMap; - } - - /** - * Set the sensor t0 shifts. + * Set the sensor t0 shifts of type {@link SvtT0ShiftCollection} * * @param t0Shifts The sensor time shifts collection. */ - public void setTimeShifts(SvtT0ShiftCollection t0Shifts) { + public void setT0Shifts(SvtT0ShiftCollection t0Shifts) { this.t0Shifts = t0Shifts; } }