Celeritas  0.5.0-86+4a8eea4
Classes | Typedefs | Enumerations | Functions | Variables
celeritas::test Namespace Reference

Test harness base class for optical physics. More...

Classes

class  SDTestBase
 Attach "debug" sensitive detectors to a Geant4 geometry. More...
 
struct  SimpleHitsResult
 
class  SimpleSensitiveDetector
 Store vectors of hit information. More...
 
class  AllGeoTypedTestBase
 Type-parameterized geometry test harness. More...
 
struct  AllGeoTestingTypeNames
 Helper class for returning type names. More...
 
class  MscTestBase
 Test harness base class for multiple scattering models. More...
 
class  CMSParameterizedField
 Evaluate the value of magnetic field using a parameterized function in the tracker volume of the CMS detector. More...
 
class  DiagnosticStepper
 Count the number of invocations to the field stepper. More...
 
class  FieldTestBase
 Base class for testing fields. More...
 
struct  FieldTestParams
 
class  GeantTestBase
 Test harness for loading problem data through Geant4. More...
 
struct  PrintableBuildConf
 Print the current configuration. More...
 
struct  HeuristicGeoScalars
 
struct  HeuristicGeoParamsData
 
struct  HeuristicGeoStateData
 
struct  HeuristicGeoExecutor
 
class  HeuristicGeoTestBase
 Manage a "heuristic" stepper-like test that accumulates path length. More...
 
class  AlongStepTestBase
 Run one or more tracks with the same starting conditions for a single step. More...
 
struct  DummyState
 
class  DummyParams
 
class  DummyAction
 
class  StepperTestBase
 Construct helper action and set up stepper/primary inputs. More...
 
class  GlobalGeoTestBase
 Reuse geometry across individual tests. More...
 
class  GlobalTestBase
 Lazily construct core parameters, individually or together. More...
 
class  CalculatorTestBase
 Test harness base class for interpolating values on grids. More...
 
class  ImportedDataTestBase
 Set up Celeritas tests using imported data. More...
 
class  InvalidOrangeTestBase
 Create an ORANGE geometry with errors. More...
 
class  EventIOTestBase
 Helpers for testing reading+writing of event files. More...
 
class  LArSphereBase
 Test harness for liquid argon sphere with optical properties. More...
 
class  LeadBoxTestBase
 Test harness for large lead box. More...
 
class  MaterialTestBase
 
class  MockTestBase
 Three concentric spheres with mock physics. More...
 
class  NeutronTestBase
 Test harness base class for Neutron physics models. More...
 
class  OneSteelSphereBase
 Test harness for steel sphere with 50 meter production cuts. More...
 
class  OnlyCoreTestBase
 Mixin class providing "unreachable" implementations for optical params construction. More...
 
class  OnlyGeoTestBase
 Mixin class providing "unreachable" implementations for param construction. More...
 
class  OpticalTestBase
 
class  InteractorHostBase
 Test harness base class for EM physics models. More...
 
class  InteractorHostTestBase
 
class  MockModel
 Mock model. More...
 
struct  MevCmSq
 Energy loss rate [MeV/cm] per volume [cm^-3] -> [MeV * cm^2]. More...
 
struct  MevPerCm
 Energy loss rate. More...
 
class  MockProcess
 Mock process. More...
 
struct  HexRepr
 
struct  RngTally
 Tally RNG moments and check them. More...
 
class  SequenceEngine
 "Random" number generator that returns a sequence of values. More...
 
class  RootTestBase
 Test harness for loading problem data from a ROOT file. More...
 
class  SimpleCmsTestBase
 Test harness for "simple CMS". More...
 
class  SimpleTestBase
 Compton scattering with gammas in mock aluminum in a box in hard vacuum. More...
 
class  TestEm15Base
 Test harness for "infinite" geometry. More...
 
class  TestEm3Base
 Test harness for replicating the AdePT TestEm3 input. More...
 
class  MockInteractAction
 Change the track state and allocate secondaries. More...
 
struct  MockInteractData
 
struct  MockInteractExecutor
 
class  CaloTestBase
 
class  DiagnosticTestBase
 
class  ExampleInstanceCalo
 Store calorimeter results based on pre-step volume instance names. More...
 
class  ExampleMctruth
 Store all step data in an AOS. More...
 
class  MctruthTestBase
 
class  SimpleLoopTestBase
 Add primaries and iterate up to a given number of steps. More...
 
struct  AuxMockParamsData
 Shared diagnostic attributes. More...
 
struct  AuxMockStateData
 State data for accumulating results for each particle type. More...
 
class  AuxMockParams
 Mock class for shared host data that has associated thread-local data. More...
 
class  DiagnosticRealFunc
 Wrap a numerical single-argument function with a counter and logger. More...
 
class  ScopedLogStorer
 Log handle for saving messages for testing. More...
 
