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)); } }