lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/util/swim
diff -u -r1.2 -r1.3
--- Line.java 22 Jan 2009 21:01:58 -0000 1.2
+++ Line.java 17 Mar 2009 16:57:00 -0000 1.3
@@ -8,7 +8,7 @@
* Straight line {@link Trajectory}.
*
* @author D. Onoprienko
- * @version $Id: Line.java,v 1.2 2009/01/22 21:01:58 onoprien Exp $
+ * @version $Id: Line.java,v 1.3 2009/03/17 16:57:00 onoprien Exp $
*/
public class Line extends AbstractTrajectory {
@@ -29,7 +29,14 @@
/** Z component of the unit vector in the direction of the line at its origin. */
DZ
}
-
+
+
+// -- Private parts : ---------------------------------------------------------
+
+ private ConstHep3Vector _orig;
+ private ConstHep3Vector _dir;
+
+
// -- Constructors : ----------------------------------------------------------
/**
@@ -37,17 +44,7 @@
* The direction vector does not have to be normalized.
*/
public Line(Hep3Vector origin, Hep3Vector direction) {
- _orig = new ConstHep3Vector(origin);
- double mag = direction.magnitude();
- _dir = new ConstHep3Vector(direction.x()/mag, direction.y()/mag, direction.z()/mag);
- }
-
- /**
- * Construct from origin and direction.
- * The direction vector does not have to be normalized.
- */
- public Line(ConstHep3Vector origin, Hep3Vector direction) {
- _orig = origin;
+ _orig = (origin instanceof ConstHep3Vector) ? (ConstHep3Vector) origin : new ConstHep3Vector(origin);
double mag = direction.magnitude();
_dir = new ConstHep3Vector(direction.x()/mag, direction.y()/mag, direction.z()/mag);
}
@@ -59,7 +56,8 @@
_orig = line._orig;
_dir = line._dir;
}
-
+
+
// -- Get line parameters : ---------------------------------------------------
/**
@@ -213,9 +211,4 @@
}
}
}
-
-// -- Private parts : ---------------------------------------------------------
-
- private ConstHep3Vector _orig;
- private ConstHep3Vector _dir;
}