DCSInfo.java

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     public static final int IPIN=8;
00015     
00016     java.text.DecimalFormat nf = new java.text.DecimalFormat("#.##");
00017 
00018     public DCSInfo() {
00019        parameters = new Double[9];
00020        for(int i=0;i<parameters.length;i++) parameters[i]=null;
00021         }
00022     public void put(int index, double value) {
00023        parameters[index]=new Double(value);
00024        }
00025     public void put(int index, String value) {
00026        parameters[index]=Double.valueOf(value);
00027        }
00028     public Double get(int index) {
00029     // index here is the menu index, running from 0 to 10
00030        if(index<0) return null;
00031        switch(index) {
00032          case 8:
00033            if(parameters[T0]==null || parameters[T1]==null) return null;
00034            if(parameters[T1].doubleValue()<-100.) return null;
00035            double diff = Math.abs(parameters[T0].doubleValue() - parameters[T1].doubleValue());
00036            return Double.valueOf(nf.format(diff));
00037          case 9:
00038            for(int i=0;i<8;i++) {
00039               if(i==T0 || i==T1) continue;
00040               if(parameters[i]==null) return null;
00041               }
00042            double powerTotal = Math.abs(parameters[VDET].doubleValue() * parameters[IDET].doubleValue() *1e-6);
00043            powerTotal += Math.abs(parameters[VCC].doubleValue()*parameters[ICC].doubleValue() *1e-3);
00044            powerTotal += Math.abs(parameters[VDD].doubleValue()*parameters[IDD].doubleValue() *1e-3);
00045            return Double.valueOf(nf.format(powerTotal));
00046          case 10:
00047            return parameters[IPIN];
00048          default:
00049            return parameters[index];
00050            }
00051        }
00052    public String getSummaryTable() {
00053        StringBuffer table = new StringBuffer("<h3>DCS Info</h3>\n");
00054        for(int i=0;i<8;i++) {
00055           if(parameters[i]==null) return "None available...";
00056           }
00057        if(parameters[IPIN]==null) parameters[IPIN]=new Double(-1.0);
00058        table.append("<table border=1>\n");
00059        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><td>IPIN</td></tr>\n");
00060        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><td>"+parameters[IPIN].toString()+"</td></tr>\n");
00061        table.append("</table>\n");
00062        return table.toString();
00063        }
00064 }

Generated on Mon Feb 6 14:12:10 2006 for SCT DAQ/DCS Software - Java by  doxygen 1.4.6