|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.nrao.sss.model.project.scan.ScanLoopElement edu.nrao.sss.model.project.scan.Scan edu.nrao.sss.model.project.scan.TippingScan
public class TippingScan
A scan that tips the telescope to several elevations along a given azimuth.
CVS Info:
$Revision: 2146 $ |
$Date: 2009-04-01 11:21:10 -0600 (Wed, 01 Apr 2009) $ |
$Author: btruitt $ |
Field Summary |
---|
Fields inherited from class edu.nrao.sss.model.project.scan.Scan |
---|
DEFAULT_NAME |
Fields inherited from interface edu.nrao.sss.util.Identifiable |
---|
UNIDENTIFIED |
Fields inherited from interface edu.nrao.sss.model.UserAccountable |
---|
NULL_USER_ID |
Method Summary | |
---|---|
void |
addElevations(Angle minEl,
Angle maxEl,
int elevationCount,
TimeDuration timePerElevation)
Adds a series of tipping elevations to this scan's list. |
TippingScan |
clone()
Returns a tipping scan that is a copy of this one. |
boolean |
equals(Object o)
Returns true if o is equal to this tipping scan. |
boolean |
getAllowReverseOrder()
Returns true if successive iterations of this scan are allowed to cycle through the elevations in opposite orders. |
Angle |
getAzimuth()
Returns the azimuth along which the tipping will be done. |
List<TippingPosition> |
getElevations()
Returns a sorted list of tipping elevations. |
List<TippingPosition> |
getElevations(int iteration)
Returns a list of tipping elevations that has been sorted in a way that is appropriate for the given iteration of this scan. |
TippingOrder |
getOrder()
Returns the order (low-to-high or high-to-low) in which the tipping is performed. |
int |
hashCode()
Returns a hash code value for this scan loop element. |
void |
setAllowReverseOrder(boolean allow)
Configures this scan so that even numbered iterations of this scan proceed in either the opposite or same order as the first iteration. |
void |
setAzimuth(Angle newAzimuth)
Sets the azimuth along which the tipping will be done. |
void |
setElevations(List<TippingPosition> replacementList)
Sets the list of tipping elevations held by this scan. |
void |
setOrder(TippingOrder newOrder)
Sets the tipping order to either low-to-high or high-to-low. |
void |
setSourceCatalogEntry(SourceCatalogEntry sourceOrTable)
Does nothing. |
String |
toSummaryString()
Returns a short textual description of this scan loop element. |
Methods inherited from class edu.nrao.sss.model.project.scan.ScanLoopElement |
---|
appendComments, getComments, getCreatedBy, getCreatedOn, getId, getLastUpdatedBy, getLastUpdatedOn, getName, getProgramBlock, getProject, getSchedulingBlock, hasSchedulingBlock, setComments, setCreatedBy, setCreatedOn, setId, setLastUpdatedBy, setLastUpdatedOn, setName, setSchedulingBlock, toString, toXml, writeAsXmlTo |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Method Detail |
---|
public void setSourceCatalogEntry(SourceCatalogEntry sourceOrTable)
setSourceCatalogEntry
in class Scan
sourceOrTable
- the Source
or SourceLookupTable
to
use for this scan.public void setAzimuth(Angle newAzimuth)
newAzimuth
- the azimuth along which the tipping will be done.public Angle getAzimuth()
public void setOrder(TippingOrder newOrder)
newOrder
- the order in which the tipping should be
performed. A value of null is treated as
a signal to perform the tipping in a default
order.public TippingOrder getOrder()
public void setAllowReverseOrder(boolean allow)
Example: An observer sets the tipping order to low-to-high. There is
enough time in this scan to do multiple iterations of the tipping.
If allow
is true, then the second (and all other even-numbered)
tipping(s) will be from high-to-low -- the reverse order of the first.
If allow
is false, all tippings will be from low-to-high.
allow
- allows subsequent iterations of this scan to cycle through
the elevations in reverse order, relative to the prior
iteration.public boolean getAllowReverseOrder()
setAllowReverseOrder(boolean)
public void addElevations(Angle minEl, Angle maxEl, int elevationCount, TimeDuration timePerElevation) throws IllegalArgumentException
elevationCount
.
The lowest new elevation is minEl
, the largest is
maxEl
. The other elevations are derived in such
a way that the graph of elevation index versus the secant
of the zenith angle is linear.
minEl
- the minimum elevation to be added.
While a minimum elevation of zero is permitted,
using a zero elevation is unlikely to give
useful results as the algorithm used approaches
infinity for one of its intermediate values.maxEl
- the maximum elevation to be added.elevationCount
- the number of new elevations to be added.
Special cases:minEl
will be
added.minEl
and
maxEl
will be added.IllegalArgumentException
- if either minEl
or
maxEl
are not within the range [0,quarterCircle].public void setElevations(List<TippingPosition> replacementList)
replacementList
will be interpreted
as a new empty list.
This scan will hold a reference to replacementList
(unless it is null), so any changes made to the list
after calling this method will be reflected in this object.
replacementList
- a list of tipping offsets to be held by this
scan.public List<TippingPosition> getElevations()
tipping order
.
The returned list is the actual list held by this scan, so changes made to the list will be reflected in this object.
public List<TippingPosition> getElevations(int iteration)
The appropriate sorting order is determined by the value of the
getAllowReverseOrder()
property and the iteration number.
If getAllowReverseOrder()
is true and the iteration is
an even number, then the sorting is in the opposite direction of
that specified by getOrder()
.
Note that the returned list is not the list held internally by the scan, so changes to the list will not be reflected in this object. However, the elevations held in the returned list are the same elevations held by this object's internal list, so changing one of those objects will impact this one.
iteration
- one more than the number of times this scan has
already been run. The minimum acceptable value
is one.
IllegalArgumentException
public String toSummaryString()
ScanLoopElement
toSummaryString
in class Scan
public TippingScan clone()
The returned scan is, for the most part, a deep copy of this one.
However, there are a few exceptions noted in the
clone method
of this class's parent.
If anything goes wrong during the cloning procedure,
a RuntimeException
will be thrown.
clone
in class Scan
public boolean equals(Object o)
o
is equal to this tipping scan.
In order for o
to be equal to this scan, it must have
equal tipping positions in the same order as those of this scan.
It must also follow the rules set forth in the
equals method
of this class's parent.
equals
in class Scan
public int hashCode()
ScanLoopElement
hashCode
in class Scan
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |