Print

Print


Author: [log in to unmask]
Date: Fri Jan 23 06:55:36 2015
New Revision: 1978

Log:
Added option to not clear the event display after each update event for LED commissioning.

Modified:
    java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalEventDisplay.java

Modified: java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalEventDisplay.java
 =============================================================================
--- java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalEventDisplay.java	(original)
+++ java/trunk/monitoring-drivers/src/main/java/org/hps/monitoring/ecal/plots/EcalEventDisplay.java	Fri Jan 23 06:55:36 2015
@@ -66,22 +66,22 @@
 	private ArrayList<IHistogram2D> channelTimeVsEnergyPlot;
 	
 	// Internal variables.
-	private Detector detector;									 // The active detector.
 	private PEventViewer viewer;								 // Single event display.
 	private int pedSamples = 10;								 // 
 	private IPlotterStyle pstyle;								 // The plotter style for all plots.
-	private long lastEventTime = 0;							 // Tracks the time at which the last event occurred.
+	private long lastEventTime = 0;								 // Tracks the time at which the last event occurred.
 	private int eventRefreshRate = 1;							 // The number of seconds before an update occurs.
-	private double minEch = 10 * ECalUtils.MeV;				 // The energy scale minimum.
+	private boolean resetOnUpdate = true;						 // Clears the event display on each update.
+	private double minEch = 10 * ECalUtils.MeV;					 // The energy scale minimum.
 	private double maxEch = 3500 * ECalUtils.MeV;				 // The energy scale maximum.
 	private int[] windowRaw = new int[NUM_CHANNELS];			 // The number of samples in a waveform for each channel.
-	private boolean[] isFirstRaw = new boolean[NUM_CHANNELS]; // Whether a waveform plot was initiated for each channel.
+	private boolean[] isFirstRaw = new boolean[NUM_CHANNELS];	 // Whether a waveform plot was initiated for each channel.
 	
 	// Plot style and title variables.
 	private static final String NO_TITLE = "";
 	//private static final String SIGNAL_TIME_TITLE = "Time (ns)";
 	private static final String HIT_TIME_TITLE = "Hit Time (ns)";
-	private static final String SIGNAL_DATA_STYLE_COLOR = "orange";
+	//private static final String SIGNAL_DATA_STYLE_COLOR = "orange";
 	//private static final String RAW_WAVEFORM_TITLE = "Raw Waveform";
 	private static final String HIT_ENERGY_TITLE = "Hit Energy (GeV)";
 	private static final String CLUSTER_ENERGY_TITLE = "Cluster Energy (GeV)";
@@ -142,14 +142,22 @@
 	}
 	
 	/**
+	 * Sets whether the event display should be cleared after event
+	 * or whether it should retain the previously displayed results.
+	 * @param resetOnUpdate - <code>true</code> means that the event
+	 * display should be cleared on each update and <code>false</code>
+	 * that it should not.
+	 */
+	public void setResetOnUpdate(boolean resetOnUpdate) {
+		this.resetOnUpdate = resetOnUpdate;
+	}
+	
+	/**
 	 * Initializes the single channel monitoring plots for all crystal
 	 * channels and defines the plotter region that contains them.
 	 */
 	@Override
 	public void detectorChanged(Detector detector) {
-		// Store the current detector.
-		this.detector = detector;
-		
 		// Reset the AIDA tree directory.
 		aida.tree().cd("/");
 		
@@ -296,7 +304,7 @@
 		}
 		
 		// If an update should be made, perform the update.
-		if(update) { viewer.resetDisplay(); }
+		if(update && resetOnUpdate) { viewer.resetDisplay(); }
 		
 		// If the event has calorimeter hit objects...
 		if(event.hasCollection(CalorimeterHit.class, inputCollection)) {