public static ptsVector operator +(ptsVector vec1, Deflection defl)
        {
            Azimuth newAz = vec1.Azimuth + defl;
             ptsVector newVec = new ptsVector(newAz, vec1.Length);
             newVec.z = vec1.z;

             return newVec;
        }
 public double dotProduct(ptsVector otherVec)
 {
     return (this.x * otherVec.x) + (this.y * otherVec.y) + (this.z * otherVec.z);
 }
 public ptsVector crossProduct(ptsVector otherVec)
 {
     ptsVector newVec = new ptsVector();
      newVec.x = this.y * otherVec.z - this.z * otherVec.y;
      newVec.y = this.z * otherVec.x - this.x * otherVec.z;
      newVec.z = this.x * otherVec.y - this.y * otherVec.x;
      return newVec;
 }