Print

Print


Author: [log in to unmask]
Date: Wed Feb 25 12:44:16 2015
New Revision: 2206

Log:
Fix the layout of all plots.

Modified:
    java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtTimingInPlots.java

Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtTimingInPlots.java
 =============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtTimingInPlots.java	(original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/drivers/svt/SvtTimingInPlots.java	Wed Feb 25 12:44:16 2015
@@ -20,13 +20,51 @@
 
 import org.hps.recon.tracking.FittedRawTrackerHit;
 
+/**
+ *  Monitoring driver that will be used when 'timing in' the SVT.
+ * 
+ *  @author Sho Uemura <[log in to unmask]>
+ *  @author Omar Moreno <[log in to unmask]>
+ */
 public class SvtTimingInPlots extends Driver {
 	
+    // TODO: Add documentation
+    // TODO: Set plot styles
 	
 	static IHistogramFactory histogramFactory = IAnalysisFactory.create().createHistogramFactory(null);
 	IPlotterFactory plotterFactory = IAnalysisFactory.create().createPlotterFactory();
 	protected Map<String, IPlotter> plotters = new HashMap<String, IPlotter>(); 
 	protected Map<SiSensor, IHistogram1D> t0Plots = new HashMap<SiSensor, IHistogram1D>(); 
+	
+    private int computePlotterRegion(HpsSiSensor sensor) {
+
+		if (sensor.getLayerNumber() < 7) {
+		    if (sensor.isTopLayer()) {
+		        return 2*(sensor.getLayerNumber() - 1); 
+			} else { 
+				return 2*(sensor.getLayerNumber() - 1) + 1;
+			}
+		} else { 
+		
+			if (sensor.isTopLayer()) {
+				if (sensor.getSide() == HpsSiSensor.POSITRON_SIDE) {
+					return 4*(sensor.getLayerNumber() - 7);
+				} else { 
+					return 4*(sensor.getLayerNumber() - 7) + 1;
+				}
+			} else if (sensor.isBottomLayer()) {
+				if (sensor.getSide() == HpsSiSensor.POSITRON_SIDE) {
+					return 4*(sensor.getLayerNumber() - 7) + 2;
+				} else {
+					return 4*(sensor.getLayerNumber() - 7) + 3;
+				}
+			}
+		}
+		
+		return -1; 
+    }
+	
+	
 	
 	protected void detectorChanged(Detector detector) {
 		
@@ -43,32 +81,13 @@
 		int index = 0;
 		for (HpsSiSensor sensor : sensors) {
 
+			t0Plots.put(sensor,histogramFactory.createHistogram1D(sensor.getName() + " - t0",75, -50, 100.0));
 			if (sensor.getLayerNumber() < 7) {
-				if (sensor.isTopLayer()) {
-					index = 2*(sensor.getLayerNumber() - 1); 
-				} else { 
-					index = 2*(sensor.getLayerNumber() - 1) + 1;
-				}
-				System.out.println("Layer number: " + sensor.getLayerNumber() + " Index: " + index);
-				t0Plots.put(sensor,histogramFactory.createHistogram1D(sensor.getName() + " - t0",75, -50, 100.0));
-				plotters.get("L1-L3 t0").region(index).plot(t0Plots.get(sensor));
+			    plotters.get("L1-L3 t0").region(this.computePlotterRegion(sensor))
+			                            .plot(t0Plots.get(sensor));
 			} else {
-				if (sensor.isTopLayer() && sensor.isAxial()) {
-					System.out.println("Top, axial");
-					index = 4*(sensor.getLayerNumber() - 7);
-				} else if (sensor.isTopLayer() && sensor.isStereo()) { 
-					System.out.println("Top, stereo");
-					index = 4*(sensor.getLayerNumber() - 7) + 1;
-				} else if (sensor.isBottomLayer() && sensor.isAxial()) {
-					System.out.println("Bottom, axial");
-					index = 4*(sensor.getLayerNumber() - 7) + 2;
-				} else if (sensor.isBottomLayer() && sensor.isStereo()) { 
-					System.out.println("Bottom, stereo");
-					index = 4*(sensor.getLayerNumber() - 7) + 3;
-				}
-				System.out.println("Layer number: " + sensor.getLayerNumber() + " Index: " + index);
-				t0Plots.put(sensor,histogramFactory.createHistogram1D(sensor.getName() + " - t0",75, -50, 100.0));
-				plotters.get("L4-L6 t0").region(index).plot(t0Plots.get(sensor));
+				plotters.get("L4-L6 t0").region(this.computePlotterRegion(sensor))
+				                        .plot(t0Plots.get(sensor));
 			}
 		}