Celeritas 0.7.0-dev.245+develop.a7be925e
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::LarStandaloneRunner Class Reference

Setup and run a standalone optical simulation. More...

#include <LarStandaloneRunner.hh>

Public Types

Type aliases
using VecSED = std::vector< sim::SimEnergyDeposit >
 
using VecBTR = std::vector< sim::OpDetBacktrackerRecord >
 
using Input = inp::LarStandaloneRunner
 

Public Member Functions

 LarStandaloneRunner (Input const &)
 Construct with input parameters.
 
 LarStandaloneRunner (LarStandaloneRunner const &)=delete
 
LarStandaloneRunneroperator= (LarStandaloneRunner const &)=delete
 
 LarStandaloneRunner (LarStandaloneRunner &&)=default
 
LarStandaloneRunneroperator= (LarStandaloneRunner &&)=default
 
VecBTR operator() (VecSED const &edep)
 Run optical photons from a single set of energy steps.
 

Detailed Description

Setup and run a standalone optical simulation.

This class manages the interface between LArSoft data objects and Celeritas. It is separated from the LarCelerStandalone plugin to allow testing and extension to future plugin frameworks (e.g., Phlex). Instantiating the class sets up Celeritas shared and state objects using an input configuration, and each call take a set of energy deposition steps and returns a vector of detector hits.

The implementation of this class will set up a standalone celeritas optical simulation using internal Celeritas code to extra hits and "backtracker" data. Conversion between Celeritas objects and the LArSoft data model happens in this class inside the "call" operator.

Since LArSoft is single-threaded, this runner uses only a single "stream". We can in theory enable OpenMP to support parallelism across multiple CPUs in a single-process execution.

Construction
See celeritas::inp::LarStandaloneRunner .

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