Public Member Functions | |
AxisError () | |
Default constructor. | |
AxisError (Double plusminus, ErrorSource sourcetype, ErrorNorm normtype) | |
Constructor for symmetric error. | |
AxisError (Double plus, Double minus, ErrorSource sourcetype, ErrorNorm normtype) | |
Constructor for asymmetric errors. | |
AxisError (YAxis parent, Double plusminus, ErrorSource sourcetype, ErrorNorm normtype) | |
Constructor for symmetric error, with parent axis. | |
AxisError (YAxis parent, Double plus, Double minus, ErrorSource sourcetype, ErrorNorm normtype) | |
Constructor for asymmetric errors, with parent axis. | |
Integer | getId () |
Get the axis error ID. | |
AxisError | setId (Integer axisErrorId) |
Set the axis error ID. | |
.hibernate.annotations.Parent YAxis | getAxis () |
Get the parent axis. | |
AxisError | setAxis (YAxis parentAxis) |
Set the parent point. | |
int | compareTo (AxisError other) |
boolean | equals (Object other) |
Override equals method with business key equality. | |
int | hashCode () |
Override hashcode method. | |
boolean | isSymmetric () |
Are the plus and minus errors symmetric? | |
boolean | hasZeroSize () |
Are the plus and minus errors both zero? | |
Uncertainty | getAbsoluteError (Point p) throws HDException |
Calculate the absolute error object for this error and the given Point. | |
Double | getPlus () |
Get the upward error. | |
Uncertainty | setPlus (Double plus) |
Set the upward error. | |
Double | getMinus () |
Get the downward error. | |
Uncertainty | setMinus (Double minus) |
Set the downward error. | |
ErrorSource | getSourceType () |
Get the error source type (stat, sys, etc. | |
Uncertainty | setSourceType (ErrorSource sourcetype) |
Set the error source type (stat, sys, etc. | |
ErrorNorm | getNormType () |
Get the error normalization type (abs, frac, pct, etc. | |
Uncertainty | setNormType (ErrorNorm normtype) |
Set the error normalization type (abs, frac, pct, etc. | |
String | getComment () |
Get the modification comment string. | |
Uncertainty | setComment (String comment) |
Set the modification comment string. | |
int | compareTo (Uncertainty other) |
String | toString () |
String representation. | |
String | toString (Integer indentBy) |
Indented string representation. | |
Package Functions | |
Logger | log () |
Neat method to allow every class to get hold of a custom-named Logger. |
as stored by a YAxis. These errors tend to be systematic and have relative normalisation, but this isn't necessarily the case.
Definition at line 15 of file AxisError.java.
AxisError | ( | ) |
AxisError | ( | Double | plusminus, | |
ErrorSource | sourcetype, | |||
ErrorNorm | normtype | |||
) |
Constructor for symmetric error.
plusminus | : size of symmetric error | |
sourcetype | : origin of error, i.e. systematic, statistical, etc. | |
normtype | : normalisation of error, i.e. absolute, fractional, percentage, etc. |
Definition at line 39 of file AxisError.java.
AxisError | ( | Double | plus, | |
Double | minus, | |||
ErrorSource | sourcetype, | |||
ErrorNorm | normtype | |||
) |
Constructor for asymmetric errors.
plus | input <0 gives -err1 | |
minus | input <0 gives +err2 | |
sourcetype | : origin of error, i.e. systematic, statistical, etc. | |
normtype | : normalisation of error, i.e. absolute, fractional, percentage, etc. |
Definition at line 50 of file AxisError.java.
AxisError | ( | YAxis | parent, | |
Double | plusminus, | |||
ErrorSource | sourcetype, | |||
ErrorNorm | normtype | |||
) |
Constructor for symmetric error, with parent axis.
Definition at line 58 of file AxisError.java.
References AxisError.setAxis().
00058 { 00059 super(plusminus, sourcetype, normtype); 00060 setAxis(parent); 00061 }
AxisError | ( | YAxis | parent, | |
Double | plus, | |||
Double | minus, | |||
ErrorSource | sourcetype, | |||
ErrorNorm | normtype | |||
) |
Constructor for asymmetric errors, with parent axis.
Definition at line 66 of file AxisError.java.
References AxisError.setAxis().
00066 { 00067 super(plus, minus, sourcetype, normtype); 00068 setAxis(parent); 00069 }
Integer getId | ( | ) |
Get the axis error ID.
Definition at line 76 of file AxisError.java.
Referenced by AxisError.compareTo(), AxisError.hashCode(), and AxisError.setAxis().
AxisError setId | ( | Integer | axisErrorId | ) |
Set the axis error ID.
Definition at line 80 of file AxisError.java.
Referenced by AxisError.setAxis().
.hibernate.annotations.Parent YAxis getAxis | ( | ) |
Get the parent axis.
Definition at line 91 of file AxisError.java.
Referenced by AxisError.hashCode().
Set the parent point.
Definition at line 96 of file AxisError.java.
References YAxis.getErrors(), AxisError.getId(), Storeable.log(), and AxisError.setId().
Referenced by YAxis.addError(), and AxisError.AxisError().
00096 { 00097 log().debug("Calling setAxis()"); 00098 _axis = parentAxis; 00099 if (parentAxis != null) { 00100 if (getId() == null) { 00101 int highestId = 0; 00102 if (parentAxis.getErrors().size() > 0) { 00103 highestId = parentAxis.getErrors().last().getId(); 00104 } 00105 log().debug("Incrementing axis error ID: " + (highestId + 1)); 00106 setId(highestId + 1); 00107 } 00108 parentAxis.getErrors().add(this); 00109 } 00110 return this; 00111 }
int compareTo | ( | AxisError | other | ) |
Definition at line 117 of file AxisError.java.
References AxisError.getId(), and Storeable.log().
Referenced by Uncertainty.compareTo().
00117 { 00118 log().debug("Comparing axis errors..."); 00119 if (getId() == null) { 00120 log().warn("Null axis error ID"); 00121 return 1; // Sort null errors at the end 00122 } else if (getId() > other.getId()) { 00123 log().debug("Greater than"); 00124 return 1; 00125 } else if (getId() < other.getId()) { 00126 log().debug("Less than"); 00127 return -1; 00128 } else { 00129 log().debug("Equal to"); 00130 return 0; 00131 } 00132 }
boolean equals | ( | Object | other | ) |
Override equals method with business key equality.
Definition at line 139 of file AxisError.java.
References AxisError.hashCode().
00139 { 00140 if (this == other) return true; 00141 if (! (other instanceof AxisError)) return false; 00142 return hashCode() == other.hashCode(); 00143 }
int hashCode | ( | ) |
Override hashcode method.
Definition at line 147 of file AxisError.java.
References AxisError.getAxis(), AxisError.getId(), Uncertainty.getMinus(), Uncertainty.getNormType(), Uncertainty.getPlus(), Uncertainty.getSourceType(), and YAxis.hashCode().
Referenced by AxisError.equals().
00147 { 00148 int code = 117; 00149 if (getId() != null) code ^= getId().hashCode(); 00150 if (getAxis() != null) code ^= getAxis().hashCode(); 00151 if (getSourceType() != null) code ^= getSourceType().hashCode(); 00152 if (getNormType() != null) code ^= getNormType().hashCode(); 00153 if (getPlus() != null) code ^= 2 * getPlus().hashCode(); // ensure this is even 00154 if (getMinus() != null) code ^= 2 * getMinus().hashCode() + 1; // ensure this is odd 00155 return code; 00156 }
boolean isSymmetric | ( | ) | [inherited] |
Are the plus and minus errors symmetric?
Definition at line 81 of file Uncertainty.java.
References Uncertainty.getMinus(), and Uncertainty.getPlus().
Referenced by Uncertainty.toString().
boolean hasZeroSize | ( | ) | [inherited] |
Are the plus and minus errors both zero?
Definition at line 87 of file Uncertainty.java.
References Uncertainty.getMinus(), and Uncertainty.getPlus().
Uncertainty getAbsoluteError | ( | Point | p | ) | throws HDException [inherited] |
Calculate the absolute error object for this error and the given Point.
Reimplemented in PointError.
Definition at line 98 of file Uncertainty.java.
References Uncertainty.getMinus(), Uncertainty.getNormType(), Uncertainty.getPlus(), Uncertainty.getSourceType(), and Uncertainty.Uncertainty().
Referenced by PointError.getAbsoluteError().
00098 { 00099 if (getNormType() == ErrorNorm.UNKNOWN) { 00100 throw new HDException("Attempted to get the absolute error from an unknown error type."); 00101 } 00102 00103 Double absplus = getPlus(); 00104 Double absminus = getMinus(); 00105 if (getNormType() != ErrorNorm.ABS) { 00106 if (getNormType() == ErrorNorm.FRAC) { 00107 absplus *= p.getValue(); 00108 absminus *= p.getValue(); 00109 } else if (getNormType() == ErrorNorm.PCT) { 00110 absplus *= (p.getValue() / 100.0); 00111 absminus *= (p.getValue() / 100.0); 00112 } 00113 } 00114 Uncertainty err = new Uncertainty(absplus, absminus, getSourceType(), ErrorNorm.ABS); 00115 return err; 00116 }
Double getPlus | ( | ) | [inherited] |
Get the upward error.
Definition at line 125 of file Uncertainty.java.
Referenced by Uncertainty.getAbsoluteError(), PointError.hashCode(), DatasetError.hashCode(), AxisError.hashCode(), Uncertainty.hasZeroSize(), Uncertainty.isSymmetric(), and Uncertainty.toString().
Uncertainty setPlus | ( | Double | plus | ) | [inherited] |
Set the upward error.
Definition at line 130 of file Uncertainty.java.
Referenced by Uncertainty.Uncertainty().
Double getMinus | ( | ) | [inherited] |
Get the downward error.
Definition at line 138 of file Uncertainty.java.
Referenced by Uncertainty.getAbsoluteError(), PointError.hashCode(), DatasetError.hashCode(), AxisError.hashCode(), Uncertainty.hasZeroSize(), Uncertainty.isSymmetric(), and Uncertainty.toString().
Uncertainty setMinus | ( | Double | minus | ) | [inherited] |
Set the downward error.
Definition at line 143 of file Uncertainty.java.
Referenced by Uncertainty.Uncertainty().
ErrorSource getSourceType | ( | ) | [inherited] |
Get the error source type (stat, sys, etc.
) as an enum.
Definition at line 151 of file Uncertainty.java.
Referenced by Uncertainty.getAbsoluteError(), PointError.hashCode(), DatasetError.hashCode(), AxisError.hashCode(), and Uncertainty.toString().
Uncertainty setSourceType | ( | ErrorSource | sourcetype | ) | [inherited] |
Set the error source type (stat, sys, etc.
) from the enum.
Definition at line 156 of file Uncertainty.java.
Referenced by Uncertainty.Uncertainty().
ErrorNorm getNormType | ( | ) | [inherited] |
Get the error normalization type (abs, frac, pct, etc.
) as an enum.
Definition at line 163 of file Uncertainty.java.
Referenced by Uncertainty.getAbsoluteError(), PointError.hashCode(), DatasetError.hashCode(), AxisError.hashCode(), and Uncertainty.toString().
Uncertainty setNormType | ( | ErrorNorm | normtype | ) | [inherited] |
Set the error normalization type (abs, frac, pct, etc.
) from the enum.
Reimplemented in DatasetError.
Definition at line 167 of file Uncertainty.java.
Referenced by Uncertainty.Uncertainty().
String getComment | ( | ) | [inherited] |
Get the modification comment string.
Definition at line 174 of file Uncertainty.java.
Referenced by Uncertainty.toString().
Uncertainty setComment | ( | String | comment | ) | [inherited] |
int compareTo | ( | Uncertainty | other | ) | [inherited] |
Definition at line 187 of file Uncertainty.java.
References DatasetError.compareTo(), AxisError.compareTo(), PointError.compareTo(), and Storeable.log().
00187 { 00188 log().debug("Comparing errors..."); 00189 00190 // For point errors 00191 if (this instanceof PointError) { 00192 if (other instanceof PointError) { 00193 PointError test = (PointError) this; 00194 int result = test.compareTo((PointError) other); 00195 if (result != 0) return result; 00196 } else return 1; 00197 } 00198 00199 // For axis errors 00200 if (this instanceof AxisError) { 00201 if (other instanceof AxisError) { 00202 AxisError test = (AxisError) this; 00203 int result = test.compareTo((AxisError) other); 00204 if (result != 0) return result; 00205 } else return (other instanceof PointError) ? -1 : 1; 00206 } 00207 00208 // For dataset errors 00209 if (this instanceof DatasetError) { 00210 if (other instanceof DatasetError) { 00211 DatasetError test = (DatasetError) this; 00212 int result = test.compareTo((DatasetError) other); 00213 if (result != 0) return result; 00214 } else return 1; 00215 } 00216 00218 return 0; 00219 }
String toString | ( | ) | [inherited] |
String representation.
Reimplemented from Storeable.
Definition at line 227 of file Uncertainty.java.
Referenced by Uncertainty.toString().
00227 { 00228 return toString(0); 00229 }
String toString | ( | Integer | indentBy | ) | [inherited] |
Indented string representation.
Definition at line 233 of file Uncertainty.java.
References Uncertainty.getComment(), Uncertainty.getMinus(), Uncertainty.getNormType(), Uncertainty.getPlus(), Uncertainty.getSourceType(), Uncertainty.isSymmetric(), Storeable.log(), and Uncertainty.toString().
00233 { 00234 log().debug("Writing out error as a string"); 00235 StringBuffer s = new StringBuffer(); 00236 String indent = ""; 00237 for (int i = 0; i < indentBy; ++i) indent += " "; 00238 00239 //if (! hasZeroSize()) { 00240 s.append(indent); 00241 Double plusval = getPlus(); 00242 Double minusval = getMinus(); 00243 00244 String numFormat = "###.##"; 00245 // Use the number formatter to recalculate and display everything as a percentage 00246 if (getNormType() == ErrorNorm.PCT) { 00247 plusval /= 100; 00248 minusval /= 100; 00249 } 00250 if (getNormType() == ErrorNorm.FRAC || getNormType() == ErrorNorm.PCT) { 00251 numFormat += "%"; // multiplies by 100 and sticks "%" on the end 00252 } 00253 DecimalFormat numFormatter = new DecimalFormat(numFormat); 00254 if (isSymmetric()) { 00255 s.append("+- " + numFormatter.format(plusval)); 00256 } else { 00257 s.append("+ " + numFormatter.format(plusval)); 00258 s.append(" - " + numFormatter.format(minusval)); 00259 } 00260 s.append(" ("); 00261 //s.append(getNormType().toString()); 00262 //s.append(", "); 00263 s.append(getSourceType().toString()); 00264 s.append(")"); 00265 if (getComment() != null && getComment().length() != 0) { 00266 s.append(" [" + getComment() + "]"); 00267 } 00268 //} 00269 return s.toString(); 00270 }
Logger log | ( | ) | [package, inherited] |
Neat method to allow every class to get hold of a custom-named Logger.
Definition at line 14 of file Storeable.java.
Referenced by Uncertainty.compareTo(), Reference.compareTo(), PointError.compareTo(), Modification.compareTo(), Experiment.compareTo(), DatasetError.compareTo(), AxisError.compareTo(), Data.makeExample(), Data.makeExampleDataset(), Data.makeExampleExperiment(), Data.makeExamplePaper(), Data.makeExampleXAxes(), Data.makeExampleYAxes(), AxisError.setAxis(), DatasetError.setDataset(), DatasetError.setNormType(), PointError.setPoint(), and Uncertainty.toString().