File indexing completed on 2026-11-07 10:20:32
0001
0002
0003
0004
0005
0006
0007 #pragma once
0008
0009 #include <string>
0010 #include <canvas/Utilities/InputTag.h>
0011 #include <fhiclcpp/types/Atom.h>
0012
0013 #include "corecel/Types.hh"
0014
0015 namespace celeritas
0016 {
0017 namespace detail
0018 {
0019
0020
0021 struct PDFullSimCelerConfig
0022 {
0023 fhicl::Atom<art::InputTag> SimulationLabel{
0024 fhicl::Name{"SimulationLabel"},
0025 fhicl::Comment{R"(SimEnergyDeposit event tag)"}};
0026
0027
0028 fhicl::Atom<bool> EnableDevice{fhicl::Name{"EnableDevice"},
0029 fhicl::Comment{R"(Activate the GPU)"},
0030 false};
0031
0032 fhicl::Atom<size_type> DeviceStackSize{
0033 fhicl::Name{"DeviceStackSize"},
0034 fhicl::Comment{R"(Per-thread CUDA stack size [B] (ignored if 0))"},
0035 0};
0036
0037 fhicl::Atom<size_type> DeviceHeapSize{
0038 fhicl::Name{"DeviceHeapSize"},
0039 fhicl::Comment{R"(Global dynamic CUDA heap size [B] (ignored if 0))"},
0040 0};
0041
0042
0043 fhicl::Atom<size_type> OpticalCapacityPrimaries{
0044 fhicl::Name{"OpticalCapacityPrimaries"},
0045 fhicl::Comment{R"(Max primaries buffered before stepping)"}};
0046
0047 fhicl::Atom<size_type> OpticalCapacityTracks{
0048 fhicl::Name{"OpticalCapacityTracks"},
0049 fhicl::Comment{R"(Max track slots stepped simultaneously)"}};
0050
0051 fhicl::Atom<size_type> OpticalCapacityGenerators{
0052 fhicl::Name{"OpticalCapacityGenerators"},
0053 fhicl::Comment{R"(Max queued photon-generation steps)"}};
0054
0055
0056 fhicl::Atom<size_type> OpticalLimitSteps{
0057 fhicl::Name{"OpticalLimitSteps"},
0058 fhicl::Comment{R"(Steps per track before killing (0 for unlimited))"},
0059 0};
0060
0061 fhicl::Atom<size_type> OpticalLimitStepIters{
0062 fhicl::Name{"OpticalLimitStepIters"},
0063 fhicl::Comment{
0064 R"(Iterations before aborting stepping loop (0 for unlimited))"},
0065 0};
0066
0067 fhicl::Atom<std::string> OutputFile{
0068 fhicl::Name{"OutputFile"},
0069 fhicl::Comment{R"(Celeritas output filename)"}};
0070
0071 fhicl::Atom<bool> ActionTimes{
0072 fhicl::Name{"ActionTimes"},
0073 fhicl::Comment{R"(Accumulate elapsed time in actions)"},
0074 false};
0075
0076 fhicl::Atom<bool> StepTimes{
0077 fhicl::Name{"StepTimes"},
0078 fhicl::Comment{R"(Record elapsed time per step)"},
0079 false};
0080
0081 fhicl::Atom<unsigned int> Seed{
0082 fhicl::Name{"Seed"}, fhicl::Comment{R"(RNG seed)"}, 12345};
0083 };
0084
0085
0086 }
0087 }