4 #include <Math/AxisAngle.h> 
    5 #include <Math/Point3D.h> 
    6 #include <Math/Point3Dfwd.h>  
    7 #include <Math/Rotation3D.h> 
    8 #include <Math/Vector3D.h> 
    9 #include <Math/Vector3Dfwd.h>  
   10 #include <Math/VectorUtil.h> 
   19 template <
class Vector>
 
   22    using namespace ROOT::Math;
 
   24    return AxisAngle(vec.Unit().Cross(z), VectorUtil::Angle(vec, z));
 
   31 template <
class Vector1, 
class Vector2>
 
   34    assert(point.size() > 1 && direction.size() > 1);
 
   35    auto n = direction[0].Cross(direction[1]);
 
   36    auto n0 = direction[0].Cross(n);
 
   37    auto n1 = direction[1].Cross(n);
 
   39    auto c0 = point[0] + (point[1] - point[0]).Dot(n1) / direction[0].Dot(n1) * direction[0];
 
   40    auto c1 = point[1] + (point[0] - point[1]).Dot(n0) / direction[1].Dot(n0) * direction[1];
 
   46 #endif //#ifndef ATVECTORUTIL_H