Commit in lcsim/test/org/lcsim on MAIN
NonTrivialPFASingleEventTest.java+58added 1.1
JM: Add test to run 1 event on NonTrivialPFA and write output to target/test-output/NonTrivialPFA.slcio for inspection.

lcsim/test/org/lcsim
NonTrivialPFASingleEventTest.java added at 1.1
diff -N NonTrivialPFASingleEventTest.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ NonTrivialPFASingleEventTest.java	4 Sep 2007 22:51:30 -0000	1.1
@@ -0,0 +1,58 @@
+package org.lcsim;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.freehep.record.loop.LoopException;
+import org.lcsim.contrib.uiowa.NonTrivialPFA;
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.MCParticle;
+import org.lcsim.util.Driver;
+import org.lcsim.util.cache.FileCache;
+import org.lcsim.util.loop.LCIODriver;
+import org.lcsim.util.loop.LCSimLoop;
+import org.lcsim.util.test.TestUtil.TestOutputFile;
+
+/**
+ * Runs the {@link org.lcsim.contrib.uiowa.NonTrivialPFA} on a single physics event
+ * and writes the output to <code>target/test-output/NonTrivialPFA.slcio</code>.
+ * 
+ * @author Jeremy McCormick <[log in to unmask]>
+ */
+public class NonTrivialPFASingleEventTest extends TestCase
+{	
+	public void testSingleEvent() throws IOException, LoopException
+	{
+		FileCache cache = new FileCache();
+		File file = cache.getCachedFile(new URL("http://www.lcsim.org/test/lcio/panpyZZnunubaruds-0-1000_SLIC_v2r1p5_acme0605.slcio"));
+		
+		LCSimLoop loop = new LCSimLoop();
+		loop.setLCIORecordSource(file);
+		loop.add(new NonTrivialPFA());
+		loop.add(new RemoveMCPColls());
+		loop.add(new LCIODriver(new TestOutputFile("NonTrivialPFA.slcio")));
+		loop.loop(1);
+		loop.dispose();		
+	}
+	
+	class RemoveMCPColls extends Driver
+	{
+		public void process(EventHeader event)
+		{
+			List<MCParticle> particles = event.get(MCParticle.class,event.MC_PARTICLES);
+			List<List<MCParticle>> collections = event.get(MCParticle.class);
+			for (List<MCParticle> collection : collections)
+			{
+				if (collection != particles)
+				{
+					String name = event.getMetaData(collection).getName();
+					event.remove(name);
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
CVSspam 0.2.8