Commit in java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl on MAIN
GBLEventData.java+17-5128 -> 129
GBLOutput.java+15-2128 -> 129
GBLOutputDriver.java+32-12128 -> 129
GBLStripClusterData.java+117added 129
GBLTrackData.java+5-4128 -> 129
+186-23
1 added + 4 modified, total 5 files
strips and relations. work in progress

java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
GBLEventData.java 128 -> 129
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLEventData.java	2014-01-29 01:02:44 UTC (rev 128)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLEventData.java	2014-01-29 01:09:49 UTC (rev 129)
@@ -13,8 +13,13 @@
 		public static final int RUNNR = 0;
 		public static final int BANK_INT_SIZE = 1;
 	}
+	private static class GBLDOUBLE {
+		public static final int BFIELD = 0;
+		public static final int BANK_DOUBLE_SIZE = 1;
+	}
 	// array holding the integer data
 	private int bank_int[] = new int[GBLINT.BANK_INT_SIZE];
+	private double bank_double[] = new double[GBLDOUBLE.BANK_DOUBLE_SIZE];
 	
 
 	/**
@@ -22,8 +27,9 @@
 	 * @param eventNumber the event number
 	 * 
 	 */
-	public GBLEventData(int eventNumber) {
+	public GBLEventData(int eventNumber,double Bz) {
 		setRunNr(eventNumber);
+		setBfield(Bz);
 	}
 	
 	public void setRunNr(int val) {
@@ -34,7 +40,15 @@
 		return this.getIntVal(GBLINT.RUNNR);
 	}
 	
+	public void setBfield(double val) {
+		bank_double[GBLDOUBLE.BFIELD] = val;
+	}
 	
+	public double getBfield() {
+		return this.getDoubleVal(GBLDOUBLE.BFIELD);
+	}
+	
+	
 	@Override
 	public int getNInt() {
 		return GBLINT.BANK_INT_SIZE;
@@ -47,8 +61,7 @@
 
 	@Override
 	public int getNDouble() {
-		// TODO Auto-generated method stub
-		return 0;
+		return GBLDOUBLE.BANK_DOUBLE_SIZE;
 	}
 
 	@Override
@@ -64,8 +77,7 @@
 
 	@Override
 	public double getDoubleVal(int index) {
-		// TODO Auto-generated method stub
-		return 0;
+		return bank_double[index];
 	}
 
 	@Override

java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
GBLOutput.java 128 -> 129
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutput.java	2014-01-29 01:02:44 UTC (rev 128)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutput.java	2014-01-29 01:09:49 UTC (rev 129)
@@ -108,7 +108,7 @@
 
 
     
-    void printGBL(Track trk, GBLTrackData gtd, List<MCParticle> mcParticles, List<SimTrackerHit> simTrackerHits, boolean isMC) {
+    void printGBL(Track trk, GBLTrackData gtd, List<GBLStripClusterData> stripClusterDataList, List<MCParticle> mcParticles, List<SimTrackerHit> simTrackerHits, boolean isMC) {
 
         SeedTrack st = (SeedTrack)trk;
         SeedCandidate seed = st.getSeedCandidate();
@@ -221,7 +221,14 @@
                 if(_debug>0) System.out.printf("%s: layer %d\n",this.getClass().getSimpleName(),strip.layer());
                 
                 file.printStrip(istrip,strip.layer());
-            
+
+                //GBLDATA
+                GBLStripClusterData stripData = new GBLStripClusterData(strip.layer());
+                //Add to output list
+                stripClusterDataList.add(stripData);
+                
+                
+                
                 //Center of the sensor
                 Hep3Vector origin = strip.origin();                
                 file.printOrigin(origin);
@@ -279,6 +286,12 @@
                 file.printStripPathLen(s);
                 file.printStripPathLen3D(s3D);
                 
+                //GBLDATA
+                stripData.setPath(s);
+                stripData.setPath3D(s3D);
+                
+                
+                
                 //print stereo angle in YZ plane
                 file.printMeasDir(strip.u());
                 file.printNonMeasDir(strip.v());

java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
GBLOutputDriver.java 128 -> 129
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutputDriver.java	2014-01-29 01:02:44 UTC (rev 128)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutputDriver.java	2014-01-29 01:09:49 UTC (rev 129)
@@ -10,9 +10,13 @@
 import java.util.logging.Logger;
 
 import org.lcsim.event.EventHeader;
+import org.lcsim.event.LCRelation;
 import org.lcsim.event.MCParticle;
+import org.lcsim.event.RelationalTable;
 import org.lcsim.event.SimTrackerHit;
 import org.lcsim.event.Track;
+import org.lcsim.event.base.BaseRelationalTable;
+import org.lcsim.event.base.MyLCRelation;
 import org.lcsim.geometry.Detector;
 import org.lcsim.hps.recon.tracking.EventQuality;
 import org.lcsim.hps.recon.tracking.FieldMap;
@@ -124,29 +128,45 @@
         }
 
         //GBLData
-        List<GBLEventData> gds =  new ArrayList<GBLEventData>(); 
-        gds.add(new GBLEventData(event.getEventNumber()));
+        List<GBLEventData> gblEventData =  new ArrayList<GBLEventData>(); 
+        gblEventData.add(new GBLEventData(event.getEventNumber(),gbl.get_B().z()));
+        List<GBLTrackData> gblTrackDataList =  new ArrayList<GBLTrackData>(); 
+        List<GBLStripClusterData> gblStripDataListAll  = new ArrayList<GBLStripClusterData>();
+        List<GBLStripClusterData> gblStripDataList  = new ArrayList<GBLStripClusterData>();
+        List<LCRelation> gblTrackToStripClusterRelationListAll = new ArrayList<LCRelation>();
         
-        //gbl.printNewEvent(event.getEventNumber());
         gbl.printNewEvent(iEvent,gbl.get_B().z());
 
-        List<GBLTrackData> gtds =  new ArrayList<GBLTrackData>(); 
-
         iTrack = 0;
         for (Track trk : selected_tracks) {
             if(_debug>0) System.out.printf("%s: Print GBL output for this track\n", this.getClass().getSimpleName());
-            GBLTrackData gtd = new GBLTrackData();
-            gtd.setTrackId(iTrack);
+            
+            //GBLDATA
+            GBLTrackData gblTrackData = new GBLTrackData(iTrack);
+            gblTrackDataList.add(gblTrackData);            
             gbl.printTrackID(iTrack);
-            gbl.printGBL(trk,gtd,mcParticles,simTrackerHits,this.isMC);
+            gbl.printGBL(trk,gblTrackData,gblStripDataList,mcParticles,simTrackerHits,this.isMC);
+            
+            //GBLDATA
+            // add strip clusters to lists
+            for(GBLStripClusterData gblStripClusterData : gblStripDataList) {
+                // add all strip clusters from this track to output list
+                gblStripDataListAll.add(gblStripClusterData);
+                // add LC relations between cluster and track
+                gblTrackToStripClusterRelationListAll.add(new MyLCRelation(gblTrackData,gblStripClusterData));
+            }
+            // clear list of strips for next track
+            gblStripDataList.clear();
+
             totalTracksProcessed++;
-            gtds.add(gtd);
-            
             ++iTrack;
         }
         
-        event.put("GBLEventData", gds, GBLEventData.class, 0);
-        event.put("GBLTrackData", gtds, GBLTrackData.class, 0);
+        // Put GBL info into event
+        event.put("GBLEventData", gblEventData, GBLEventData.class, 0);
+        event.put("GBLTrackData", gblTrackDataList, GBLTrackData.class, 0);
+        event.put("GBLStripClusterData", gblStripDataListAll, GBLStripClusterData.class, 0);
+        event.put("GBLTrackToStripData", gblTrackToStripClusterRelationListAll, LCRelation.class, 0);
         
         ++iEvent;
         

java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
GBLStripClusterData.java added at 129
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLStripClusterData.java	                        (rev 0)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLStripClusterData.java	2014-01-29 01:09:49 UTC (rev 129)
@@ -0,0 +1,117 @@
+package org.lcsim.hps.recon.tracking.gbl;
+
+import org.lcsim.event.GenericObject;
+import org.lcsim.hps.recon.tracking.gbl.GBLOutput.PerigeeParams;
+
+public class GBLStripClusterData implements GenericObject {
+	
+	/*
+	 * 
+	 * Interface enumerator to access the correct data
+	 * 
+	 */
+	private static class GBLINT {
+		public static final int ID = 0;
+		public static final int BANK_INT_SIZE = 1;
+	}
+	private static class GBLDOUBLE {
+		public static final int PATH3D = 0;
+		public static final int PATH = 1;
+		public static final int BANK_DOUBLE_SIZE = 2;
+	}
+	// array holding the integer data
+	private int bank_int[] = new int[GBLINT.BANK_INT_SIZE];
+	// array holding the double data
+	private double bank_double[] = new double[GBLDOUBLE.BANK_DOUBLE_SIZE];
+	
+	/**
+	 * Default constructor
+	 */
+	public GBLStripClusterData(int id) {
+		setId(id);
+	}
+	
+	/**
+	 * @param set track id to val
+	 */
+	public void setId(int val) {
+		bank_int[GBLINT.ID] = val;
+	}
+	
+	/**
+	 * @return track id for this object
+	 */
+	public int getId() {
+		return this.getIntVal(GBLINT.ID);
+	}
+	
+	/**
+	 * Set path length to this strip cluster
+	 * @param val
+	 */
+	public void setPath(double val) {
+		bank_double[GBLDOUBLE.PATH] = val;
+	}
+	
+	/**
+	 * Get path length to this strip cluster
+	 */
+	public double getPath() {
+		return getDoubleVal(GBLDOUBLE.PATH);
+	}
+
+	/**
+	 * Set path length to this strip cluster
+	 * @param val
+	 */
+	public void setPath3D(double val) {
+		bank_double[GBLDOUBLE.PATH3D] = val;
+	}
+	
+	/**
+	 * Get path length to this strip cluster
+	 */
+	public double getPath3D() {
+		return getDoubleVal(GBLDOUBLE.PATH3D);
+	}
+
+	
+	
+	
+	
+
+	/*
+	 * The functions below are all overide from 
+	 * @see org.lcsim.event.GenericObject#getNInt()
+	 */
+	
+	public int getNInt() {
+		return GBLINT.BANK_INT_SIZE;
+	}
+
+	public int getNFloat() {
+		return 0;
+	}
+
+	public int getNDouble() {
+		return GBLDOUBLE.BANK_DOUBLE_SIZE;
+	}
+
+	public int getIntVal(int index) {
+		return bank_int[index];
+	}
+
+	public float getFloatVal(int index) {
+		return 0;
+	}
+
+	public double getDoubleVal(int index) {
+		return bank_double[index];
+	}
+
+	public boolean isFixedSize() {
+		return false;
+	}
+
+
+}

java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
GBLTrackData.java 128 -> 129
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLTrackData.java	2014-01-29 01:02:44 UTC (rev 128)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLTrackData.java	2014-01-29 01:09:49 UTC (rev 129)
@@ -11,7 +11,7 @@
 	 * 
 	 */
 	private static class GBLINT {
-		public static final int TRACKID = 0;
+		public static final int ID = 0;
 		public static final int BANK_INT_SIZE = 1;
 	}
 	private static class GBLDOUBLE {
@@ -30,21 +30,22 @@
 	/**
 	 * Default constructor
 	 */
-	public GBLTrackData() {		
+	public GBLTrackData(int id) {	
+		setTrackId(id);
 	}
 	
 	/**
 	 * @param set track id to val
 	 */
 	public void setTrackId(int val) {
-		bank_int[GBLINT.TRACKID] = val;
+		bank_int[GBLINT.ID] = val;
 	}
 	
 	/**
 	 * @return track id for this object
 	 */
 	public int getTrackId() {
-		return this.getIntVal(GBLINT.TRACKID);
+		return this.getIntVal(GBLINT.ID);
 	}
 	
 	/**
SVNspam 0.1