49 const std::shared_ptr<const gdynamicdigitization::dRoutinesMap>& gdynamicDigitizationMap);
64 int currentRunno = -1;
67 std::string variation;
77 std::map<int, double> runWeights;
80 std::map<int, int> runEvents;
83 std::vector<int> listOfRuns;
86 int currentRunIndex{};
104 void distributeEvents(
int nevents_to_process);
112 void setNextRun() { currentRunIndex++; }
123 std::shared_ptr<const gdynamicdigitization::dRoutinesMap> gDigitizationMap;
149 [[nodiscard]]
int getCurrentRun()
const {
return listOfRuns[currentRunIndex]; }
Distributes events among run numbers and coordinates dynamic digitization initialization.
int processEvents()
Processes all runs by initializing digitization routines and dispatching events.
EventDispenser(const std::shared_ptr< GOptions > &gopt, const std::shared_ptr< const gdynamicdigitization::dRoutinesMap > &gdynamicDigitizationMap)
Constructs an EventDispenser and prepares the run event distribution.
int getCurrentRun() const
Returns the current run number from the internally stored run list.
void setNumberOfEvents(int nevts)
Sets the total number of events to process in single-run mode.
int getTotalNumberOfEvents() const
Computes the total number of events across all runs.
std::map< int, int > getRunEvents()
Returns the computed run-to-event allocation.