|
DLG4::VolumeBuilders
A fluent interface for Geant4 geometry definition.
|
Classes | |
| class | Angle |
| class | Density |
| struct | is_valid_expr |
| struct | is_valid_expr< T, std::void_t< decltype(std::declval< T >()())> > |
| class | Length |
| class | Length3Vec |
| class | Mass |
| class | MoreTest |
| class | UnitBase |
| struct | UnitOrValue |
| class | UnitProperties_ |
| struct | UnitTag |
| class | Volume |
Typedefs | |
| template<typename Dimension > | |
| using | Unit = UnitBase< Dimension, G4double > |
| using | Length3Vec = Length3Vec |
| template<typename T , typename U > | |
| using | ResultType = std::conditional_t< std::is_base_of_v< UnitTag, T >, T, U > |
| template<typename T > | |
| using | NativeType = std::conditional_t< std::is_base_of_v< Length3Vec, T >, G4ThreeVector, std::conditional_t< std::is_base_of_v< UnitTag, T >, G4double, T > > |
| using | UnitlessG4Transform3D = G4Transform3D |
Functions | |
| template<typename T > | |
| void | SetGlobalDefaultUnit (T unit) |
| Density | operator/ (const Mass &m, const Volume &v) |
| template<typename T , typename U , typename = std::enable_if_t<std::is_base_of_v<UnitTag, T> != std::is_base_of_v<UnitTag, U>>> | |
| auto | operator* (const T &a, const U &b) |
| template<typename T , typename U , typename = std::enable_if_t<std::is_base_of_v<UnitTag, T> && !std::is_base_of_v<UnitTag, U>>> | |
| auto | operator/ (const T &a, const U &b) |
| template<typename T , typename = std::enable_if_t<std::is_base_of_v<UnitTag, T> >> | |
| T | operator+ (const T &a, const T &b) |
| template<typename T , typename = std::enable_if_t<std::is_base_of_v<UnitTag, T> >> | |
| T | operator- (const T &a, const T &b) |
Variables | |
| template<typename T > | |
| G4double | global_default_unit = 1.0 |
| template<typename F > | |
| constexpr bool | is_invalid_expression = !is_valid_expr<F>::value |
Typesafe units!! No accidental mixing values and units.
| using Length3Vec = Length3Vec |
A 3 vector that is scalable with/to Units.
Definition at line 44 of file DLG4Units.hh.
| using NativeType = std::conditional_t<std::is_base_of_v<Length3Vec, T>, G4ThreeVector, std::conditional_t<std::is_base_of_v<UnitTag, T>, G4double, T> > |
Definition at line 643 of file DLG4Units.hh.
| using ResultType = std::conditional_t<std::is_base_of_v<UnitTag, T>, T, U> |
Definition at line 641 of file DLG4Units.hh.
Definition at line 41 of file DLG4Units.hh.
| using UnitlessG4Transform3D = G4Transform3D |
Definition at line 677 of file DLG4Units.hh.
|
inline |
Definition at line 650 of file DLG4Units.hh.
|
inline |
Definition at line 665 of file DLG4Units.hh.
|
inline |
Definition at line 672 of file DLG4Units.hh.
Definition at line 421 of file DLG4Units.hh.
|
inline |
Definition at line 658 of file DLG4Units.hh.
|
inline |
Definition at line 48 of file DLG4Units.hh.
|
inlineconstexpr |
Definition at line 689 of file DLG4Units.hh.