Commit in lcsim on MAIN
test/org/lcsim/util/event/SamplingFractionManagerTest.java+81.1 -> 1.2
src/org/lcsim/util/event/SamplingFractionManager.java+2-21.7 -> 1.8
+10-2
2 modified files
tj: SamplingFractionManager bug fix and more tests

lcsim/test/org/lcsim/util/event
SamplingFractionManagerTest.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- SamplingFractionManagerTest.java	9 Jun 2006 22:55:15 -0000	1.1
+++ SamplingFractionManagerTest.java	12 Jun 2006 17:38:15 -0000	1.2
@@ -69,8 +69,16 @@
         
         double sf = smgr.getCorrectedEnergy(10,0,emBarrel);
         assertEquals(.015996,10/sf,1e-10);
+        sf = smgr.getCorrectedEnergy(10,9,emBarrel);
+        assertEquals(.015996,10/sf,1e-10);
         sf = smgr.getCorrectedEnergy(10,20,emBarrel);
         assertEquals(.007998,10/sf,1e-10);
+        sf = smgr.getCorrectedEnergy(10,21,emBarrel);
+        assertEquals(.007998,10/sf,1e-10);
+        sf = smgr.getCorrectedEnergy(10,30,emBarrel);
+        assertEquals(.007998,10/sf,1e-10);
+        sf = smgr.getCorrectedEnergy(10,31,emBarrel);
+        assertEquals(.015996,10/sf,1e-10);
     }
     
 }

lcsim/src/org/lcsim/util/event
SamplingFractionManager.java 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- SamplingFractionManager.java	9 Jun 2006 22:55:15 -0000	1.7
+++ SamplingFractionManager.java	12 Jun 2006 17:38:16 -0000	1.8
@@ -49,7 +49,7 @@
          defaultSamplingFraction = set.getDouble("samplingFraction");
          digital = set.getBoolean("digital",false);
          Pattern pattern = Pattern.compile("samplingFraction\\[((\\d+(-\\d+)?)(,\\d+(-\\d+)?)*)\\]");
-         Pattern p2 = Pattern.compile(",?(\\d+)(-\\d+)?");
+         Pattern p2 = Pattern.compile(",?(\\d+)(-(\\d+))?");
          
          for (Object o : set.keySet())
          {
@@ -65,7 +65,7 @@
                while (m2.find())
                {
                   int start = Integer.parseInt(m2.group(1));
-                  int end = m2.group(2) == null ? -1 : Integer.parseInt(m2.group(2));
+                  int end = m2.group(3) == null ? -1 : Integer.parseInt(m2.group(3));
                   if (end > start)
                   {
                      for (int i=start; i<=end; i++)
CVSspam 0.2.8