001 package edu.nrao.sss.model.resource; 002 003 /** 004 * The way in which an observer selects antennas. 005 * <p> 006 * <b>Version Info:</b> 007 * <table style="margin-left:2em"> 008 * <tr><td>$Revision: 429 $</td></tr> 009 * <tr><td>$Date: 2007-03-08 15:34:34 -0700 (Thu, 08 Mar 2007) $</td></tr> 010 * <tr><td>$Author: dharland $</td></tr> 011 * </table></p> 012 * 013 * @author David M. Harland 014 * @since 2007-03-07 015 */ 016 public enum AntennaSelectionMethod 017 { 018 /** Select all available antennas. */ 019 ALL(false, false), 020 021 /** Provide a list of specific antennas. */ 022 LIST(true, false), 023 024 /** Select a minimum number of antennas. */ 025 MINIMUM_NUMBER(false, true), 026 027 /** 028 * Select a minimum number of antennas, choosing those that produce 029 * the shortest baselines. 030 */ 031 MINIMUM_NUMBER_SHORTEST_BASELINES(false, true), 032 033 /** 034 * Select a minimum number of antennas, choosing those that produce 035 * the longest baselines. 036 */ 037 MINIMUM_NUMBER_LONGEST_BASELINES(false, true), 038 039 /** 040 * Select a minimum number of antennas, choosing XXX. 041 */ 042 MINIMUM_NUMBER_EVEN_DISTRIBUTION(false, true); 043 044 private boolean requiresManualIdentification; 045 private boolean requiresMinimumNumberSpecification; 046 047 private AntennaSelectionMethod(boolean manualID, boolean minNum) 048 { 049 requiresManualIdentification = manualID; 050 requiresMinimumNumberSpecification = minNum; 051 } 052 053 /** 054 * Returns <i>true</i> if this method requires clients to make a manual 055 * selection of antennas. 056 * 057 * @return <i>true</i> if this method requires clients to make a manual 058 * selection of antennas. 059 */ 060 public boolean requiresManualIdentification() 061 { 062 return requiresManualIdentification; 063 } 064 065 /** 066 * Returns <i>true</i> if this method requires clients to specify a minimum 067 * number of antennas to select. 068 * 069 * @return <i>true</i> if this method requires clients to specify a minimum 070 * number of antennas to select. 071 */ 072 public boolean requiresMinimumNumberSpecification() 073 { 074 return requiresMinimumNumberSpecification; 075 } 076 }