View Javadoc

1   package org.lcsim.recon.tracking.spacegeom;
2   
3   /** Spherical SpacePointVector
4    *@author Norman A. Graf
5    *@version 1.0
6    *
7    */
8   
9   public class SphericalPointVector extends SpacePointVector
10  {
11      
12      /** Constructor
13       * SphericalPointVector
14       * @param r          Spherical radius coordinate
15       * @param phi        Spherical phi coordinate
16       * @param theta      Spherical theta coordinate
17       * @param vr         Spherical delta radius coordinate
18       * @param vtheta     Spherical delta theta coordinate
19       * @param vphi       Spherical rdelta phi coordinate
20       */
21      public SphericalPointVector(double r, double phi, double theta, double vr, double vtheta, double vphi)
22      {
23          super(new SphericalPoint(r,phi,theta));
24          _vx = sinTheta()*cosPhi()*vr
25                  + cosTheta()*cosPhi()*vtheta - sinPhi()*vphi;
26          _vy = sinTheta()*sinPhi()*vr
27                  + cosTheta()*sinPhi()*vtheta + cosPhi()*vphi;
28          _vz = cosTheta()*vr - sinTheta()*vtheta;
29      }
30      
31      /**Constructor
32       * SphericalPointVector
33       * @param spt    SpacePoint for this point's location
34       * @param vr         Spherical delta radius coordinate
35       * @param vtheta     Spherical delta theta coordinate
36       * @param vphi       Spherical rdelta phi coordinate
37       */
38      public SphericalPointVector(SpacePoint spt, double vr, double vtheta, double vphi)
39      {
40          super(spt);
41          _vx = sinTheta()*cosPhi()*vr
42                  + cosTheta()*cosPhi()*vtheta - sinPhi()*vphi;
43          _vy = sinTheta()*sinPhi()*vr
44                  + cosTheta()*sinPhi()*vtheta + cosPhi()*vphi;
45          _vz = cosTheta()*vr - sinTheta()*vtheta;
46      }
47  }