class  DiagnosticRngEngine
 Diagnostic wrapper that counts the number of calls to operator(). More...
 
class  CheckedGeoTrackView
 Check validity of safety and volume crossings while navigating on CPU. More...
 
struct  GenericGeoTrackingResult
 
struct  GenericGeoGeantImportVolumeResult
 
class  GenericGeoTestBase
 Templated base class for loading geometry. More...
 
class  LazyGeoManager
 Base class for managing a persistent singleton geometry. More...
 
class  MockGeoTrackView
 Mock track view for testing. More...
 
class  OrangeGeoTestBase
 Test base for loading geometry. More...
 
class  Test
 Googletest test harness for Celeritas codes. More...
 

Typedefs

using AllGeoTestingTypes = ::testing::Types< OrangeParams >
 
using CoreGeoTestBase = VecgeomTestBase
 
using MevCmSqLossDens = Quantity< MevCmSq >
 
using MevPerCmLoss = Quantity< MevPerCm >
 
using GeantGeoTestBase = GenericGeoTestBase< GeantGeoParams >
 
using VecgeomTestBase = GenericGeoTestBase< VecgeomParams >
 
using OrangeTestBase = GenericGeoTestBase< OrangeParams >
 

Enumerations

enum  LifeStatus : unsigned short { unborn = 0 , alive , dead }
 

Functions

template<class StepperT >
CELER_FUNCTION DiagnosticStepper (StepperT &&) -> DiagnosticStepper< StepperT >
 
std::ostream & operator<< (std::ostream &os, PrintableBuildConf const &)
 
template<MemSpace M>
void resize (HeuristicGeoStateData< Ownership::value, M > *state, HostCRef< HeuristicGeoParamsData > const &params, size_type size)
 Resize and zero-initialize states.
 
void heuristic_test_execute (DeviceCRef< HeuristicGeoParamsData > const &params, DeviceRef< HeuristicGeoStateData > const &state)
 Run on device and return results. More...
 
template<class T >
std::ostream & operator<< (std::ostream &os, HexRepr< T > const &h)
 
template<class T >
HexRepr< T > hex_repr (T value)
 
template<MemSpace M>
void resize (AuxMockStateData< Ownership::value, M > *state, HostCRef< AuxMockParamsData > const &params, StreamId sid, size_type count)
 
template<class T >
if_double_else (T a, T b)
 Check the first value for double precision or second for single. More...
 
template<class F , class... Args>
 DiagnosticRealFunc (F &&, Args...) -> DiagnosticRealFunc< F >
 
std::ostream & operator<< (std::ostream &os, ScopedLogStorer const &logs)
 
template<class GTV >
 CheckedGeoTrackView (GTV &&) -> CheckedGeoTrackView< GTV >
 
constexpr real_type to_cm (real_type v)
 Convert a value to centimeters from the native system.
 
constexpr real_type from_cm (real_type v)
 Convert a value from centimeters to the native system.
 
constexpr Array< real_type, 3 > to_cm (Array< real_type, 3 > const &v)
 Convert an array to centimeters from the native system.
 
constexpr Array< real_type, 3 > from_cm (Array< real_type, 3 > const &v)
 Convert an array from centimeters to the native system.
 
template<class S >
S::Intersections calc_intersections (S const &surf, Real3 const &pos, Real3 const &dir, SurfaceState on_surface)
 Calculate intersections, sorting so that "no intersection" is at end.
 

Variables

constexpr bool unit_scaling_enabled
 Whether the current geometry can correctly scale the input as needed. More...
 

Detailed Description

Test harness base class for optical physics.

This sub-namespace should enclose all Celeritas unit tests and test harness code.

Constructs particle params, particle track views, and add some functionality for multiple tests.

May be expanded to encompass material data if needed.

By being a sub-namspace, no using declarations are needed to access Celeritas functionality, and no symbol conflicts with main Celeritas code will accidentally occur.

Function Documentation

◆ heuristic_test_execute()

void celeritas::test::heuristic_test_execute ( DeviceCRef< HeuristicGeoParamsData > const &  params,
DeviceRef< HeuristicGeoStateData > const &  state 
)

Run on device and return results.

Run on device.

◆ if_double_else()

template<class T >
T celeritas::test::if_double_else ( a,
b 
)
inline

Check the first value for double precision or second for single.

This is useful for comparing the exchange_count result.

Variable Documentation

◆ unit_scaling_enabled

constexpr bool celeritas::test::unit_scaling_enabled
inlineconstexpr
Initial value:
= (CELERITAS_UNITS == CELERITAS_UNITS_CGS
|| CELERITAS_CORE_GEO != CELERITAS_CORE_GEO_ORANGE
|| CELERITAS_USE_GEANT4)

Whether the current geometry can correctly scale the input as needed.