Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux on MAIN
algorithms/ValidationDriver.java+2-21.2 -> 1.3
          /ValidatorBase.java+3-41.3 -> 1.4
analysis/CheatRecoParticleDriver.java+2-21.1 -> 1.2
infrastructure/CruxParticle.java+20-91.2 -> 1.3
+27-17
4 modified files
Add "reference point" to reconstructed particle constructors.

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/algorithms
ValidationDriver.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- ValidationDriver.java	9 Feb 2009 03:57:38 -0000	1.2
+++ ValidationDriver.java	4 Mar 2009 03:29:58 -0000	1.3
@@ -36,7 +36,7 @@
  * is called for a vertex after its daughter particles have been validated.
  *
  * @author D. Onoprienko
- * @version $Id: ValidationDriver.java,v 1.2 2009/02/09 03:57:38 onoprien Exp $
+ * @version $Id: ValidationDriver.java,v 1.3 2009/03/04 03:29:58 onoprien Exp $
  */
 public class ValidationDriver extends Driver {
   
@@ -166,7 +166,7 @@
       validate(daughter);
       if (daughter.getMarkers().contains(CruxParticleMarker.VALID)) p = VecOp.add(p, daughter.asFourVector());
     }
-    vertex.setAssociatedParticle(new CruxParticle(p));
+    vertex.setAssociatedParticle(new CruxParticle(p, vertex.getPosition()));
   }
   
 // -- Private parts :  ---------------------------------------------------------

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/algorithms
ValidatorBase.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- ValidatorBase.java	3 Mar 2009 21:25:31 -0000	1.3
+++ ValidatorBase.java	4 Mar 2009 03:29:58 -0000	1.4
@@ -19,7 +19,7 @@
  * Adapter class to simplify implementing {@link Validator} interface.
  *
  * @author D. Onoprienko
- * @version $Id: ValidatorBase.java,v 1.3 2009/03/03 21:25:31 onoprien Exp $
+ * @version $Id: ValidatorBase.java,v 1.4 2009/03/04 03:29:58 onoprien Exp $
  */
 public class ValidatorBase implements Validator {
   
@@ -123,12 +123,11 @@
       MCParticle mc = particle.getMCParticle();
       ParticleType type = mc.getType();
       id.setParticleType(type);
-      double temp;
       try {
-        temp = type.getMass();
+        type.getMass();
       } catch (UnknownParticleIDException x) {id.setMass(mc.getMass());}
       try {
-        temp = type.getCharge();
+        type.getCharge();
       } catch (UnknownParticleIDException x) {id.setCharge(mc.getCharge());}
     } else if (_idAlgorithm == CruxParticleID.ALG_KIND) {
       CruxTrack track = particle.getTrack();

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/analysis
CheatRecoParticleDriver.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- CheatRecoParticleDriver.java	3 Mar 2009 21:25:32 -0000	1.1
+++ CheatRecoParticleDriver.java	4 Mar 2009 03:29:58 -0000	1.2
@@ -20,7 +20,7 @@
  * Nothing else is attached.
  *
  * @author D. Onoprienko
- * @version $Id: CheatRecoParticleDriver.java,v 1.1 2009/03/03 21:25:32 onoprien Exp $
+ * @version $Id: CheatRecoParticleDriver.java,v 1.2 2009/03/04 03:29:58 onoprien Exp $
  */
 public class CheatRecoParticleDriver extends Driver implements JobEventListener {
 
@@ -86,7 +86,7 @@
 
     for (MCParticle mc : mcList) {
       if (_def.isFindable(RecType.PARTICLE, mc)) {
-        CruxParticle part = new CruxParticle(new CruxParticleID(mc.getType()), mc.asFourVector());
+        CruxParticle part = new CruxParticle(new CruxParticleID(mc.getType()), mc.asFourVector(), mc.getOrigin());
         part.setMCParticle(mc);
         partList.add(part);
       }

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/infrastructure
CruxParticle.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- CruxParticle.java	3 Mar 2009 21:25:31 -0000	1.2
+++ CruxParticle.java	4 Mar 2009 03:29:58 -0000	1.3
@@ -18,7 +18,7 @@
  * Class to represent a reconstructed particle produced by PFA.
  *
  * @author D. Onoprienko
- * @version $Id: CruxParticle.java,v 1.2 2009/03/03 21:25:31 onoprien Exp $
+ * @version $Id: CruxParticle.java,v 1.3 2009/03/04 03:29:58 onoprien Exp $
  */
 public class CruxParticle implements ReconstructedParticle {
   
@@ -28,19 +28,31 @@
   public CruxParticle() {
   }
   
-  /** Construct a particle with the given energy and momentum. */
-  public CruxParticle(double energy, Hep3Vector momentum) {
+  /**
+   * Construct a particle with the given energy and momentum at the specified reference point.
+   */
+  public CruxParticle(double energy, Hep3Vector momentum, Hep3Vector referencePoint) {
     _v = new BasicHepLorentzVector(energy, momentum);
+    _refPoint = (referencePoint instanceof ConstHep3Vector) ?
+      (ConstHep3Vector)referencePoint : new ConstHep3Vector(referencePoint);
   }
 
-  /** Construct a particle with the given 4-momentum. */
-  public CruxParticle(HepLorentzVector v) {
+  /**
+   * Construct a particle with the given 4-momentum at the specified reference point.
+   */
+  public CruxParticle(HepLorentzVector v, Hep3Vector referencePoint) {
     _v = new BasicHepLorentzVector(v.t(), v.v3());
+    _refPoint = (referencePoint instanceof ConstHep3Vector) ?
+      (ConstHep3Vector)referencePoint : new ConstHep3Vector(referencePoint);
   }
 
-  /** Construct a particle with the given <tt>ParticleID</tt> and 4-momentum. */
-  public CruxParticle(CruxParticleID id, HepLorentzVector v) {
+  /**
+   * Construct a particle with the given <tt>ParticleID</tt> and 4-momentum at the specified reference point.
+   */
+  public CruxParticle(CruxParticleID id, HepLorentzVector v, Hep3Vector referencePoint) {
     _v = new BasicHepLorentzVector(v.t(), v.v3());
+    _refPoint = (referencePoint instanceof ConstHep3Vector) ?
+      (ConstHep3Vector)referencePoint : new ConstHep3Vector(referencePoint);
     _idList.add(id);
   }
 
@@ -118,10 +130,9 @@
    
   /**
    * Returns reference point of this reconstructed particle parameters.
-   * Returns <tt>(0,0,0)</tt> if the reference point has not been explicitly set.
    */
   public Hep3Vector getReferencePoint() {
-    return (_refPoint == null) ? ConstHep3Vector.V000 : _refPoint ;
+    return _refPoint ;
   }
   
   /**
CVSspam 0.2.8