Commit in hps-java/src/test/java/org/lcsim on MAIN
DoEvioTest.java+1-11.7 -> 1.8
HPSDetectorTag.java+1-11.1 -> 1.2
HPSTrackerEvent.java+76-391.5 -> 1.6
+78-41
3 modified files
adapted to new SVT data format including ti (trigger) block

hps-java/src/test/java/org/lcsim
DoEvioTest.java 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- DoEvioTest.java	18 Feb 2012 16:41:21 -0000	1.7
+++ DoEvioTest.java	18 Feb 2012 16:49:18 -0000	1.8
@@ -50,7 +50,7 @@
  * This is a test of using jevio routines to read EVIO files.  
  * 
  * @author homer
- * @version $Id: DoEvioTest.java,v 1.7 2012/02/18 16:41:21 homer Exp $
+ * @version $Id: DoEvioTest.java,v 1.8 2012/02/18 16:49:18 homer Exp $
  */
 public class DoEvioTest extends TestCase {
 

hps-java/src/test/java/org/lcsim
HPSDetectorTag.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- HPSDetectorTag.java	14 Feb 2012 03:19:57 -0000	1.1
+++ HPSDetectorTag.java	18 Feb 2012 16:49:18 -0000	1.2
@@ -9,7 +9,7 @@
  * @author neal
  */
 public enum HPSDetectorTag {
-    TRACKERTAG  (0x0),
+    TRACKERTAG  (600),
     EMCTAG  (0x1);
 
     

hps-java/src/test/java/org/lcsim
HPSTrackerEvent.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- HPSTrackerEvent.java	18 Feb 2012 16:41:21 -0000	1.5
+++ HPSTrackerEvent.java	18 Feb 2012 16:49:18 -0000	1.6
@@ -8,15 +8,18 @@
  * Event Data consists of the following: Z[xx:xx] = Zeros
  *    Frame Size = 1 x 32-bits (32-bit dwords)
  *    Header = 8 x 32-bits
- *       Header[0] = Z[19:0], SampleSize[3:0], Revision[7:0]
- *       Header[1] = FpgaAddress[31:0]
- *       Header[2] = Sequence[31:0]
- *       Header[3] = TriggerCode[31:0]
- *       Header[4] = TempB[15:0], TempA[15:0]
- *       Header[5] = TempD[15:0], TempC[15:0]
- *       Header[6] = Z[31:0]
- *       Header[7] = Z[31:0]
- *       Samples... (See TrackerSample.h)
+ *    Header[0] = T[0], Z[14:0], FpgaAddress[15:0] - T = 1 For TI FPGA
+ *    Header[1] = Sequence[31:0]
+//
+ * The rest of the event header depends on the T flag, For T = 0:
+//
+ *    Header[2] = TempB[15:0], TempA[15:0]
+ *    Header[3] = TempD[15:0], TempC[15:0]
+ *    Header[4] = TempF[15:0], TempE[15:0]
+ *    Header[5] = TempH[15:0], TempG[15:0]
+ *    Header[6] = TempJ[15:0], TempI[15:0]
+ *    Header[7] = TempL[15:0], TempK[15:0]
+ *       Samples... (See HPSTrackerSample.java)
  *   Tail = 1 x 32-bits
  *       Should be zero
  */
@@ -35,6 +38,7 @@
     double res;
     double volt;
     int idx;
+    
     // Temperature Constants
     double coeffA_ = -1.4141963e1;
     double coeffB_ = 4.4307830e3;
@@ -49,14 +53,18 @@
     double maxTemp_ = 150;
     double incTemp_ = 0.01;
     int adcCnt_ = 4096;
+    
     // Temperature lookup table
     double tempTable_[] = new double[adcCnt_];
+    
+    // Local trigger data
+    int tiData_[] = new int[7]; // What size can this grow to????
+    
     // Frame Constants
-//    int headSize_ = 8;
-// looks like this is what Ryan was referring to as having changed (Homer)
     int headSize_ = 8;
     int tailSize_ = 1;
     int sampleSize_ = 4;
+    
     // frame size must be set externally
     int size_ = 0;
 
@@ -76,6 +84,29 @@
         }
     }
 
+    // Get TI flag from header
+    public boolean isTiFrame() {
+        return ((data_[0] & 0x80000000) != 0);
+    }
+
+// Get FpgaAddress value from header.
+    public int fpgaAddress() {
+        return (data_[0] & 0xFFFF);
+    }
+
+// Get sequence count from header.
+    public int sequence() {
+        return (data_[1]);
+    }
+
+// Get trigger block from header.
+    int[] tiData() {
+        for (int iti = 0; iti < tiData_.length; iti++) {
+            tiData_[iti] = data_[2 + iti];
+        }
+        return (tiData_);
+    }
+
     // Set address of data buffer
     public void setData(int indat[]) {
         data_ = indat;
@@ -83,43 +114,49 @@
 
 // Set frame size
     public void setSize(int sz) {
-      size_ = sz;
+        size_ = sz;
     }
-    
+
     // Get sample size value from header.
     public int sampleSize() {
         return ((data_[0] >> 8) & 0xF);
     }
 
-// Get FpgaAddress value from header.
-    public int fpgaAddress() {
-        return (data_[1]);
-    }
-
-// Get sequence count from header.
-    public int sequence() {
-        return (data_[2]);
-    }
-
-// Get trigger value from header.
-    public int trigger() {
-        return (data_[3]);
-    }
-
 // Get temperature values from header.
     public double temperature(int index) {
-        switch (index) {
-            case 0:
-                return (tempTable_[(data_[4] & 0x3FFF)]);
-            case 1:
-                return (tempTable_[((data_[4] >> 16) & 0x3FFF)]);
-            case 2:
-                return (tempTable_[(data_[5] & 0x3FFF)]);
-            case 3:
-                return (tempTable_[((data_[5] >> 16) & 0x3FFF)]);
-            default:
-                return (0.0);
+        if (isTiFrame()) {
+            return (0.0);
+        } else {
+            switch (index) {
+                case 0:
+                    return (tempTable_[(data_[2] & 0x3FFF)]);
+                case 1:
+                    return (tempTable_[((data_[2] >> 16) & 0x3FFF)]);
+                case 2:
+                    return (tempTable_[(data_[3] & 0x3FFF)]);
+                case 3:
+                    return (tempTable_[((data_[3] >> 16) & 0x3FFF)]);
+                case 4:
+                    return (tempTable_[(data_[4] & 0x3FFF)]);
+                case 5:
+                    return (tempTable_[((data_[4] >> 16) & 0x3FFF)]);
+                case 6:
+                    return (tempTable_[(data_[5] & 0x3FFF)]);
+                case 7:
+                    return (tempTable_[((data_[5] >> 16) & 0x3FFF)]);
+                case 8:
+                    return (tempTable_[(data_[6] & 0x3FFF)]);
+                case 9:
+                    return (tempTable_[((data_[6] >> 16) & 0x3FFF)]);
+                case 10:
+                    return (tempTable_[(data_[7] & 0x3FFF)]);
+                case 11:
+                    return (tempTable_[((data_[7] >> 16) & 0x3FFF)]);
+                default:
+                    return (0.0);
+            }
         }
+
     }
 
 // Get sample count
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1