Print

Print


Commit in java/trunk/tracking/src/main/java/org/hps/recon/tracking on MAIN
TrackDataDriver.java+22-6682 -> 683
Add LCRelations between a track and its corresponding t0 residuals and track residuals to the event.

java/trunk/tracking/src/main/java/org/hps/recon/tracking
TrackDataDriver.java 682 -> 683
--- java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackDataDriver.java	2014-06-05 23:04:51 UTC (rev 682)
+++ java/trunk/tracking/src/main/java/org/hps/recon/tracking/TrackDataDriver.java	2014-06-05 23:22:15 UTC (rev 683)
@@ -11,7 +11,7 @@
 import org.lcsim.event.RawTrackerHit;
 import org.lcsim.event.Track;
 import org.lcsim.event.TrackerHit;
-import org.lcsim.event.base.BaseTrackerHit;
+import org.lcsim.event.base.BaseLCRelation;
 import org.lcsim.fit.helicaltrack.HelicalTrackCross;
 import org.lcsim.fit.helicaltrack.HelicalTrackHit;
 import org.lcsim.fit.helicaltrack.HelicalTrackStrip;
@@ -33,7 +33,9 @@
 	// TODO: Change this to match whatever track name is decided on
 	String trackTimeDataCollectionName = "TrackTimeData";
 	String trackResidualsCollectionName = "TrackResiduals";
-	String rotatedHthRelationsCollectionName = "RotatedHelicalTrackHitRelations";
+	String rotatedHthRelationsColName = "RotatedHelicalTrackHitRelations";
+	String trackTimeDataRelationsColName = "TrackTimeDataRelations";
+	String trackResidualsRelationsColName = "TrackResidualsRelations";
 
 	public TrackDataDriver() {}
 
@@ -54,14 +56,20 @@
 		
 		// Get the collection of LCRelations relating RotatedHelicalTrackHits to
 		// HelicalTrackHits
-		List<LCRelation> rotatedHthToHth = event.get(LCRelation.class, rotatedHthRelationsCollectionName);
+		List<LCRelation> rotatedHthToHthRelations = event.get(LCRelation.class, rotatedHthRelationsColName);
 
 		// Create a collection to hold the track time and t0 residual data
 		List<TrackTimeData> timeDataCollection = new ArrayList<TrackTimeData>(); 
+
+		// Create a collection of LCRelations between a track and the t0 residual data
+		List<LCRelation> trackToTrackTimeDataRelations = new ArrayList<LCRelation>();
 		
 		// Create a collection to hold the track residuals
 		List<TrackResidualsData> trackResidualsCollection = new ArrayList<TrackResidualsData>();
 		
+		// Create a collection of LCRelations between a track and the track residuals
+		List<LCRelation> trackToTrackResidualsRelations = new ArrayList<LCRelation>();
+		
 		double totalT0 = 0;
 		double totalHits = 0;
 		double trackTime = 0;
@@ -123,7 +131,7 @@
 				
 				// Get the HelicalTrackHit corresponding to the RotatedHelicalTrackHit
 				// associated with a track
-				for(LCRelation relation : rotatedHthToHth){
+				for(LCRelation relation : rotatedHthToHthRelations){
 					if(relation.getTo().equals(rotatedStereoHit)){
 						helicalTrackHit = (HelicalTrackHit) relation.getFrom(); 
 						break;
@@ -173,12 +181,20 @@
 				}
 			}
 		
-			timeDataCollection.add(new TrackTimeData(trackerVolume, trackTime, sensorLayers, t0Residuals));
-			trackResidualsCollection.add(new TrackResidualsData((int) trackerVolume, stereoLayers, trackResidualsX, trackResidualsY));
+			TrackTimeData timeData = new TrackTimeData(trackerVolume, trackTime, sensorLayers, t0Residuals);
+			timeDataCollection.add(timeData);
+			trackToTrackTimeDataRelations.add(new BaseLCRelation(timeData, track));
+			
+			TrackResidualsData trackResiduals = new TrackResidualsData((int) trackerVolume, stereoLayers, trackResidualsX, trackResidualsY);
+			trackResidualsCollection.add(trackResiduals);
+			trackToTrackResidualsRelations.add(new BaseLCRelation(trackResiduals, track));
 		
 		}
 		
 		event.put(trackTimeDataCollectionName, timeDataCollection, TrackTimeData.class, 0);
+		event.put(trackTimeDataRelationsColName, trackToTrackTimeDataRelations, LCRelation.class, 0);
 		event.put(trackResidualsCollectionName, trackResidualsCollection, TrackResidualsData.class, 0);
+		event.put(trackResidualsRelationsColName, trackToTrackResidualsRelations, LCRelation.class, 0);
+		
 	}
 }
SVNspam 0.1