Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment on MAIN
ExampleDriverSiD01.java+1-21.1.1.1 -> 1.2
ExampleDriverSiD02.java+1-21.1.1.1 -> 1.2
algorithm/HitMakerSmear.java+5-41.1.1.1 -> 1.2
geom/SegmentationManager.java+7-201.1.1.1 -> 1.2
    /Sensor.java+4-21.1.1.1 -> 1.2
hit/VSChannel.java+4-51.1.1.1 -> 1.2
process/CalibrationDriver.java+3-31.1.1.1 -> 1.2
       /ChargeCollectionDriver.java+3-31.1.1.1 -> 1.2
       /ClusteringDriver.java+3-41.1.1.1 -> 1.2
       /DigitizationDriver.java+3-31.1.1.1 -> 1.2
       /NoiseGenerationDriver.java+3-21.1.1.1 -> 1.2
       /ReadoutSimulationDriver.java+3-41.1.1.1 -> 1.2
+40-54
12 modified files
Route getting default copy of SegmentationManager through JobManager (thread safety).

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment
ExampleDriverSiD01.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- ExampleDriverSiD01.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ ExampleDriverSiD01.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -33,7 +33,7 @@
  * An example driver that runs tracker hit processing.
  *
  * @author D. Onoprienko
- * @version $Id: ExampleDriverSiD01.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: ExampleDriverSiD01.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class ExampleDriverSiD01 extends Driver {
 
@@ -53,7 +53,6 @@
     
     Segmenter segmenter = new SegmenterSiD01();
     SegmentationManager segMan = new SegmentationManager(segmenter);
-    SegmentationManager.setDefaultInstance(segMan);
     add(segMan);
     
     // -- Charge collection :  -------------------------------------------------

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment
ExampleDriverSiD02.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- ExampleDriverSiD02.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ ExampleDriverSiD02.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -30,7 +30,7 @@
  * An example driver that runs tracker hit processing.
  *
  * @author D. Onoprienko
- * @version $Id: ExampleDriverSiD02.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: ExampleDriverSiD02.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class ExampleDriverSiD02 extends Driver {
 
@@ -50,7 +50,6 @@
     
     Segmenter segmenter = new SegmenterSiD02_01();
     SegmentationManager segMan = new SegmentationManager(segmenter);
-    SegmentationManager.setDefaultInstance(segMan);
     add(segMan);
     
     // -- Charge collection :  -------------------------------------------------

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment/algorithm
HitMakerSmear.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- HitMakerSmear.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ HitMakerSmear.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -5,6 +5,9 @@
 import hep.physics.vec.Hep3Vector;
 import org.lcsim.event.SimTrackerHit;
 
+import org.lcsim.contrib.onoprien.util.ConstHep3Vector;
+import org.lcsim.contrib.onoprien.util.job.JobManager;
+
 import org.lcsim.contrib.onoprien.vsegment.geom.SegmentationManager;
 import org.lcsim.contrib.onoprien.vsegment.geom.Sensor;
 import org.lcsim.contrib.onoprien.vsegment.geom.SensorType;
@@ -13,10 +16,8 @@
 import org.lcsim.contrib.onoprien.vsegment.hit.VSTrackerHitGeneric;
 import org.lcsim.contrib.onoprien.vsegment.hit.VSTrackerPulse;
 import org.lcsim.contrib.onoprien.vsegment.mctruth.MCTruthVS;
-import org.lcsim.contrib.onoprien.vsegment.mctruth.MCTruthDriverVS;
 import org.lcsim.contrib.onoprien.vsegment.process.VSEvent;
 import org.lcsim.contrib.onoprien.vsegment.process.VSEventListener;
-import org.lcsim.contrib.onoprien.util.ConstHep3Vector;
 import org.lcsim.contrib.onoprien.vsegment.transform.IRefFrame;
 
 /**
@@ -34,14 +35,14 @@
  * fixed direction is always zero.
  *
  * @author D. Onoprienko
- * @version $Id: HitMakerSmear.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: HitMakerSmear.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class HitMakerSmear extends HitMakerAbstract implements VSEventListener {
   
 // -- Constructors and initialization:  ----------------------------------------
   
   public HitMakerSmear() {
-    _segMan = SegmentationManager.defaultInstance();
+    _segMan = JobManager.defaultInstance().get(SegmentationManager.class);
     _segMan.addListener(this);
   }
   

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment/geom
SegmentationManager.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- SegmentationManager.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ SegmentationManager.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -24,6 +24,7 @@
 import org.lcsim.util.heprep.LCSimHepRepConverter;
 
 import org.lcsim.contrib.onoprien.util.NoSuchParameterException;
+import org.lcsim.contrib.onoprien.util.job.JobManager;
 
 import org.lcsim.contrib.onoprien.vsegment.hit.ITrackerHitConverter;
 import org.lcsim.contrib.onoprien.vsegment.mctruth.MCTruthVS;
@@ -52,7 +53,7 @@
  * method in the future.
  *
  * @author D.Onoprienko
- * @version $Id: SegmentationManager.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: SegmentationManager.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class SegmentationManager extends Driver implements ConditionsListener {
   
@@ -82,7 +83,8 @@
       heprep.register(new SensorConverter());
       heprep.register(new ITrackerHitConverter());
     } catch (Throwable t) {}
-  
+
+    JobManager.defaultInstance().put(this, SegmentationManager.class);
   }
 
   /** Called by framework whenever <tt>ConditionsEvent</tt> is dispatched by <tt>ConditionsManager</tt>. */
@@ -117,7 +119,7 @@
         List<Integer> sensorIDs = _segmenter.getSensorIDs();
         for (int sensorID : sensorIDs) {
           _sensorMap.put(sensorID, _segmenter.getSensor(sensorID));
-        };
+        }
       }
     } else {
       throw new RuntimeException("SegmentationManager cannot initialize, no Detector");      
@@ -339,25 +341,10 @@
   public IIdentifierHelper getIdentifierHelper() {
     return null; // FIXME
   }
-  
-// -- Static access to segmentation manager :  ---------------------------------
-  
-  /** Set default segmentation manager. */
-  static public void setDefaultInstance(SegmentationManager segMan) {
-    _defaultSegMan = segMan;
-  }
-  
-  /**
-   * Returns segmentation manager that has been previously set with a call to
-   * {@link #setDefaultInstance(SegmentationManager)} method.
-   */
-  static public SegmentationManager defaultInstance() {
-    return _defaultSegMan;
-  }
-  
+
+
 // -- Private parts :  ---------------------------------------------------------
   
-  static private SegmentationManager _defaultSegMan;
   private boolean _notInitialized;
   private ArrayList<WeakReference<VSEventListener>> _listeners;
   

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment/geom
Sensor.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- Sensor.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ Sensor.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -8,6 +8,8 @@
 import org.lcsim.geometry.Subdetector;
 import org.lcsim.geometry.subdetector.BarrelEndcapFlag;
 
+import org.lcsim.contrib.onoprien.util.job.JobManager;
+
 import org.lcsim.contrib.onoprien.vsegment.hit.ITrackerObject;
 import org.lcsim.contrib.onoprien.vsegment.transform.IRefFrame;
 
@@ -17,7 +19,7 @@
  * and knows how to transform coordinates between local and global frames. 
  *
  * @author D.Onoprienko
- * @version $Id: Sensor.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: Sensor.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class Sensor implements ITrackerObject {
   
@@ -54,7 +56,7 @@
     * Get the {@link IIdentifierHelper} associated with this object.
     */
    public IIdentifierHelper getIdentifierHelper() {
-     return SegmentationManager.defaultInstance().getIdentifierHelper();
+     return JobManager.defaultInstance().get(SegmentationManager.class).getIdentifierHelper();
    }
 
   /**

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment/hit
VSChannel.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- VSChannel.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ VSChannel.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -3,12 +3,11 @@
 import java.util.*;
 
 import hep.physics.vec.Hep3Vector;
-import org.lcsim.detector.IDetectorElement;
 import org.lcsim.detector.identifier.IExpandedIdentifier;
 import org.lcsim.detector.identifier.IIdentifier;
 import org.lcsim.detector.identifier.IIdentifierHelper;
-import org.lcsim.geometry.Subdetector;
-import org.lcsim.geometry.subdetector.BarrelEndcapFlag;
+
+import org.lcsim.contrib.onoprien.util.job.JobManager;
 
 import org.lcsim.contrib.onoprien.vsegment.geom.SegmentationManager;
 import org.lcsim.contrib.onoprien.vsegment.geom.Sensor;
@@ -18,7 +17,7 @@
  * 
  * 
  * @author D. Onoprienko
- * @version $Id: VSChannel.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: VSChannel.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class VSChannel extends VSTrackerObject {
 
@@ -73,7 +72,7 @@
    
    /** Returns {@link IIdentifierHelper} associated with this object. */
    public IIdentifierHelper getIdentifierHelper() {
-     return SegmentationManager.defaultInstance().getIdentifierHelper();
+     return JobManager.defaultInstance().get(SegmentationManager.class).getIdentifierHelper();
    }
    
 

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment/process
CalibrationDriver.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- CalibrationDriver.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ CalibrationDriver.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -9,6 +9,7 @@
 import org.lcsim.contrib.onoprien.util.ListMap;
 import org.lcsim.contrib.onoprien.util.NoSuchParameterException;
 import org.lcsim.contrib.onoprien.util.job.Driver;
+import org.lcsim.contrib.onoprien.util.job.JobManager;
 
 import org.lcsim.contrib.onoprien.vsegment.geom.SegmentationManager;
 import org.lcsim.contrib.onoprien.vsegment.geom.Sensor;
@@ -19,15 +20,14 @@
  *
  *
  * @author D. Onoprienko
- * @version $Id: CalibrationDriver.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: CalibrationDriver.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class CalibrationDriver extends Driver implements VSEventListener {
 
 // -- Constructors and initialization :  ---------------------------------------
   
   public CalibrationDriver() {
-    _segMan = SegmentationManager.defaultInstance();
-    if (_segMan == null) throw new RuntimeException("No default SegmentationManager");
+    _segMan = JobManager.defaultInstance().get(SegmentationManager.class);
     _segMan.addListener(this);
     _decs = new ArrayList<Decoder>(1);
     _decFilters = new ArrayList<SensorFilter>(1);

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment/process
ChargeCollectionDriver.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- ChargeCollectionDriver.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ ChargeCollectionDriver.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -13,6 +13,7 @@
 import org.lcsim.contrib.onoprien.util.ListMap;
 import org.lcsim.contrib.onoprien.util.NoSuchParameterException;
 import org.lcsim.contrib.onoprien.util.job.Driver;
+import org.lcsim.contrib.onoprien.util.job.JobManager;
 
 import org.lcsim.contrib.onoprien.vsegment.geom.SegmentationManager;
 import org.lcsim.contrib.onoprien.vsegment.geom.Sensor;
@@ -31,7 +32,7 @@
  * 
  * 
  * @author D.Onoprienko
- * @version $Id: ChargeCollectionDriver.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: ChargeCollectionDriver.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class ChargeCollectionDriver extends Driver implements VSEventListener {
   
@@ -41,8 +42,7 @@
    * Default constructor.
    */
   public ChargeCollectionDriver() {
-    _segMan = SegmentationManager.defaultInstance();
-    if (_segMan == null) throw new RuntimeException("No default SegmentationManager");
+    _segMan = JobManager.defaultInstance().get(SegmentationManager.class);
     _segMan.addListener(this);
     _collectors = new ArrayList<ChargeCollector>(1);
     _filters = new ArrayList<SensorFilter>(1);

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment/process
ClusteringDriver.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- ClusteringDriver.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ ClusteringDriver.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -7,8 +7,8 @@
 import org.lcsim.units.clhep.SystemOfUnits;
 
 import org.lcsim.contrib.onoprien.util.ListMap;
-import org.lcsim.contrib.onoprien.util.NoSuchParameterException;
 import org.lcsim.contrib.onoprien.util.job.Driver;
+import org.lcsim.contrib.onoprien.util.job.JobManager;
 
 import org.lcsim.contrib.onoprien.vsegment.geom.SegmentationManager;
 import org.lcsim.contrib.onoprien.vsegment.geom.Sensor;
@@ -19,15 +19,14 @@
  * Driver that handles clustering of tracker pulses.
  *
  * @author D. Onoprienko
- * @version $Id: ClusteringDriver.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: ClusteringDriver.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class ClusteringDriver extends Driver implements VSEventListener {
 
 // -- Constructors and initialization :  ---------------------------------------
   
   public ClusteringDriver() {
-    _segMan = SegmentationManager.defaultInstance();
-    if (_segMan == null) throw new RuntimeException("No default SegmentationManager");
+    _segMan = JobManager.defaultInstance().get(SegmentationManager.class);
     _segMan.addListener(this);
     _clusterers = new ArrayList<Clusterer>(1);
     _clFilters = new ArrayList<SensorFilter>(1);

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment/process
DigitizationDriver.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- DigitizationDriver.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ DigitizationDriver.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -9,6 +9,7 @@
 import org.lcsim.contrib.onoprien.util.ListMap;
 import org.lcsim.contrib.onoprien.util.NoSuchParameterException;
 import org.lcsim.contrib.onoprien.util.job.Driver;
+import org.lcsim.contrib.onoprien.util.job.JobManager;
 
 import org.lcsim.contrib.onoprien.vsegment.geom.SegmentationManager;
 import org.lcsim.contrib.onoprien.vsegment.geom.Sensor;
@@ -19,15 +20,14 @@
  *
  *
  * @author D. Onoprienko
- * @version $Id: DigitizationDriver.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: DigitizationDriver.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class DigitizationDriver extends Driver implements VSEventListener {
 
 // -- Constructors and initialization :  ---------------------------------------
   
   public DigitizationDriver() {
-    _segMan = SegmentationManager.defaultInstance();
-    if (_segMan == null) throw new RuntimeException("No default SegmentationManager");
+    _segMan = JobManager.defaultInstance().get(SegmentationManager.class);
     _segMan.addListener(this);
     _digitizers = new ArrayList<Digitizer>(1);
     _filters = new ArrayList<SensorFilter>(1);

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment/process
NoiseGenerationDriver.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- NoiseGenerationDriver.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ NoiseGenerationDriver.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -9,6 +9,7 @@
 import org.lcsim.contrib.onoprien.util.ListMap;
 import org.lcsim.contrib.onoprien.util.NoSuchParameterException;
 import org.lcsim.contrib.onoprien.util.job.Driver;
+import org.lcsim.contrib.onoprien.util.job.JobManager;
 
 import org.lcsim.contrib.onoprien.vsegment.geom.SegmentationManager;
 import org.lcsim.contrib.onoprien.vsegment.geom.Sensor;
@@ -19,7 +20,7 @@
  *
  *
  * @author D. Onoprienko
- * @version $Id: NoiseGenerationDriver.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: NoiseGenerationDriver.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class NoiseGenerationDriver extends Driver implements VSEventListener {
   
@@ -27,7 +28,7 @@
   
   /** Default constructor. */
   public NoiseGenerationDriver() {
-    _segMan = SegmentationManager.defaultInstance();
+    _segMan = JobManager.defaultInstance().get(SegmentationManager.class);
     if (_segMan == null) throw new RuntimeException("No default SegmentationManager");
     _segMan.addListener(this);
     _generators = new ArrayList<NoiseGenerator>(1);

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/vsegment/process
ReadoutSimulationDriver.java 1.1.1.1 -> 1.2
diff -u -r1.1.1.1 -r1.2
--- ReadoutSimulationDriver.java	10 Dec 2008 22:03:06 -0000	1.1.1.1
+++ ReadoutSimulationDriver.java	26 Jan 2009 20:50:37 -0000	1.2
@@ -4,12 +4,12 @@
 import static java.util.logging.Level.*;
 
 import org.lcsim.event.EventHeader;
-import org.lcsim.event.SimTrackerHit;
 import org.lcsim.units.clhep.SystemOfUnits;
 
 import org.lcsim.contrib.onoprien.util.ListMap;
 import org.lcsim.contrib.onoprien.util.NoSuchParameterException;
 import org.lcsim.contrib.onoprien.util.job.Driver;
+import org.lcsim.contrib.onoprien.util.job.JobManager;
 
 import org.lcsim.contrib.onoprien.vsegment.geom.SegmentationManager;
 import org.lcsim.contrib.onoprien.vsegment.geom.Sensor;
@@ -22,7 +22,7 @@
  * 
  * 
  * @author D.Onoprienko
- * @version $Id: ReadoutSimulationDriver.java,v 1.1.1.1 2008/12/10 22:03:06 jeremy Exp $
+ * @version $Id: ReadoutSimulationDriver.java,v 1.2 2009/01/26 20:50:37 onoprien Exp $
  */
 public class ReadoutSimulationDriver extends Driver {
   
@@ -32,8 +32,7 @@
    * Default constructor.
    */
   public ReadoutSimulationDriver() {
-    _segMan = SegmentationManager.defaultInstance();
-    if (_segMan == null) throw new RuntimeException("No default SegmentationManager");
+    _segMan = JobManager.defaultInstance().get(SegmentationManager.class);
     _random = new Random();
     _genThreshold = Double.POSITIVE_INFINITY;
   }
CVSspam 0.2.8