Celeritas 0.7.0-dev.264+develop.12c52268
Loading...
Searching...
No Matches
Public Member Functions | List of all members
phot::IOpticalPropagation Class Referenceabstract

Abstract interface for optical propagation. More...

#include <IOpticalPropagation.h>

Inheritance diagram for phot::IOpticalPropagation:
Inheritance graph
[legend]

Public Types

Type aliases
using VecSED = std::vector< sim::SimEnergyDeposit >
 
using UPVecBTR = std::unique_ptr< std::vector< sim::OpDetBacktrackerRecord > >
 

Public Member Functions

virtual void beginJob ()=0
 
virtual UPVecBTR executeEvent (VecSED const &edeps)=0
 
virtual void endJob ()=0
 

Detailed Description

Abstract interface for optical propagation.

This interface allows the addition of different optical photon propagation tools. As an art::tool, the executeEvent function is called once during a art::EDProducer::produce module execution, and uses all sim::SimEnergyDeposits from an art::Event found by the art::Handle .

I.e. a single executeEvent function call propagates all resulting optical photons from the existing batch of energy depositions on an event-by-event basis. It is currently expected to manage 3 methods:

The interfaces takes a vector of sim::SimEnergyDeposit as input and produces a vector of sim::OpDetBacktrackerRecord from detector hits.

Member Function Documentation

◆ beginJob()

virtual void phot::IOpticalPropagation::beginJob ( )
pure virtual

◆ endJob()

virtual void phot::IOpticalPropagation::endJob ( )
pure virtual

◆ executeEvent()

virtual UPVecBTR phot::IOpticalPropagation::executeEvent ( VecSED const &  edeps)
pure virtual

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