Celeritas 0.7.0-dev.169+develop.bdc0041f6
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::test::GenericGeoTestInterface Class Referenceabstract

Access capabilities from any templated GenericGeo test. More...

#include <GenericGeoTestInterface.hh>

Inheritance diagram for celeritas::test::GenericGeoTestInterface:
Inheritance graph
[legend]

Public Types

Type aliases
using TrackingResult = GenericGeoTrackingResult
 
using VolumeStackResult = GenericGeoVolumeStackResult
 
using GeoTrackView = GeoTrackInterface< real_type >
 
using UPGeoTrack = std::unique_ptr< GeoTrackView >
 
- Public Types inherited from celeritas::test::LazyGeantGeoManager
using SPConstGeoI = std::shared_ptr< GeoParamsInterface const >
 
using SPConstGeantGeo = std::shared_ptr< GeantGeoParams const >
 
using SPConstVolumes = std::shared_ptr< VolumeParams const >
 

Public Member Functions

TrackingResult track (Real3 const &pos_cm, Real3 const &dir)
 Track until exiting the geometry.
 
VolumeStackResult volume_stack (Real3 const &pos_cm)
 Get the volume instance stack at a position.
 
std::string_view gdml_basename () const override
 Return test suite name by default.
 
virtual std::string_view geometry_type () const =0
 Get the label for this geometry: Geant4, VecGeom, ORANGE.
 
virtual GeoParamsInterface constgeometry_interface () const =0
 Access the geometry interface.
 
virtual UPGeoTrack make_geo_track_view_interface ()=0
 Create a track view (TODO: replace geo test base view)
 
virtual Constant unit_length () const
 Unit length for "track" testing and other results (defaults to cm).
 
virtual size_type num_track_slots () const
 
virtual bool supports_surface_normal () const
 Whether surface normals work for the current geometry/test.
 
virtual GenericGeoTrackingTolerance tracking_tol () const
 Get the safety tolerance (defaults to SoftEq tol).
 
virtual real_type bump_tol () const
 Get the threshold for a movement being a "bump".
 
GeoTrackInitializer make_initializer (Real3 const &pos_unit, Real3 const &dir) const
 Construct an initializer with correct scaling/normalization.
 
std::string volume_name (GeoTrackView const &geo) const
 Get the name of the current volume.
 
std::string unique_volume_name (GeoTrackView const &geo) const
 Get the stack of volume instances.
 
- Public Member Functions inherited from celeritas::test::LazyGeantGeoManager
virtual SPConstGeantGeo build_geant_geo (std::string const &filename) const
 Build a Geant4 geometry.
 
virtual SPConstGeoI build_geo_from_geant (SPConstGeantGeo const &) const =0
 
virtual SPConstGeoI build_geo_from_gdml (std::string const &filename) const
 Build from a GDML path as a fallback.
 
std::string constcached_gdml_basename () const
 Access the basename of the geometry that's currently cached.
 
SPConstGeoI lazy_geo () const
 Construct a geometry for the first time.
 
SPConstGeantGeo geant_geo () const
 Access persistent geant geometry after construction.
 
SPConstVolumes volumes () const
 Access volumes from built geometry or geant4 model.
 

Detailed Description

Access capabilities from any templated GenericGeo test.

Todo:
This is being refactored into GenericGeoTestBase so that we can just use the GeoTrackInterface and GeoParamsInterface wrappers.

Member Function Documentation

◆ bump_tol()

real_type celeritas::test::GenericGeoTestInterface::bump_tol ( ) const
virtual

Get the threshold for a movement being a "bump".

This unitless tolerance is multiplied by the test's unit length when used.

◆ gdml_basename()

std::string_view celeritas::test::GenericGeoTestInterface::gdml_basename ( ) const
overridevirtual

Return test suite name by default.

Implements celeritas::test::LazyGeantGeoManager.

◆ geometry_interface()

virtual GeoParamsInterface const & celeritas::test::GenericGeoTestInterface::geometry_interface ( ) const
pure virtual

◆ geometry_type()

virtual std::string_view celeritas::test::GenericGeoTestInterface::geometry_type ( ) const
pure virtual

Get the label for this geometry: Geant4, VecGeom, ORANGE.

Implemented in celeritas::test::GenericGeoTestBase< G >, and celeritas::test::GenericGeoTestBase< VecgeomParams >.

◆ make_geo_track_view_interface()

virtual UPGeoTrack celeritas::test::GenericGeoTestInterface::make_geo_track_view_interface ( )
pure virtual

Create a track view (TODO: replace geo test base view)

Implemented in celeritas::test::GenericGeoTestBase< G >, and celeritas::test::GenericGeoTestBase< VecgeomParams >.

◆ supports_surface_normal()

bool celeritas::test::GenericGeoTestInterface::supports_surface_normal ( ) const
virtual

Whether surface normals work for the current geometry/test.

This defaults to true and should be disabled per geometry implementation/geometry class.

Reimplemented in celeritas::test::VecgeomTestBase.

◆ track()

auto celeritas::test::GenericGeoTestInterface::track ( Real3 const pos,
Real3 const dir 
)

Track until exiting the geometry.

The position uses the length scale defined by the test. It is loop checked using a hardcoded value of 1000 steps.


The documentation for this class was generated from the following files: