Print

Print


Author: [log in to unmask]
Date: Wed Jun 17 15:57:55 2015
New Revision: 3153

Log:
add converter

Added:
    java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/triggerbank/HeadBankData.java
      - copied, changed from r3152, java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/triggerbank/TestRunTriggerData.java
Modified:
    java/trunk/evio/src/main/java/org/hps/evio/LCSimEngRunEventBuilder.java

Copied: java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/triggerbank/HeadBankData.java (from r3152, java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/triggerbank/TestRunTriggerData.java)
 =============================================================================
--- java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/triggerbank/TestRunTriggerData.java	(original)
+++ java/trunk/ecal-recon/src/main/java/org/hps/recon/ecal/triggerbank/HeadBankData.java	Wed Jun 17 15:57:55 2015
@@ -1,79 +1,75 @@
 package org.hps.recon.ecal.triggerbank;
 
+import java.util.Date;
 import org.lcsim.event.GenericObject;
 
 /**
- *
+ * 
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: TriggerData.java,v 1.3 2012/08/03 23:14:39 meeg Exp $
  */
-public class TestRunTriggerData extends AbstractIntData {
-    
-    public static final int BANK_TAG = 0xe106;
-    public static final int BANK_SIZE = 8;
-    
-    public static final int OR_TRIG = 3;
-    public static final int TOP_TRIG = 4;
-    public static final int BOT_TRIG = 5;
-    public static final int AND_TRIG = 6;
-    public static final int TIME = 7;
-    public static final String TRIG_COLLECTION = "TriggerBank";
-    
-    public TestRunTriggerData(int[] bank) {
+public class HeadBankData extends AbstractIntData {
+
+    public static final int BANK_TAG = 0xe10f;
+    public static final int BANK_SIZE = 5;
+
+    public static final int VERSION_NUM = 0;
+    public static final int RUN_NUM = 1;
+    public static final int EVENT_NUM = 2;
+    public static final int UNIX_TIME = 3;
+    public static final int EVENT_TYPE = 4;
+
+    public HeadBankData(int[] bank) {
         super(bank);
         decodeData();
     }
-    
-    public TestRunTriggerData(GenericObject data) {
+
+    public HeadBankData(GenericObject data) {
         super(data, BANK_TAG);
         decodeData();
     }
-    
-    public long getTime() {
-        return bank[TIME] & 0xffffffffL;
+
+    public int getRunNum() {
+        return bank[RUN_NUM];
     }
-    
-    public int getOrTrig() {
-        return bank[OR_TRIG];
+
+    public int getEventNum() {
+        return bank[EVENT_NUM];
     }
-    
-    public int getTopTrig() {
-        return bank[TOP_TRIG];
+
+    public int getUnixTime() {
+        return bank[UNIX_TIME];
     }
-    
-    public int getBotTrig() {
-        return bank[BOT_TRIG];
+
+    public Date getDate() {
+        return getDate(this);
     }
-    
-    public int getAndTrig() {
-        return bank[AND_TRIG];
+
+    public static int getRunNum(GenericObject object) {
+        return AbstractIntData.getBankInt(object, RUN_NUM);
     }
-    
-    public static long getTime(GenericObject object) {
-        return AbstractIntData.getBankInt(object, TIME) & 0xffffffffL;
+
+    public static int getEventNum(GenericObject object) {
+        return AbstractIntData.getBankInt(object, EVENT_NUM);
     }
-    
-    public static int getOrTrig(GenericObject object) {
-        return AbstractIntData.getBankInt(object, OR_TRIG);
+
+    public static int getUnixTime(GenericObject object) {
+        return AbstractIntData.getBankInt(object, UNIX_TIME);
     }
-    
-    public static int getTopTrig(GenericObject object) {
-        return AbstractIntData.getBankInt(object, TOP_TRIG);
+
+    public static Date getDate(GenericObject object) {
+        long unixTime = getUnixTime(object);
+        if (unixTime == 0) {
+            return null;
+        } else {
+            return new Date(unixTime * 1000);
+        }
     }
-    
-    public static int getBotTrig(GenericObject object) {
-        return AbstractIntData.getBankInt(object, BOT_TRIG);
-    }
-    
-    public static int getAndTrig(GenericObject object) {
-        return AbstractIntData.getBankInt(object, AND_TRIG);
-    }
-    
+
     @Override
     public int getTag() {
         return BANK_TAG;
     }
-    
+
     @Override
     protected final void decodeData() { //doesn't actually do anything since there is no decoding done on the ints
         if (this.bank.length != BANK_SIZE) {

Modified: java/trunk/evio/src/main/java/org/hps/evio/LCSimEngRunEventBuilder.java
 =============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/LCSimEngRunEventBuilder.java	(original)
+++ java/trunk/evio/src/main/java/org/hps/evio/LCSimEngRunEventBuilder.java	Wed Jun 17 15:57:55 2015
@@ -4,8 +4,8 @@
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Logger;
-
 import org.hps.recon.ecal.triggerbank.AbstractIntData;
+import org.hps.recon.ecal.triggerbank.HeadBankData;
 import org.hps.recon.ecal.triggerbank.SSPData;
 import org.hps.recon.ecal.triggerbank.TDCData;
 import org.hps.recon.ecal.triggerbank.TIData;
@@ -51,6 +51,7 @@
         intBanks = new ArrayList<IntBankDefinition>();
         intBanks.add(new IntBankDefinition(SSPData.class, new int[] {sspCrateBankTag, sspBankTag}));
         intBanks.add(new IntBankDefinition(TIData.class, new int[] {sspCrateBankTag, 0xe10a}));
+        intBanks.add(new IntBankDefinition(HeadBankData.class, new int[] {sspCrateBankTag, 0xe10f}));
         intBanks.add(new IntBankDefinition(TDCData.class, new int[] {0x3a, 0xe107}));
         // ecalReader = new ECalEvioReader(0x25, 0x27);
         triggerConfigReader = new TriggerConfigEvioReader();