Class TemperatureRunningAverageChannel

java.lang.Object
org.lsst.ccs.monitor.Channel
org.lsst.ccs.monitor.DerivedChannel
org.lsst.ccs.subsystem.focalplane.TemperatureRunningAverageChannel
All Implemented Interfaces:
org.lsst.ccs.config.ConfigurationBulkChangeHandler, org.lsst.ccs.config.HasConfigurationParameterDescription, org.lsst.ccs.framework.HasLifecycle, org.lsst.ccs.StateChangeListener

public class TemperatureRunningAverageChannel extends org.lsst.ccs.monitor.DerivedChannel implements org.lsst.ccs.StateChangeListener
A DerivedChannel that keeps a running average of the provided list of channels. Configuration parameter temperatureNames contains the list of the temperature channels to be used in evaluating the running average. The names are meant to be those of SIBLING channels; this means that only the leaf name should be provided (Temp6, Temp10). To start the evaluation of the running average invoke method startAveraging; to stop the evaluation, invoke endAveraging. When the evaluation is stopped the channel publishes Double.NaN.
Author:
The LSST CCS Team
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected List<String>
     

    Fields inherited from class org.lsst.ccs.monitor.Channel

    alarmHi, alarmHiA, alarmLo, alarmLoA, checkHi, checkLo, description, devcName, doNotPublish, doNotTrend, format, hwChan, hysteresis, limitHi, limitLo, offset, pageId, scale, subtype, type, TYPE_DIFF, TYPE_POWER, TYPE_PROD, TYPE_QUOT, TYPE_SUM, TYPE_SWITCH, TYPE_TEMP, TYPE_UNKNOWN, TYPE_VOLTS, typeI, units, warnHi, warnLo
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    double
     
    void
     
    void
    stateChanged(org.lsst.ccs.utilities.taitime.CCSTimeStamp stateTransitionTimestamp, Object changedObj, Enum<?> newState, Enum<?> oldState)
     
    void
     

    Methods inherited from class org.lsst.ccs.monitor.Channel

    build, convertRawValue, getConfigurationParameterDescription, getDescription, getDevice, getFormat, getGroup, getHwChan, getHysteresisLimitHi, getHysteresisLimitLo, getHysteresisWarnHi, getHysteresisWarnLo, getId, getLastMeasurement, getLimitHi, getLimitLo, getName, getPageId, getPath, getSubType, getSubTypeStr, getType, getTypeStr, getUnits, getValue, getWarnHi, getWarnLo, hasHysteresis, readValue, setParameterBulk

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.lsst.ccs.framework.HasLifecycle

    postBuild, postInit, postShutdown, postStart, shutdown, start

    Methods inherited from interface org.lsst.ccs.StateChangeListener

    stateChanged
  • Field Details

    • temperatureNames

      @ConfigurationParameter(name="temperatureNames", category="General", description="List of sibling temperature channels to average", maxLength=5, units="unitless") protected volatile List<String> temperatureNames
  • Constructor Details

    • TemperatureRunningAverageChannel

      public TemperatureRunningAverageChannel()
  • Method Details

    • init

      public void init()
      Specified by:
      init in interface org.lsst.ccs.framework.HasLifecycle
      Overrides:
      init in class org.lsst.ccs.monitor.Channel
    • validateBulkChange

      public void validateBulkChange(Map<String,Object> params)
      Specified by:
      validateBulkChange in interface org.lsst.ccs.config.ConfigurationBulkChangeHandler
      Overrides:
      validateBulkChange in class org.lsst.ccs.monitor.Channel
    • stateChanged

      public void stateChanged(org.lsst.ccs.utilities.taitime.CCSTimeStamp stateTransitionTimestamp, Object changedObj, Enum<?> newState, Enum<?> oldState)
      Specified by:
      stateChanged in interface org.lsst.ccs.StateChangeListener
    • evaluateDerivedValue

      public double evaluateDerivedValue()
      Specified by:
      evaluateDerivedValue in class org.lsst.ccs.monitor.DerivedChannel