LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
GeoVectorLocalTransformation.h
Go to the documentation of this file.
1 
9 #ifndef LARCOREALG_GEOMETRY_GEOVECTORLOCALTRANSFORMATION_H
10 #define LARCOREALG_GEOMETRY_GEOVECTORLOCALTRANSFORMATION_H
11 
12 // LArSoft libraries
14 
15 // ROOT libraries
16 #include "Math/GenVector/Transform3D.h"
17 
18 // C/C++ standard libraries
19 #include <stddef.h>
20 #include <vector>
21 
22 // ROOT forward declaration (should be redundant)
23 class TGeoNode;
24 
25 namespace geo {
26 
27  //----------------------------------------------------------------------------
28  //--- template specialization forward declarations
29  //----------------------------------------------------------------------------
30  //--- LocalTransformation<ROOT::Math::Transform3D>
31  //----------------------------------------------------------------------------
32  template <>
34  double* world) const;
35 
36  //------------------------------------------------------------------------------
37  template <>
39  double* world) const;
40 
41  //------------------------------------------------------------------------------
42  template <>
44  double* local) const;
45 
46  //------------------------------------------------------------------------------
47  template <>
49  double* local) const;
50 
51  //------------------------------------------------------------------------------
52  template <>
53  template <typename DestPoint, typename SrcPoint>
55  SrcPoint const& world) const;
56 
57  //......................................................................
58  template <>
59  template <typename DestVector, typename SrcVector>
61  SrcVector const& world) const;
62 
63  //......................................................................
64  template <>
65  template <typename DestPoint, typename SrcPoint>
67  SrcPoint const& local) const;
68 
69  //......................................................................
70  template <>
71  template <typename DestVector, typename SrcVector>
73  SrcVector const& local) const;
74 
75  //------------------------------------------------------------------------------
76 
77 } // namespace geo
78 
79 //------------------------------------------------------------------------------
80 // template implementation
81 
83 
84 //------------------------------------------------------------------------------
85 
86 #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
ROOT libraries.
void WorldToLocalVect(const double *world, double *local) const
Transforms a vector from world frame to local frame.
DestPoint LocalToWorldImpl(SrcPoint const &local) const