LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
GeoVectorLocalTransformation.h
Go to the documentation of this file.
1 
11 #ifndef LARCOREALG_GEOMETRY_GEOVECTORLOCALTRANSFORMATION_H
12 #define LARCOREALG_GEOMETRY_GEOVECTORLOCALTRANSFORMATION_H
13 
14 // LArSoft libraries
16 
17 // ROOT libraries
18 #include "Math/GenVector/Transform3D.h"
19 
20 // C/C++ standard libraries
21 #include <stddef.h>
22 #include <vector>
23 
24 // ROOT forward declaration (should be redundant)
25 class TGeoNode;
26 
27 namespace geo {
28 
29  //----------------------------------------------------------------------------
30  //--- template specialization forward declarations
31  //----------------------------------------------------------------------------
32  //--- LocalTransformation<ROOT::Math::Transform3D>
33  //----------------------------------------------------------------------------
34  template <>
36  double* world) const;
37 
38  //------------------------------------------------------------------------------
39  template <>
41  double* world) const;
42 
43  //------------------------------------------------------------------------------
44  template <>
46  double* local) const;
47 
48  //------------------------------------------------------------------------------
49  template <>
51  double* local) const;
52 
53  //------------------------------------------------------------------------------
54  template <>
55  template <typename DestPoint, typename SrcPoint>
57  SrcPoint const& world) const;
58 
59  //......................................................................
60  template <>
61  template <typename DestVector, typename SrcVector>
63  SrcVector const& world) const;
64 
65  //......................................................................
66  template <>
67  template <typename DestPoint, typename SrcPoint>
69  SrcPoint const& local) const;
70 
71  //......................................................................
72  template <>
73  template <typename DestVector, typename SrcVector>
75  SrcVector const& local) const;
76 
77  //------------------------------------------------------------------------------
78 
79 } // namespace geo
80 
81 //------------------------------------------------------------------------------
82 // template implementation
83 
85 
86 //------------------------------------------------------------------------------
87 
88 #endif // LARCOREALG_GEOMETRY_GEOVECTORLOCALTRANSFORMATION_H
DestPoint WorldToLocalImpl(SrcPoint const &world) const
void LocalToWorld(double const *local, double *world) const
Transforms a point from local frame to world frame.
void LocalToWorldVect(double const *local, double *world) const
Transforms a vector from local frame to world frame.
Class containing local-to-world transformations.
DestVector LocalToWorldVectImpl(SrcVector const &local) const
void WorldToLocal(double const *world, double *local) const
Transforms a point from world frame to local frame.
DestVector WorldToLocalVectImpl(SrcVector const &world) const
Namespace collecting geometry-related classes utilities.
void WorldToLocalVect(const double *world, double *local) const
Transforms a vector from world frame to local frame.
DestPoint LocalToWorldImpl(SrcPoint const &local) const