001 package edu.nrao.sss.model.parameter; 002 003 /** 004 * An enumeration of the Parameter constraints. 005 * <p> 006 * <b>Version Info:</b> 007 * <table style="margin-left:2em"> 008 * <tr><td>$Revision: 329 $</td></tr> 009 * <tr><td>$Date: 2007-02-06 11:43:05 -0700 (Tue, 06 Feb 2007) $</td></tr> 010 * <tr><td>$Author: switz $</td></tr> 011 * </table></p> 012 * 013 * @author Stephan Witz 014 * @since 2007--09-10 015 */ 016 public enum ParameterRule { 017 // Pad parameters, no bands required 018 PADAZ("PADAZ", EntityType.PAD, ValueType.DOUBLE, false), 019 PADEWTILT("EWTILT", EntityType.PAD, ValueType.DOUBLE, false), 020 PADNSTILT("NSTILT", EntityType.PAD, ValueType.DOUBLE, false), 021 PADAZENCZERO("AZENCZERO", EntityType.PAD, ValueType.DOUBLE, false), 022 PADX("X", EntityType.PAD, ValueType.DOUBLE, false), 023 PADY("Y", EntityType.PAD, ValueType.DOUBLE, false), 024 PADZ("Z", EntityType.PAD, ValueType.DOUBLE, false), 025 WGDELAY("WGDELAY", EntityType.PAD, ValueType.DOUBLE, false), 026 FIBERDELAY("FIBERDELAY", EntityType.PAD, ValueType.DOUBLE, false), 027 LOFIBERLENGHT("LOFIBERLENGTH", EntityType.PAD, ValueType.DOUBLE, false), 028 PARKAZIMUTH("PARKAZIMUTH", EntityType.PAD, ValueType.DOUBLE, false), 029 // Antenna parameters, no bands required 030 LOCATION("LOCATION", EntityType.ANTENNA, ValueType.PAD_NAME, false), 031 ANTEWTILT("EWTILT", EntityType.ANTENNA, ValueType.DOUBLE, false), 032 ANTNSTILT("NSTILT", EntityType.ANTENNA, ValueType.DOUBLE, false), 033 ANTAZENCZERO("AZENCZERO", EntityType.ANTENNA, ValueType.DOUBLE, false), 034 PERPENDICULARITY("PERPENDICULARITY", EntityType.ANTENNA, ValueType.DOUBLE, false), 035 AZCENTERINGCOS("AZCENTERINGCOS", EntityType.ANTENNA, ValueType.DOUBLE, false), 036 AZCENTERINGSIN("AZCENTERINGSIN", EntityType.ANTENNA, ValueType.DOUBLE, false), 037 ELCENTERINGCOS("ELCENTERINGCOS", EntityType.ANTENNA, ValueType.DOUBLE, false), 038 ELCENTERINGSIN("ELCENTERINGSIN", EntityType.ANTENNA, ValueType.DOUBLE, false), 039 ANTX("X", EntityType.ANTENNA, ValueType.DOUBLE, false), 040 ANTY("Y", EntityType.ANTENNA, ValueType.DOUBLE, false), 041 ANTZ("Z", EntityType.ANTENNA, ValueType.DOUBLE, false), 042 DCS("DCS", EntityType.ANTENNA, ValueType.OCTAL_INT, false), 043 KTERM("KTERM", EntityType.ANTENNA, ValueType.DOUBLE, false), 044 WGCHAN("WGCHAN", EntityType.ANTENNA, ValueType.DECIMAL_INT, false), 045 DELAY("DELAY", EntityType.ANTENNA, ValueType.DOUBLE, false), 046 DIGITIZERA("DIGITIZERA", EntityType.ANTENNA, ValueType.DOUBLE, false), 047 DIGITIZERB("DIGITIZERB", EntityType.ANTENNA, ValueType.DOUBLE, false), 048 DIGITIZERC("DIGITIZERC", EntityType.ANTENNA, ValueType.DOUBLE, false), 049 DIGITIZERD("DIGITIZERD", EntityType.ANTENNA, ValueType.DOUBLE, false), 050 SUBROTUP("SUBROTUP", EntityType.ANTENNA, ValueType.DOUBLE, false), 051 WIDAR("WIDAR", EntityType.ANTENNA, ValueType.DECIMAL_INT, false), 052 WIDARDELAYADJ("WIDARDELAYADJ", EntityType.ANTENNA, ValueType.DOUBLE, false), 053 // Antenna parameters, bands required 054 AZCOLIMATION("AZCOLIMATION", EntityType.ANTENNA, ValueType.DOUBLE, true), 055 ELCOLIMATION("ELCOLIMATION", EntityType.ANTENNA, ValueType.DOUBLE, true), 056 ROTATION("ROTATION", EntityType.ANTENNA, ValueType.DOUBLE, true), 057 FOCUS("FOCUS", EntityType.ANTENNA, ValueType.DOUBLE, true), 058 DELAYA("DELAYA", EntityType.ANTENNA, ValueType.DOUBLE, true), 059 DELAYB("DELAYB", EntityType.ANTENNA, ValueType.DOUBLE, true), 060 DELAYC("DELAYC", EntityType.ANTENNA, ValueType.DOUBLE, true), 061 DELAYD("DELAYD", EntityType.ANTENNA, ValueType.DOUBLE, true), 062 TCALA("TCALA", EntityType.ANTENNA, ValueType.DOUBLE, true), 063 TCALB("TCALB", EntityType.ANTENNA, ValueType.DOUBLE, true), 064 TCALC("TCALC", EntityType.ANTENNA, ValueType.DOUBLE, true), 065 TCALD("TCALD", EntityType.ANTENNA, ValueType.DOUBLE, true), 066 IFARFA("IFARFA", EntityType.ANTENNA, ValueType.DECIMAL_INT, true), 067 IFBRFA("IFBRFA", EntityType.ANTENNA, ValueType.DECIMAL_INT, true), 068 IFCRFA("IFCRFA", EntityType.ANTENNA, ValueType.DECIMAL_INT, true), 069 IFDRFA("IFDRFA", EntityType.ANTENNA, ValueType.DECIMAL_INT, true), 070 IFAOUTA("IFAOUTA", EntityType.ANTENNA, ValueType.DECIMAL_INT, true), 071 IFBOUTA("IFBOUTA", EntityType.ANTENNA, ValueType.DECIMAL_INT, true), 072 IFCOUTA("IFCOUTA", EntityType.ANTENNA, ValueType.DECIMAL_INT, true), 073 IFDOUTA("IFDOUTA", EntityType.ANTENNA, ValueType.DECIMAL_INT, true), 074 // Setup parameters, no bands required 075 GROUPVEL1("GROUPVEL1", EntityType.SETUP, ValueType.DOUBLE, false), 076 GROUPVEL2("GROUPVEL2", EntityType.SETUP, ValueType.DOUBLE, false), 077 GROUPVEL3("GROUPVEL3", EntityType.SETUP, ValueType.DOUBLE, false), 078 GROUPVEL4("GROUPVEL4", EntityType.SETUP, ValueType.DOUBLE, false), 079 GROUPVEL5("GROUPVEL5", EntityType.SETUP, ValueType.DOUBLE, false), 080 GROUPVEL6("GROUPVEL6", EntityType.SETUP, ValueType.DOUBLE, false), 081 GROUPVEL7("GROUPVEL7", EntityType.SETUP, ValueType.DOUBLE, false), 082 GROUPVEL8("GROUPVEL8", EntityType.SETUP, ValueType.DOUBLE, false), 083 GROUPVEL9("GROUPVEL9", EntityType.SETUP, ValueType.DOUBLE, false), 084 WG201("WG201", EntityType.SETUP, ValueType.DOUBLE, false), 085 WG202("WG202", EntityType.SETUP, ValueType.DOUBLE, false), 086 WG203("WG203", EntityType.SETUP, ValueType.DOUBLE, false), 087 WG204("WG204", EntityType.SETUP, ValueType.DOUBLE, false), 088 WG205("WG205", EntityType.SETUP, ValueType.DOUBLE, false), 089 WG206("WG206", EntityType.SETUP, ValueType.DOUBLE, false), 090 WG207("WG207", EntityType.SETUP, ValueType.DOUBLE, false), 091 WG208("WG208", EntityType.SETUP, ValueType.DOUBLE, false), 092 WG209("WG209", EntityType.SETUP, ValueType.DOUBLE, false), 093 // Setup parameters, bands required 094 DEFAULTACFREQ("DEFAULTACFREQ", EntityType.SETUP, ValueType.DOUBLE, true), 095 DEFAULBDFREQ("DEFAULTBDFREQ", EntityType.SETUP, ValueType.DOUBLE, true), 096 FOCUSCHANGE("FOCUSCHANGE", EntityType.SETUP, ValueType.DOUBLE, true), 097 ROTATIONCHANGE("ROTATIONCHANGE", EntityType.SETUP, ValueType.DOUBLE, true); 098 099 private final String name; 100 private final EntityType entityType; 101 private final ValueType valueType; 102 private final boolean bandRequired; 103 104 ParameterRule(String name, EntityType entityType, ValueType valueType, boolean bandRequired) { 105 this.name = name; 106 this.entityType = entityType; 107 this.valueType = valueType; 108 this.bandRequired = bandRequired; 109 } 110 public String getName() { 111 return name; 112 } 113 public EntityType getEntityType() { 114 return entityType; 115 } 116 public ValueType getValueType() { 117 return valueType; 118 } 119 public boolean isBandRequired() { 120 return bandRequired; 121 } 122 public String toString() { 123 StringBuilder result = new StringBuilder(); 124 result.append("name: "+getName()+"\n"); 125 if (getEntityType() == null) 126 result.append("entity type: null\n"); 127 else 128 result.append("entity type: "+getEntityType().getName()+"\n"); 129 result.append("band: "+isBandRequired()+"\n"); 130 if (getValueType() == null) 131 result.append("value type: null\n"); 132 else 133 result.append("value type: "+getValueType().getName()+"\n"); 134 return result.toString(); 135 } 136 }