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 Double.valueOf(nf.format(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 }