Print

Print


Author: [log in to unmask]
Date: Wed Oct 21 16:05:07 2015
New Revision: 3869

Log:
fix for consecutive files

Modified:
    java/trunk/users/src/main/java/org/hps/users/meeg/SvtChargeIntegrator.java

Modified: java/trunk/users/src/main/java/org/hps/users/meeg/SvtChargeIntegrator.java
 =============================================================================
--- java/trunk/users/src/main/java/org/hps/users/meeg/SvtChargeIntegrator.java	(original)
+++ java/trunk/users/src/main/java/org/hps/users/meeg/SvtChargeIntegrator.java	Wed Oct 21 16:05:07 2015
@@ -126,6 +126,8 @@
             SvtBiasConstantCollection svtBiasConstants = null;
             SvtMotorPositionCollection svtPositionConstants = null;
             SvtAlignmentConstant.SvtAlignmentConstantCollection alignmentConstants = null;
+            Date date = null;
+            Date lastDate = null;
 
             for (CSVRecord record : records) {
                 int runNum = Integer.parseInt(record.get(0));
@@ -181,8 +183,7 @@
                 double totalGatedCharge = 0;
                 double totalGatedChargeWithBias = 0;
                 double totalGatedChargeWithBiasAtNominal = 0;
-                Date date = null;
-                Date lastDate = null;
+                br.mark(1000);
 
                 while ((line = br.readLine()) != null) {
                     String arr[] = line.split(" +");
@@ -193,11 +194,14 @@
                     lastDate = date;
                     date = dateFormat.parse(arr[0] + " " + arr[1]);
                     if (date.after(endDate) && lastDate != null && lastDate.after(endDate)) {
+                        date = lastDate;
+                        br.reset();
                         break;
                     }
                     if (date.before(startDate)) {
                         continue;
                     }
+                    br.mark(1000);
 
                     double current, livetime;
                     if (arr[2].equals("<undefined>")) {
@@ -232,7 +236,7 @@
                         double dt = (Math.min(date.getTime(), endDate.getTime()) - Math.max(startDate.getTime(), lastDate.getTime())) / 1000.0;
                         double dq = dt * current; // nC
                         double dqGated = dt * current * livetime; // nC
-//                        System.out.format("start %d end %d date %d lastDate %d current %f dt %f\n", startDate.getTime(), endDate.getTime(), date.getTime(), lastDate.getTime(), current, dt);
+                        System.out.format("start %d end %d date %d lastDate %d current %f dt %f\n", startDate.getTime(), endDate.getTime(), date.getTime(), lastDate.getTime(), current, dt);
                         totalCharge += dq;
                         totalGatedCharge += dqGated;
                         if (biasGood) {