16 #include "TGeoMatrix.h" 26 details::checkVectorBufferOverlap(local, world);
29 auto const local_v = geo::vect::makeFromCoords<typename TransformationMatrix_t::Point>(local);
30 auto const world_v = fGeoMatrix(local_v);
40 details::checkVectorBufferOverlap(local, world);
43 auto const local_v = geo::vect::makeFromCoords<typename TransformationMatrix_t::Vector>(local);
44 auto const world_v = fGeoMatrix(local_v);
54 details::checkVectorBufferOverlap(local, world);
57 auto const world_v = geo::vect::makeFromCoords<typename TransformationMatrix_t::Point>(world);
58 auto const local_v = fGeoMatrix.ApplyInverse(world_v);
68 details::checkVectorBufferOverlap(local, world);
71 auto const world_v = geo::vect::makeFromCoords<typename TransformationMatrix_t::Vector>(world);
72 auto const local_v = fGeoMatrix.ApplyInverse(world_v);
78 ROOT::Math::Transform3D
80 TGeoMatrix
const& trans)
82 double const* rot = trans.GetRotationMatrix();
83 double const* transl = trans.GetTranslation();
84 double const*
scale = trans.GetScale();
86 for (
auto ptr = scale; ptr != scale + 3; ++ptr)
88 throw std::runtime_error(
"Matrix with scaling can't be converted to Transform3D");
unsigned int fillCoords(Coords &dest, Vector const &src)
Fills a coordinate array with the coordinates of a vector.