gov.sns.xal.tools.orbit
Class OrbitCorrelator

java.lang.Object
  |
  +--gov.sns.tools.correlator.Correlator
        |
        +--gov.sns.ca.correlator.ChannelCorrelator
              |
              +--gov.sns.xal.tools.orbit.OrbitCorrelator

public class OrbitCorrelator
extends ChannelCorrelator

OrbitCorrelator correlates the signals from several bpms. This is a nested correlator. Each bpm is assigned an associated bpm correlator which correlates its bpm signals (xAvg, yAvg, ampAvg). The bpm correlators are assigned as sources to the orbit correlator which correlates the bpm results. A bpm result is a convenient wrapper of a bpm correlation.


Field Summary
 
Fields inherited from class gov.sns.tools.correlator.Correlator
_binTimespan, correlationTester, localCenter
 
Constructor Summary
OrbitCorrelator()
          Create a new instance of OrbitCorrelator with the default bin width
OrbitCorrelator(double aBinTimespan)
          Creates a new instance of OrbitCorrelator
OrbitCorrelator(double aBinTimespan, CorrelationFilter aFilter)
           
 
Method Summary
 boolean addBpm(BPM bpm)
          add a bpm as a source to correlate Returns true if the bpm was successfully added.
 boolean addBpm(BPM bpm, BpmFilter recordFilter)
          add a bpm as a source to correlate and specify a filter for the bpm signals Returns true if the bpm was successfully added.
 boolean addBpms(java.util.Collection bpms)
          add the collection of bpms as sources to correlate Returns true if all of the bpms were successfully added.
protected  SourceAgent newSourceAgent(java.lang.Object source, java.lang.String sourceName, RecordFilter recordFilter)
          A source agent for an orbit correlator is a bpm source which has its own internal correlator for its bpm signals.
 void removeBpm(BPM bpm)
          remove the bpm from the correlation request
 
Methods inherited from class gov.sns.ca.correlator.ChannelCorrelator
addChannel, addChannel, addChannel, addChannel, addChannel, addChannel, inactiveChannelsByName, numActiveChannels, numInactiveChannels, removeAllChannels, removeChannel, removeChannel
 
Methods inherited from class gov.sns.tools.correlator.Correlator
addListener, addSource, addSource, binTimespan, dispose, fetchCorrelationWithTimeout, getNamesOfSources, getSourceAgents, hasSource, isRunning, monitorWithTimeout, numSources, pulseMonitorWithTimeout, registerEvents, removeAllSources, removeListener, removeSource, setBinTimespan, setCorrelationFilter, startMonitoring, stopMonitoring
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OrbitCorrelator

public OrbitCorrelator()
Create a new instance of OrbitCorrelator with the default bin width


OrbitCorrelator

public OrbitCorrelator(double aBinTimespan)
Creates a new instance of OrbitCorrelator


OrbitCorrelator

public OrbitCorrelator(double aBinTimespan,
                       CorrelationFilter aFilter)
Method Detail

newSourceAgent

protected SourceAgent newSourceAgent(java.lang.Object source,
                                     java.lang.String sourceName,
                                     RecordFilter recordFilter)
A source agent for an orbit correlator is a bpm source which has its own internal correlator for its bpm signals.

Overrides:
newSourceAgent in class ChannelCorrelator
Parameters:
source - The new source to monitor and correlate.
sourceName - The name to be associated with the source.
recordFilter - The filter to apply to the source's records.

addBpms

public boolean addBpms(java.util.Collection bpms)
add the collection of bpms as sources to correlate Returns true if all of the bpms were successfully added.


addBpm

public boolean addBpm(BPM bpm)
add a bpm as a source to correlate Returns true if the bpm was successfully added.


addBpm

public boolean addBpm(BPM bpm,
                      BpmFilter recordFilter)
add a bpm as a source to correlate and specify a filter for the bpm signals Returns true if the bpm was successfully added.


removeBpm

public void removeBpm(BPM bpm)
remove the bpm from the correlation request