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