Commit in hps-java/src/main/java/org/lcsim/hps/users/phansson on MAIN
DumpAIDATextFiles.java+51-451.1 -> 1.2
dump 2D histograms, not just 1D

hps-java/src/main/java/org/lcsim/hps/users/phansson
DumpAIDATextFiles.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- DumpAIDATextFiles.java	24 Aug 2012 16:00:18 -0000	1.1
+++ DumpAIDATextFiles.java	31 Oct 2013 00:08:53 -0000	1.2
@@ -1,11 +1,8 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
 package org.lcsim.hps.users.phansson;
 
 import hep.aida.IAnalysisFactory;
 import hep.aida.IHistogram1D;
+import hep.aida.IHistogram2D;
 import hep.aida.IManagedObject;
 import hep.aida.ITree;
 import java.io.File;
@@ -20,13 +17,9 @@
 
 /**
  *
- * @author phansson
- * Dumps all histograms in AIDA files to a standard text format
+ * @author phansson Dumps all histograms in AIDA files to a standard text format
+ * @version $Id: DumpAIDATextFiles.java,v 1.2 2013/10/31 00:08:53 meeg Exp $
  */
-
-
-
-
 public class DumpAIDATextFiles {
 
     private static Options createCommandLineOptions() {
@@ -38,55 +31,70 @@
         return options;
 
     }
+
     /**
      * @param args the command line arguments
      */
-
     public static class TextFileUtil {
-        
+
         public TextFileUtil() {
-        
         }
+
         public void createTextFile(String fileName, ITree tree) {
             //System.out.println("-----\nCreating text file "+fileName+" from tree with " + tree.listObjectNames().length + " objects");
-            FileWriter fWriter=null;
-            PrintWriter pWriter=null;
+            FileWriter fWriter;
+            PrintWriter pWriter;
             try {
                 fWriter = new FileWriter(fileName);
                 pWriter = new PrintWriter(fWriter);
-             
-                for( String name : tree.listObjectNames()) {
+
+                for (String name : tree.listObjectNames()) {
                     //System.out.println(str);
                     IManagedObject obj = tree.find(name);
-                    if(obj instanceof IHistogram1D ) {
+                    if (obj instanceof IHistogram1D) {
                         //System.out.println(name + " is a histogram");
-                        IHistogram1D h = (IHistogram1D)obj;
+                        IHistogram1D h = (IHistogram1D) obj;
                         String htxt = convertHist1D(h);
                         pWriter.println(htxt);
                     }
+                    if (obj instanceof IHistogram2D) {
+                        //System.out.println(name + " is a histogram");
+                        IHistogram2D h = (IHistogram2D) obj;
+                        String htxt = convertHist2D(h);
+                        pWriter.println(htxt);
+                    }
                 }
-            
-                
-                
-                if(fWriter!=null) fWriter.close();
-                if(pWriter!=null) pWriter.close();
+
+                fWriter.close();
+                pWriter.close();
             } catch (IOException ex) {
                 Logger.getLogger(DumpAIDATextFiles.class.getName()).log(Level.SEVERE, null, ex);
-            }   
+            }
             //System.out.println("-----");
-            
-                
+
+
         }
-        
+
         public String convertHist1D(IHistogram1D h) {
             //Type title bincontent
-            String htxt = "IHistogram1D \""+h.title()+"\" " + h.axis().bins() + " " + h.axis().lowerEdge() + " " + h.axis().upperEdge();
-            for(int ibin=0;ibin<h.axis().bins();++ibin) {
+            String htxt = "IHistogram1D \"" + h.title() + "\" " + h.axis().bins() + " " + h.axis().lowerEdge() + " " + h.axis().upperEdge();
+            for (int ibin = 0; ibin < h.axis().bins(); ++ibin) {
                 htxt += " " + h.binEntries(ibin);
             }
             return htxt;
-        }   
+        }
 
+        public String convertHist2D(IHistogram2D h) {
+            //Type title bincontent
+            String htxt = "IHistogram2D \"" + h.title() + "\" " + h.xAxis().bins() + " " + h.xAxis().lowerEdge() + " " + h.xAxis().upperEdge() + h.yAxis().bins() + " " + h.yAxis().lowerEdge() + " " + h.yAxis().upperEdge();
+            for (int xbin = 0; xbin < h.xAxis().bins(); ++xbin) {
+                for (int ybin = 0; ybin < h.yAxis().bins(); ++ybin) {
+                    htxt += " " + h.binEntries(xbin, ybin);
+                    htxt += " " + h.binHeight(xbin, ybin);
+                }
+            }
+            return htxt;
+        }
     }
 
     public static void main(String[] args) {
@@ -107,18 +115,18 @@
             throw new RuntimeException("Problem parsing command line options.", e);
         }
         List<String> fileList = new ArrayList<String>();
-        if(cl.hasOption("f")) {
+        if (cl.hasOption("f")) {
             fileList.add(cl.getOptionValue("f"));
-        } else if(cl.hasOption("d")) {
+        } else if (cl.hasOption("d")) {
             //check if pattern is to be used or simply use run all aida files
             String dirName = cl.getOptionValue("d");
-            if(cl.hasOption("p")) {
+            if (cl.hasOption("p")) {
                 System.out.println("The pattern option is not implemented. Please do it!");
                 System.exit(1);
             } else {
                 File dir = new File(dirName);
-                for(File f : dir.listFiles()) {
-                    if(f.isFile() && f.getName().contains(".aida")) {
+                for (File f : dir.listFiles()) {
+                    if (f.isFile() && f.getName().contains(".aida")) {
                         fileList.add(f.getAbsolutePath());
                     }
                 }
@@ -126,13 +134,13 @@
         }
         IAnalysisFactory af = IAnalysisFactory.create();
         TextFileUtil util = new TextFileUtil();
-        for(String file : fileList) {
+        for (String file : fileList) {
             System.out.println("Converting file " + file);
-            if(!file.contains(".aida")) {
+            if (!file.contains(".aida")) {
                 System.out.println("This is not an AIDA file?!");
                 continue;
             }
-            ITree tree=null;
+            ITree tree = null;
             try {
                 tree = af.createTreeFactory().create(file);
             } catch (IllegalArgumentException ex) {
@@ -140,16 +148,14 @@
             } catch (IOException ex) {
                 Logger.getLogger(DumpAIDATextFiles.class.getName()).log(Level.SEVERE, null, ex);
             }
-            if(tree==null) {
-                System.out.println("Couldn't create \"tree\" for file: "+file);
+            if (tree == null) {
+                System.out.println("Couldn't create \"tree\" for file: " + file);
                 continue;
             }
             String txtFileName = file.replaceAll(".aida", ".histtxt");
             util.createTextFile(txtFileName, tree);
-                
+
         }
-    
-    }
 
-    
+    }
 }
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