|
|
using | algebra_type = typename detector_t::algebra_type |
| | Algebra backend used by the detector geometry.
|
|
using | context = typename detector_t::geometry_context |
| | Geometry context type used for contextual transforms.
|
|
using | point2_type = dpoint2D<algebra_type> |
| | Two-dimensional local point type.
|
|
using | point3_type = dpoint3D<algebra_type> |
| | Three-dimensional point type.
|
|
using | scalar_type = dscalar<algebra_type> |
| | Scalar type used for geometry calculations.
|
|
using | transform3_type = dtransform3D<algebra_type> |
| | Transform type used to place the surface.
|
|
using | vector3_type = dvector3D<algebra_type> |
| | Three-dimensional vector type.
|
|
|
| surface ()=delete |
| | Not allowed: always needs a detector and a descriptor.
|
| constexpr | surface (const detector_t &det, const descr_t &desc) |
| | Construct a surface facade from its detector and descriptor.
|
| constexpr | surface (const detector_t &det, const dindex sf_idx) |
| | Constructor from detector det and surface index sf_idx.
|
| constexpr | surface (const detector_t &det, const geometry::identifier geo_id) |
| | Constructor from detector det and identifier geo_id in that detector.
|
| constexpr auto | boundary (std::size_t index) const |
| constexpr auto | center (const context &ctx) const -> point3_type |
| constexpr auto | centroid () const -> point3_type |
| constexpr auto | extra () const -> dindex |
| constexpr point2_type | global_to_bound (const context &ctx, const point3_type &global, const vector3_type &dir) const |
| constexpr point3_type | global_to_local (const context &ctx, const point3_type &global, const vector3_type &dir) const |
| constexpr bool | has_material () const |
| constexpr auto | id () const -> surface_id |
| constexpr auto | identifier () const -> geometry::identifier |
| constexpr auto | index () const -> dindex |
| template<concepts::point point_t = point2_type> |
| constexpr bool | is_inside (const point_t &loc_p, const scalar_type tol) const |
| constexpr auto | is_passive () const -> bool |
| constexpr auto | is_portal () const -> bool |
| constexpr auto | is_sensitive () const -> bool |
| template<concepts::point point_t = point2_type> |
| constexpr point3_type | local_to_global (const context &ctx, const point_t &local, const vector3_type &dir) const |
| constexpr const material< scalar_type > * | material_parameters (const point2_type &loc_p) const |
| std::size_t | n_masks () const |
| template<concepts::point point_t = point2_type> |
| constexpr auto | normal (const context &ctx, const point_t &p) const -> vector3_type |
template<typename detector_type = detector_t>
requires (!std::is_const_v<detector_type>) |
| constexpr | operator surface< const detector_type > () const |
| | Allow conversion from surface<detector_t> to surface<const detector_t>, which has no semantic difference (the detector is always const internally).
|
| constexpr auto | operator== (const surface &rhs) const -> bool |
| | Equality operator.
|
| bool | self_check (std::ostream &os) const |
| | Do a consistency check on the surface after building the detector.
|
| constexpr auto | shape_id () const |
| std::string | shape_name () const |
| constexpr auto | source () const |
| constexpr auto | transform (const context &ctx) const -> const transform3_type & |
| template<typename functor_t, typename... Args> |
| constexpr auto | visit_mask (Args &&...args) const |
| | Call a functor on the surfaces mask with additional arguments.
|
| template<typename functor_t, typename... Args> |
| constexpr auto | visit_material (Args &&...args) const |
| | Call a functor on the surfaces material with additional arguments.
|
| constexpr auto | volume () const -> dindex |
| constexpr auto | volume_links () const |
template<concepts::detector det_t>
class detray::geometry::surface< det_t >
Facade for a detray detector surface.
Provides an interface to geometry specific functionality like local-to-global coordinate transforms or mask and material visitors. It wraps a detector instance that contains the data and a surface descriptor that contains the indices into the detector data containers for the specific surface instance.