Definitions of geometry vector data types. More...
#include "Math/GenVector/CoordinateSystemTags.h"
#include "Math/GenVector/Cartesian3D.h"
#include "Math/GenVector/PositionVector3D.h"
#include "Math/GenVector/DisplacementVector3D.h"
#include "Math/GenVector/Rotation3D.h"
#include "RVersion.h"
Go to the source code of this file.
Namespaces | |
geo | |
LArSoft geometry interface. | |
Macros | |
#define | GENVECTOR_CONSTEXPR |
A declaration is made constexpr if GenVector supports it. More... | |
Functions | |
Vector types for the standard LArSoft geometry. | |
LArSoft geometry provides two main types of vectors in 3D space:
Both vectors are supposed to represent:
These types constitute the basic objects the geometry works with. All interfaces should support them.
The same type of vectors, but in a different coordinate system representation, can be obtained by using using LocalPoint_t = geo::Point3DBase_t<LocalCoordinateTag>; ( using PointF_t = geo::GenPoint3DBase_t<float>; using VectorF_t = geo::GenVector3DBase_t<float>; | |
template<typename Vector = Vector_t> | |
constexpr Vector | geo::Xaxis () |
Returns a x axis vector of the specified type. More... | |
template<typename Vector = Vector_t> | |
constexpr Vector | geo::Yaxis () |
Returns a y axis vector of the specified type. More... | |
template<typename Vector = Vector_t> | |
constexpr Vector | geo::Zaxis () |
Returns a z axis vector of the specified type. More... | |
template<typename Point = Point_t> | |
constexpr Point | geo::origin () |
Returns a origin position with a point of the specified type. More... | |
Definitions of geometry vector data types.
This library depends on ROOT GenVector. In the CET link list in CMakeLists.txt
, link to ROOT::GenVector
.
Additional utilities are available from geo_vectors_utils.h
.
Definition in file geo_vectors.h.
#define GENVECTOR_CONSTEXPR |
A declaration is made constexpr
if GenVector supports it.
This macro defines as "constexpr", only if GenVector's vector types can be used as constexpr
.
Currently the implementation is quite lame, since it does not autodetect whether GenVector library supports the feature or not, and it assumes it doesn't. So this becomes basically a placeholder to remind the maintainers to replace it with an actual constexpr
when that will be supported. To make maintainers not forget this, it will explode on each new ROOT version.
A feature request to ROOT was opened as JIRA 9320.
See also Fermilab Redmine issue #19476 (https://cdcvs.fnal.gov/redmine/issues/19476).
Definition at line 46 of file geo_vectors.h.