Print

Print


Author: [log in to unmask]
Date: Wed Mar 25 11:51:38 2015
New Revision: 2537

Log:
Add additional methods for writing scalar data to a named collection in the LCIO event.

Modified:
    java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarData.java

Modified: java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarData.java
 =============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarData.java	(original)
+++ java/trunk/record-util/src/main/java/org/hps/record/scalars/ScalarData.java	Wed Mar 25 11:51:38 2015
@@ -77,13 +77,32 @@
     }
     
     /**
-     * Write this object out to an LCIO event.
+     * Write this object out to an LCIO event using the default collection name.
      * @param event The output LCIO event.
      */
     public void write(EventHeader event) {
+        write(event, DEFAULT_SCALAR_DATA_COLLECTION_NAME);
+    }
+    
+    /**
+     * Write this object out to an LCIO event using the given collection name.
+     * @param event The output LCIO event.
+     * @param collectionName The name of the collection.
+     */
+    public void write(EventHeader event, String collectionName) {
         List<GenericObject> collection = new ArrayList<GenericObject>();
         collection.add(toGenericObject());
-        event.put(DEFAULT_SCALAR_DATA_COLLECTION_NAME, collection, GenericObject.class, 0);
+        event.put(collectionName, collection, GenericObject.class, 0);
+    }
+    
+    
+    /**
+     * Create a new object from the data in an LCIO event, using the default collection name.
+     * @param event The LCIO event data.
+     * @return The created ScalarData object or null if does not exist in event.
+     */
+    public static ScalarData read(EventHeader event) {
+        return read(event, DEFAULT_SCALAR_DATA_COLLECTION_NAME);
     }
     
     /**
@@ -91,18 +110,19 @@
      * @param event The LCIO event data.
      * @return The created ScalarData object or null if does not exist in event.
      */
-    public static ScalarData read(EventHeader event) {
+    public static ScalarData read(EventHeader event, String collectionName) {
         ScalarData data = null;
-        if (event.hasCollection(GenericObject.class, DEFAULT_SCALAR_DATA_COLLECTION_NAME)) {
-            List<GenericObject> objects = event.get(GenericObject.class, DEFAULT_SCALAR_DATA_COLLECTION_NAME);
+        if (event.hasCollection(GenericObject.class, collectionName)) {
+            List<GenericObject> objects = event.get(GenericObject.class, collectionName);
             data = new ScalarData();
             data.fromGenericObject(objects.get(0));
         }
         return data;
     }
     
+    
     /**
-     * Convert this object to a readable string, which is basically just a list of int values
+     * Convert this object to a readable string, which is a list of integer values
      * enclosed in braces and separated by commas.
      */
     public String toString() {