Print

Print


Author: [log in to unmask]
Date: Mon Nov 21 11:22:28 2016
New Revision: 4574

Log:
Changes for corrected files.

Modified:
    java/trunk/util/src/main/java/org/hps/util/UnfoldFieldmap.java

Modified: java/trunk/util/src/main/java/org/hps/util/UnfoldFieldmap.java
 =============================================================================
--- java/trunk/util/src/main/java/org/hps/util/UnfoldFieldmap.java	(original)
+++ java/trunk/util/src/main/java/org/hps/util/UnfoldFieldmap.java	Mon Nov 21 11:22:28 2016
@@ -1,4 +1,5 @@
 package org.hps.util;
+
 
 
 import java.io.BufferedInputStream;
@@ -19,6 +20,7 @@
  *
  * @author Norman A Graf
  *
+ * @version $Id:
  */
 public class UnfoldFieldmap
 {
@@ -71,6 +73,7 @@
         System.out.println("\n-----------------------------------------------------------"
                 + "\n      Reading Magnetic Field map "+_map2read
                 + "\n      Scaling values by "+_scaleFactor
+                + "\n      Flipping sign of By "
                 + "\n-----------------------------------------------------------");
 
         try {
@@ -81,13 +84,9 @@
             // ignore the first blank line
             //thisLine = myInput.readLine();
             // next line has table dimensions
-            thisLine = myInput.readLine();
-            System.out.println(thisLine);
-            // read in the table dimensions of the file
-            StringTokenizer st = new StringTokenizer(thisLine, " ");
-            _nx = Integer.parseInt(st.nextToken());
-            _ny = Integer.parseInt(st.nextToken());
-            _nz = Integer.parseInt(st.nextToken());
+            _nx = 51;
+            _ny = 15;
+            _nz = 301;
 
             Bx = new double[_nx][_nz];
             By = new double[_nx][_nz];
@@ -103,16 +102,16 @@
             // Ignore other header information    
             // The first line whose second character is '0' is considered to
             // be the last line of the header.
-            do {
-                thisLine = myInput.readLine();
-                st = new StringTokenizer(thisLine, " ");
-            } while (!st.nextToken().trim().equals("0"));
+//            do {
+//                thisLine = myInput.readLine();
+//                st = new StringTokenizer(thisLine, " ");
+//            } while (!st.nextToken().trim().equals("0"));
 
             // now ready to read in the values in the table
             // format is:
             // x y z Bx By Bz
             //
-            // TOSCA files have distance measured in cm
+            // TOSCA files have distance measured
             // TOSCA files have field in OERSTED 
             // Geant4 requires mm and .0001T, so need to convert
             // OERSTED to Tesla = 10000
@@ -130,13 +129,21 @@
                 for (iy = 0; iy < _ny; iy++) {
                     for (iz = 0; iz < _nz; iz++) {
                         thisLine = myInput.readLine();
-                        st = new StringTokenizer(thisLine, " ");
+//System.out.println(thisLine);
+                        StringTokenizer st = new StringTokenizer(thisLine, " ");
+//System.out.println("xval "+xval);
                         xval = Double.parseDouble(st.nextToken());
+//System.out.println("xval "+xval);
                         yval = Double.parseDouble(st.nextToken());
+//System.out.println("yval "+yval);
                         zval = Double.parseDouble(st.nextToken());
+//System.out.println("zval "+zval);
                         bx = Double.parseDouble(st.nextToken());
-                        by = Double.parseDouble(st.nextToken());
+//System.out.println("bx "+bx);
+                        by = -Double.parseDouble(st.nextToken());
+//System.out.println("by "+by);
                         bz = Double.parseDouble(st.nextToken());
+//System.out.println("bz "+bz);
                         double[] line = {xval, yval, zval, bx, by, bz};
                         lines.add(line);
                         Bx[ix][iz] = _scaleFactor*bx/fieldConversionFactor; // convert to magnetic field units used by Geant4
@@ -241,8 +248,6 @@
         } catch (Exception e) {
             e.printStackTrace();
         }
-
-
     }
     
 //    public void writeoutGnuplot()