00001 package SummaryReader;
00002
00003 public class DCSInfo {
00004 Double[] parameters;
00005 String sn,status,location,temperature,testDate;
00006 public static final int VDET=0;
00007 public static final int IDET=1;
00008 public static final int T0=2;
00009 public static final int T1=3;
00010 public static final int VCC=4;
00011 public static final int ICC=5;
00012 public static final int VDD=6;
00013 public static final int IDD=7;
00014
00015 java.text.DecimalFormat nf = new java.text.DecimalFormat("#.##");
00016
00017 public DCSInfo() {
00018 parameters = new Double[8];
00019 for(int i=0;i<parameters.length;i++) parameters[i]=null;
00020 }
00021 public void put(int index, double value) {
00022 parameters[index]=new Double(value);
00023 }
00024 public void put(int index, String value) {
00025 parameters[index]=Double.valueOf(value);
00026 }
00027 public Double get(int index) {
00028 if(index<0) return null;
00029 switch(index) {
00030 case 8:
00031 if(parameters[T0]==null || parameters[T1]==null) return null;
00032 if(parameters[T1].doubleValue()<-100.) return new Double(0.0);
00033 double diff = Math.abs(parameters[T0].doubleValue() - parameters[T1].doubleValue());
00034 return new Double(diff);
00035 case 9:
00036 for(int i=0;i<8;i++) {
00037 if(i==T0 || i==T1) continue;
00038 if(parameters[i]==null) return null;
00039 }
00040 double powerTotal = Math.abs(parameters[VDET].doubleValue() * parameters[IDET].doubleValue() *1e-6);
00041 powerTotal += Math.abs(parameters[VCC].doubleValue()*parameters[ICC].doubleValue() *1e-3);
00042 powerTotal += Math.abs(parameters[VDD].doubleValue()*parameters[IDD].doubleValue() *1e-3);
00043 return Double.valueOf(nf.format(powerTotal));
00044 default:
00045 return parameters[index];
00046 }
00047 }
00048 public String getSummaryTable() {
00049 StringBuffer table = new StringBuffer("<h3>DCS Info</h3>\n");
00050 for(int i=0;i<8;i++) {
00051 if(parameters[i]==null) return "None available...";
00052 }
00053 table.append("<table border=1>\n");
00054 table.append("<tr><td>VDet</td><td>IDet</td><td>T0</td><td>T1</td><td>Vdd</td><td>Idd</td><td>Vcc</td><td>Icc</td></tr>\n");
00055 table.append("<tr><td>"+parameters[VDET].toString()+"</td><td>"+parameters[IDET].toString()+"</td><td>"+parameters[T0].toString()+"</td><td>"+parameters[T1].toString()+"</td><td>"+parameters[VDD].toString()+"</td><td>"+parameters[IDD].toString()+"</td><td>"+parameters[VCC].toString()+"</td><td>"+parameters[ICC].toString()+"</td></tr>\n");
00056 table.append("</table>\n");
00057 return table.toString();
00058 }
00059 }