63 Bool_t
Init()
override;
72 std::vector<std::shared_ptr<o2::eventgen::Generator>>
const&
getGenerators() {
return gens; }
78 std::vector<std::shared_ptr<o2::eventgen::Generator>> gens;
79 const std::vector<std::string> generatorNames = {
"extkinO2",
"evtpool",
"boxgen",
"external",
"hepmc",
"pythia8",
"pythia8pp",
"pythia8hi",
"pythia8hf",
"pythia8powheg"};
80 std::vector<std::string> mInputGens;
81 std::vector<std::string> mGens;
82 std::vector<std::string> mConfigs;
83 std::vector<std::string> mConfsPythia8;
85 std::vector<bool> mGenIsInitialized;
88 std::vector<std::unique_ptr<o2::eventgen::BoxGenConfig>> mBoxGenConfigs;
89 std::vector<std::unique_ptr<o2::eventgen::Pythia8GenConfig>> mPythia8GenConfigs;
90 std::vector<std::unique_ptr<o2::eventgen::O2KineGenConfig>> mO2KineGenConfigs;
91 std::vector<o2::eventgen::EventPoolGenConfig> mEventPoolConfigs;
92 std::vector<std::unique_ptr<o2::eventgen::ExternalGenConfig>> mExternalGenConfigs;
93 std::vector<std::unique_ptr<o2::eventgen::FileOrCmdGenConfig>> mFileOrCmdGenConfigs;
94 std::vector<std::unique_ptr<o2::eventgen::HepMCGenConfig>> mHepMCGenConfigs;
96 bool mRandomize =
false;
97 std::vector<int> mFractions;
98 std::vector<float> mRngFractions;
100 int mCurrentFraction = 0;
102 int mEventCounter = 0;
103 int mTasksStarted = 0;
106 bool mCocktailMode =
false;
107 std::vector<std::vector<int>> mGroups;
110 std::vector<ETriggerMode_t> mTriggerModes;
111 std::vector<std::vector<std::string>> mTriggerMacros;
112 std::vector<std::vector<std::string>> mTriggerFuncs;
115 std::thread mTBBTaskPoolRunner;
116 tbb::concurrent_bounded_queue<int> mInputTaskQueue;
117 std::vector<tbb::concurrent_bounded_queue<int>> mResultQueue;
118 tbb::task_arena mTaskArena;
119 std::atomic<bool> mStopFlag;
120 bool mIsInitialized =
false;
132 GenMode mGenerationMode = GenMode::kSeq;