View Javadoc

1   package org.lcsim.detector;
2   
3   import hep.physics.vec.Hep3Vector;
4   import hep.physics.vec.BasicHep3Vector;
5   import hep.physics.vec.VecOp;
6   
7   /**
8    *
9    * @author tknelson
10   */
11  public class Translation3D extends BasicHep3Vector implements ITranslation3D
12  {
13      
14      /** Creates a new instance of Translation3D */
15      public Translation3D()
16      {
17      }
18      
19      public Translation3D(Hep3Vector translation)
20      {
21          this.setV(translation.x(),translation.y(),translation.z());
22      }
23      
24      public Translation3D(double x, double y, double z)
25      {
26          this.setV(x,y,z);
27      }
28      
29      public Hep3Vector getTranslationVector()
30      {
31          return (Hep3Vector)this;
32      }
33      
34      public void setTranslationVector(Hep3Vector translation)
35      {
36          this.setV(translation.x(),translation.y(),translation.z());
37      }
38      
39      public void translate(Hep3Vector coordinates)
40      {
41          Hep3Vector new_coordinates = translated(coordinates);
42          ((BasicHep3Vector)coordinates).setV(new_coordinates.x(),new_coordinates.y(),new_coordinates.z());
43      }
44      
45      public Hep3Vector translated(Hep3Vector coordinates)
46      {
47          return VecOp.add(coordinates,this);
48      }
49      
50      public void invert()
51      {
52          setTranslationVector(inverse().getTranslationVector());
53      }
54      
55      public ITranslation3D inverse()
56      {
57          return new Translation3D(VecOp.mult(-1.0,this));
58      }
59      
60  }