|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.nrao.sss.model.resource.CorrelatorConfiguration edu.nrao.sss.model.resource.vla.VlaConfiguration
public class VlaConfiguration
The configuration of the VLA correlator.
This class was created without a lot of care. It is meant to be used for a short period of time, primarily to support Ka observing on the "interim" system.
UPDATE: the code in here has become progressively worse. It is a dangerous class to use unless you have insider knowledge. This class is planned for destruction in 2010.
Another UPDATE: Yup, this is the worst crap i've written in a decade. Recently tried to effect a simple change in behavior, and found what appeared to be the right place to change. Took a few attempts before doing it right. This class cannot be killed soon enough.
Version Info:
$Revision: 2271 $ |
$Date: 2009-04-28 12:02:17 -0600 (Tue, 28 Apr 2009) $ |
$Author: dharland $ (last person to modify) |
Field Summary |
---|
Fields inherited from class edu.nrao.sss.model.resource.CorrelatorConfiguration |
---|
activeBBs, bbListeners, inactiveBBs, signalSource |
Fields inherited from interface edu.nrao.sss.util.Identifiable |
---|
UNIDENTIFIED |
Constructor Summary | |
---|---|
VlaConfiguration(AntennaElectronics signalSrc)
|
Method Summary | |
---|---|
void |
actionPerformed(ActionEvent event)
|
String[] |
calcLoIfSetupParams(DopplerTracker acTracker,
DopplerTracker bdTracker,
Date when)
Returns an array of text that can be used in the LoIfSetup constructor. |
VlaConfiguration |
clone()
Returns a copy of this configuration. |
void |
configureFrom(ResourceSpecification scienceView)
This method is not yet supported. |
boolean |
equals(Object o)
Returns true if o is equal to this configuration. |
Frequency |
getBandwidth(IFPair ifPair)
Returns the bandwidth used for this configuration for the given IF pair. |
BandwidthCode |
getBandwidthCode(IFCode ifCode)
Returns the bandwidth code used for the given IF. |
Frequency |
getBandwidthNominal(IFPair ifPair)
|
Frequency |
getCentralFrequency(IFPair ifPair)
Returns a copy of one of the two central frequencies that can be held by this configuration. |
Frequency |
getCentralSkyFrequency(IFPair ifPair,
DopplerTracker dt,
Date dateTime)
Returns a central sky frequency for the given IF pair. |
Frequency |
getCentralSkyFrequency(IFPair ifPair,
Source source,
Date dateTime)
Deprecated. do not use; see getCentralSkyFrequency(IFPair, DopplerTracker, Date) |
CorrelatorMode |
getCorrelatorMode()
Returns the correlator mode for this configuration. |
FrequencyRange |
getFrequencyRange(IFPair ifPair)
Returns the sky frequency range for this configuration for the given IF pair. |
BigDecimal |
getIntegrationTime()
Returns a copy of the integration time for this configuration. |
CorrelatorName |
getName()
Returns a more specific type for this backend. |
Set<ProcessingType> |
getSpectralProcessing()
Returns the collection of spectral processing options used by this configuration. |
Frequency |
getSSLO(IFPair ifPair)
Deprecated. Do not use; see getSSLO(IFPair, DopplerTracker, Date) instead. |
Frequency |
getSSLO(IFPair ifPair,
DopplerTracker dt,
Date dateTime)
Deprecated. Do not use; see calcLoIfSetupParams(DopplerTracker, DopplerTracker, Date) instead. |
List<BigDecimal> |
getValidIntegrationTimes()
Returns a list of valid integration times for the VLA correlator. |
int |
hashCode()
Returns a hash code value for this configuration. |
boolean |
isSkyFrequency(IFPair ifPair)
Returns true if the central frequency for the specified IFPair was specified as a Sky Frequency, false if it was specified as a Rest Frequency. |
protected VlaBasebandPair |
makeBasebandFrom(DigitalSignal ds)
Creates a new baseband from the given digital signal. |
protected VlaBasebandPair |
makeBasebandFrom(DigitalSignal ds1,
DigitalSignal ds2)
Creates a new baseband from the given digital signals. |
void |
setAll(Frequency centFreqAC,
Frequency centFreqBD,
BandwidthCode bwAC,
BandwidthCode bwBD,
CorrelatorMode corrMode,
Set<ProcessingType> processingOptions,
BigDecimal integrationSeconds)
A convenience method for setting all the old-style parameters at once. |
void |
setBandwidthCode(IFCode ifCode,
BandwidthCode bwCode)
Sets the bandwidth code to use for the given IF. |
void |
setBandwidthCodes(BandwidthCode ifsAC,
BandwidthCode ifsBD)
Sets the bandwidth codes for all four IFs at once, setting A & C to one value and B & D to the other. |
void |
setBandwidthCodes(BandwidthCode ifA,
BandwidthCode ifB,
BandwidthCode ifC,
BandwidthCode ifD)
Sets the bandwidth codes for all four IFs at once. |
void |
setCentralFrequency(IFPair ifPair,
Frequency central)
calls setCentralFrequency(ifPair, central, true); |
void |
setCentralFrequency(IFPair ifPair,
Frequency central,
boolean isSkyFrequency)
Sets one of the two central frequencies that can be held by this configuration. |
void |
setCorrelatorMode(CorrelatorMode newMode)
Sets the correlator mode for this configuration. |
void |
setIntegrationTime(BigDecimal seconds)
Sets a new integration time for this configuration. |
void |
setSpectralProcessing(Set<ProcessingType> options)
Sets this configuration's spectral processing options. |
void |
tidyUp()
Sets the central frequency and bandwidth of the unused IF pair, if any, to that of the IF pair that is being used. |
Methods inherited from class edu.nrao.sss.model.resource.CorrelatorConfiguration |
---|
addBasebandCollectionListener, clearId, createdBasebandsFromPersistentStore, getBasebands, getId, getOrderedBasebands, getSignalSource, getSupportedCorrelators, getType, makeFor, removeBasebandCollectionListener, setId, setSignalSource |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public VlaConfiguration(AntennaElectronics signalSrc)
Method Detail |
---|
public CorrelatorName getName()
TelescopeBackend
protected VlaBasebandPair makeBasebandFrom(DigitalSignal ds)
CorrelatorConfiguration
This method is expected to produce a CorrelatorBaseband
whose CorrelatorBaseband.isSinglet()
property is
true.
makeBasebandFrom
in class CorrelatorConfiguration
ds
- the digital signal that serves as the signal source for the
newly created baseband.
ds
is null.protected VlaBasebandPair makeBasebandFrom(DigitalSignal ds1, DigitalSignal ds2)
CorrelatorConfiguration
This method is expected to produce a CorrelatorBaseband
whose CorrelatorBaseband.isPair()
property is
true.
makeBasebandFrom
in class CorrelatorConfiguration
ds1
- one of two digital signals that serve as the signal sources for the
newly created baseband.ds2
- one of two digital signals that serve as the signal sources for the
newly created baseband.
ds1
or ds2
is null.public void actionPerformed(ActionEvent event)
public void configureFrom(ResourceSpecification scienceView)
scienceView
- a specification for the science goals to be met
by this hardware.public void setAll(Frequency centFreqAC, Frequency centFreqBD, BandwidthCode bwAC, BandwidthCode bwBD, CorrelatorMode corrMode, Set<ProcessingType> processingOptions, BigDecimal integrationSeconds)
public void setCentralFrequency(IFPair ifPair, Frequency central, boolean isSkyFrequency)
ifPair
- the IF pair for which the central frequency is being set.central
- the central frequency. To use only one central frequency,
set the other to a value of zero.isSkyFrequency
- True if central is a sky frequency, false if it is a
rest frequency.
IllegalArgumentException
- if either parameter is null or if central
is not within
the range of the selected receiver.public void setCentralFrequency(IFPair ifPair, Frequency central)
public boolean isSkyFrequency(IFPair ifPair)
public Frequency getCentralFrequency(IFPair ifPair)
This central frequency may be either a rest or sky frequency;
use isSkyFrequency(IFPair)
to determine which it is.
See also getCentralSkyFrequency(IFPair, Source, Date)
.
ifPair
- the IF pair for which the central frequency is being sought.
IllegalArgumentException
- if ifPair
is null.public Frequency getCentralSkyFrequency(IFPair ifPair, Source source, Date dateTime) throws CoordinateConversionException
getCentralSkyFrequency(IFPair, DopplerTracker, Date)
CoordinateConversionException
public Frequency getCentralSkyFrequency(IFPair ifPair, DopplerTracker dt, Date dateTime) throws CoordinateConversionException
source
and dateTime
are used only if the stored
frequency is a rest frequency.
ifPair
- the IF pair for which the central sky frequency is being sought.dt
- a Doppler tracker that will provide information on source position,
source velocity, and earth velocity.
If this value is null Doppler tracking will not
be performed.dateTime
- the date and time of the observation.
This parameter is used if this configuration holds a rest frequency.
The velocity of the source relative to the EVLA is calculated using
this point in time.
If this value is null the current system time will be used.
IllegalArgumentException
- if ifPair
is null.
CoordinateConversionException
- if the position of the source cannot be converted to
an equatorial RA / Dec position.public Frequency getBandwidth(IFPair ifPair)
ifPair
- the IF pair (A/C or B/D) for which the bandwidth is requested.
public Frequency getBandwidthNominal(IFPair ifPair)
public FrequencyRange getFrequencyRange(IFPair ifPair)
ifPair
- the IF pair (A/C or B/D) for which the bandwidth is requested.
public String[] calcLoIfSetupParams(DopplerTracker acTracker, DopplerTracker bdTracker, Date when) throws CoordinateConversionException
acTracker
- a doppler tracker for the A/C IF pair.bdTracker
- a doppler tracker for the B/D IF pair.when
- the point in time to use for calculating doppler shifts.
CoordinateConversionException
- see getCentralSkyFrequency(IFPair, DopplerTracker, Date)
.public Frequency getSSLO(IFPair ifPair, DopplerTracker dt, Date dateTime) throws CoordinateConversionException
calcLoIfSetupParams(DopplerTracker, DopplerTracker, Date)
instead.
CoordinateConversionException
public Frequency getSSLO(IFPair ifPair)
getSSLO(IFPair, DopplerTracker, Date)
instead.
public List<BigDecimal> getValidIntegrationTimes()
public void setIntegrationTime(BigDecimal seconds)
seconds
- a new integration time for this configuration.
The value should be chosen from the list of
valid values
.
IllegalArgumentException
- if seconds
is not one of the valid values from
getValidIntegrationTimes()
.public BigDecimal getIntegrationTime()
public void setCorrelatorMode(CorrelatorMode newMode)
newMode
- the new correlator mode for this configuration.
IllegalArgumentException
- if newMode
is null.public CorrelatorMode getCorrelatorMode()
public void setBandwidthCode(IFCode ifCode, BandwidthCode bwCode)
ifCode
- the IF for which bandCode
will be applied.bwCode
- the bandwidth code to use for the given IF code.
The bandwidth code determines bandwidth and the maximum number of
spectral channels for the given IF.
IllegalArgumentException
- if either parameter is null.public void setBandwidthCodes(BandwidthCode ifA, BandwidthCode ifB, BandwidthCode ifC, BandwidthCode ifD)
ifA
- the bandwidth code to use for IF A.ifB
- the bandwidth code to use for IF B.ifC
- the bandwidth code to use for IF C.ifD
- the bandwidth code to use for IF D.
IllegalArgumentException
- if any of the parameters are null.public void setBandwidthCodes(BandwidthCode ifsAC, BandwidthCode ifsBD)
setBandwidthCodes(BandwidthCode, BandwidthCode, BandwidthCode, BandwidthCode)
public BandwidthCode getBandwidthCode(IFCode ifCode)
ifCode
- the IF for which the returned bandwidth code is used.
IllegalArgumentException
- if ifCode
is null.public Set<ProcessingType> getSpectralProcessing()
public void setSpectralProcessing(Set<ProcessingType> options)
options
- new spectral processing options for this configuration.public void tidyUp()
public VlaConfiguration clone()
CorrelatorConfiguration
If anything goes wrong during the cloning procedure,
a RuntimeException
will be thrown.
clone
in interface TelescopeBackend
clone
in class CorrelatorConfiguration
public boolean equals(Object o)
o
is equal to this configuration.
equals
in class CorrelatorConfiguration
public int hashCode()
hashCode
in class CorrelatorConfiguration
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |