Author: [log in to unmask]
Date: Mon Mar 14 11:04:24 2016
New Revision: 4294
Log:
added a driver with a very specific use
Added:
java/trunk/users/src/main/java/org/hps/users/spaul/FindBiasOnRange.java
Added: java/trunk/users/src/main/java/org/hps/users/spaul/FindBiasOnRange.java
=============================================================================
--- java/trunk/users/src/main/java/org/hps/users/spaul/FindBiasOnRange.java (added)
+++ java/trunk/users/src/main/java/org/hps/users/spaul/FindBiasOnRange.java Mon Mar 14 11:04:24 2016
@@ -0,0 +1,54 @@
+package org.hps.users.spaul;
+
+import java.io.FileNotFoundException;
+import java.io.PrintStream;
+
+import org.hps.record.epics.EpicsData;
+import org.hps.run.database.EpicsType;
+import org.lcsim.event.EventHeader;
+import org.lcsim.util.Driver;
+
+public class FindBiasOnRange extends Driver{
+ /*tab*//*tab*//*tab*/
+ String svtBiasName = "SVT:bias:top:0:v_sens";
+
+ String outfile = "bias_on.txt";
+ @Override
+ public void process(EventHeader event){
+ final EpicsData edata = EpicsData.read(event);
+ if (edata == null)
+ return;
+ System.out.println(edata.getKeys());
+ if(!edata.hasKey(svtBiasName))
+ return;
+ double bias = edata.getValue(svtBiasName);
+ foundBiasEvent(event.getEventNumber(), isGood(bias));
+ }
+
+
+ boolean prevIsGood = false;
+ int prevNumber = -10;
+ void foundBiasEvent(int number, boolean isGood){
+ if(isGood && prevIsGood){
+ PrintStream ps;
+ try {
+ ps = new PrintStream(outfile);
+ ps.println(prevNumber + " " + number);
+ ps.close();
+ System.exit(0);
+ } catch (FileNotFoundException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+ prevNumber = number;
+ prevIsGood = isGood;
+
+ }
+ double minBias = 179;
+ double maxBias = 181;
+ boolean isGood(double bias){
+ return bias > minBias && bias < maxBias;
+ }
+}
|