Print

Print


Author: [log in to unmask]
Date: Mon Dec  1 13:19:29 2014
New Revision: 1605

Log:
Flesh out dummy analysis Driver at bit more so it might actually be useful.

Modified:
    java/trunk/analysis/src/main/java/org/hps/analysis/examples/DummyAnalysisDriver.java

Modified: java/trunk/analysis/src/main/java/org/hps/analysis/examples/DummyAnalysisDriver.java
 =============================================================================
--- java/trunk/analysis/src/main/java/org/hps/analysis/examples/DummyAnalysisDriver.java	(original)
+++ java/trunk/analysis/src/main/java/org/hps/analysis/examples/DummyAnalysisDriver.java	Mon Dec  1 13:19:29 2014
@@ -1,15 +1,64 @@
 package org.hps.analysis.examples;
 
 import org.lcsim.event.EventHeader;
+import org.lcsim.geometry.Detector;
 import org.lcsim.util.Driver;
 
 /**
- * This is the stupidest possible Driver that could ever be written.
+ * This is a skeleton that can be used to create a user analysis Driver in LCSim.
  * @author Jeremy McCormick <[log in to unmask]>
  */
 public class DummyAnalysisDriver extends Driver {    
+    
+    /**
+     * This argument does nothing.
+     */
+    int anArgument = 42;
+    
+    /**
+     * Your Driver should have a public constructor.
+     */
+    public DummyAnalysisDriver() {
+        getLogger().info("Hello DummyAnalysisDriver!");
+    }
+    
+    /**
+     * This is an example set method which can be accessed through LCSim steering file arguments.
+     * @param anArgument
+     */
+    public void setAnArgument(int anArgument) {
+        this.anArgument = anArgument;
+        getLogger().info("anArgument was set to " + anArgument);
+    }
+    
+    /**
+     * Process a single event.  
+     * Your analysis code should go in here.
+     * @param event The LCSim event to process.
+     */
     public void process(EventHeader event) {
-        System.out.println("Hello from the DummyAnalysisDriver!  This is event #" + event + " in run # " + event.getRunNumber() + ".");
+        getLogger().info("This is event #" + event.getEventNumber() + " in run # " + event.getRunNumber() + ".");
     }
-
-}
+    
+    /**
+     * Initialization code should go here that doesn't need the conditions system or Detector.
+     */
+    public void startOfData() {
+        getLogger().info("start of data");
+    }
+    
+    /**
+     * Driver setup should go here that needs information from the conditions system or Detector.
+     * @param detector The LCSim Detector object.
+     */
+    public void detectorChanged(Detector detector) {
+        getLogger().info("detector changed");
+    }
+    
+    /**
+     * End of job calculations or cleanup should go here.
+     */
+    public void endOfData() {
+        getLogger().info("end of data...goodbye!");
+    }    
+}