Print

Print


Author: [log in to unmask]
Date: Wed Sep 30 17:08:46 2015
New Revision: 3742

Log:
move to record

Added:
    java/trunk/record-util/src/main/java/org/hps/record/svt/
    java/trunk/record-util/src/main/java/org/hps/record/svt/SvtErrorBitData.java
      - copied, changed from r3741, java/trunk/tracking/src/main/java/org/hps/readout/svt/SvtErrorBitData.java
    java/trunk/record-util/src/main/java/org/hps/record/svt/SvtHeaderDataInfo.java
      - copied, changed from r3740, java/trunk/tracking/src/main/java/org/hps/readout/svt/SvtHeaderDataInfo.java
Removed:
    java/trunk/tracking/src/main/java/org/hps/readout/svt/SvtErrorBitData.java
    java/trunk/tracking/src/main/java/org/hps/readout/svt/SvtHeaderDataInfo.java

Copied: java/trunk/record-util/src/main/java/org/hps/record/svt/SvtErrorBitData.java (from r3741, java/trunk/tracking/src/main/java/org/hps/readout/svt/SvtErrorBitData.java)
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/readout/svt/SvtErrorBitData.java	(original)
+++ java/trunk/record-util/src/main/java/org/hps/record/svt/SvtErrorBitData.java	Wed Sep 30 17:08:46 2015
@@ -1,7 +1,7 @@
 /**
  * 
  */
-package org.hps.readout.svt;
+package org.hps.record.svt;
 
 import org.lcsim.event.GenericObject;
 

Copied: java/trunk/record-util/src/main/java/org/hps/record/svt/SvtHeaderDataInfo.java (from r3740, java/trunk/tracking/src/main/java/org/hps/readout/svt/SvtHeaderDataInfo.java)
 =============================================================================
--- java/trunk/tracking/src/main/java/org/hps/readout/svt/SvtHeaderDataInfo.java	(original)
+++ java/trunk/record-util/src/main/java/org/hps/record/svt/SvtHeaderDataInfo.java	Wed Sep 30 17:08:46 2015
@@ -1,7 +1,7 @@
 /**
  * 
  */
-package org.hps.readout.svt;
+package org.hps.record.svt;
 
 import org.lcsim.event.GenericObject;
 
@@ -32,17 +32,22 @@
     }
     
     public void setMultisampleHeaders(int[] multisampleheaders) {
+        if(multisampleheaders.length % 4 != 0) 
+            throw new RuntimeException("invalid number of multisample headers, need to be %4==0: " + multisampleheaders.length);
         this.multisampleheader = multisampleheaders;
     }
     
-    public int[] getMultisampleHeaders() {
-        return this.multisampleheader;
+    public int[] getMultisampleHeader(int multisampleIndex) {
+        int index = multisampleIndex*4; 
+        if( multisampleIndex >= getNumberOfMultisampleHeaders() || multisampleIndex < 0)
+            throw new ArrayIndexOutOfBoundsException(multisampleIndex);
+        int[] words = new int[4];
+        System.arraycopy(this.multisampleheader, index, words, 0, words.length);
+        return words;
     }
     
-    public int getMultisampleHeader(int index) {
-        if( index >= getMultisampleHeaders().length || index < 0)
-            throw new ArrayIndexOutOfBoundsException(index);
-        return this.multisampleheader[index];
+    public int getNumberOfMultisampleHeaders() {
+        return this.multisampleheader.length/4;
     }
     
     public int getNum() {
@@ -82,9 +87,9 @@
             case 2:
                 return getTail();
             default:
-                if( (index-3) >= getMultisampleHeaders().length )
+                if( (index-3) >= this.multisampleheader.length )
                     throw new RuntimeException("Invalid index " + Integer.toString(index));
-                return getMultisampleHeader(index -3);
+                return this.multisampleheader[ index - 3 ];
         }
     }
 
@@ -105,6 +110,10 @@
     public boolean isFixedSize() {
         return true;
     }
+    
+    public String toString() {
+        return "num " + Integer.toString(num) + " header " + Integer.toHexString(header) + " tail " + Integer.toHexString(tail) + " nMultisamples " + Integer.toString(multisampleheader.length);
+    }
 
     public static int getNum(GenericObject header) {
         return header.getIntVal(0);
@@ -118,10 +127,11 @@
         return header2.getIntVal(2);
     }
 
-    public static int getMultisample(int iMultiSample, GenericObject header) {
-        return header.getIntVal(iMultiSample+3);
+    public static int[] getMultisampleHeader(int iMultisample, SvtHeaderDataInfo header) {
+        return header.getMultisampleHeader(iMultisample);
     }
-    
+
+      
     
 
 }