61 Bool_t
Init()
override;
73 std::vector<std::shared_ptr<o2::eventgen::Generator>> gens;
74 const std::vector<std::string> generatorNames = {
"extkinO2",
"evtpool",
"boxgen",
"external",
"hepmc",
"pythia8",
"pythia8pp",
"pythia8hi",
"pythia8hf",
"pythia8powheg"};
75 std::vector<std::string> mInputGens;
76 std::vector<std::string> mGens;
77 std::vector<std::string> mConfigs;
78 std::vector<std::string> mConfsPythia8;
80 std::vector<bool> mGenIsInitialized;
83 std::vector<std::unique_ptr<o2::eventgen::BoxGenConfig>> mBoxGenConfigs;
84 std::vector<std::unique_ptr<o2::eventgen::Pythia8GenConfig>> mPythia8GenConfigs;
85 std::vector<std::unique_ptr<o2::eventgen::O2KineGenConfig>> mO2KineGenConfigs;
86 std::vector<o2::eventgen::EventPoolGenConfig> mEventPoolConfigs;
87 std::vector<std::unique_ptr<o2::eventgen::ExternalGenConfig>> mExternalGenConfigs;
88 std::vector<std::unique_ptr<o2::eventgen::FileOrCmdGenConfig>> mFileOrCmdGenConfigs;
89 std::vector<std::unique_ptr<o2::eventgen::HepMCGenConfig>> mHepMCGenConfigs;
91 bool mRandomize =
false;
92 std::vector<int> mFractions;
93 std::vector<float> mRngFractions;
95 int mCurrentFraction = 0;
97 int mEventCounter = 0;
98 int mTasksStarted = 0;
101 bool mCocktailMode =
false;
102 std::vector<std::vector<int>> mGroups;
105 std::vector<ETriggerMode_t> mTriggerModes;
106 std::vector<std::vector<std::string>> mTriggerMacros;
107 std::vector<std::vector<std::string>> mTriggerFuncs;
110 std::thread mTBBTaskPoolRunner;
111 tbb::concurrent_bounded_queue<int> mInputTaskQueue;
112 std::vector<tbb::concurrent_bounded_queue<int>> mResultQueue;
113 tbb::task_arena mTaskArena;
114 std::atomic<bool> mStopFlag;
115 bool mIsInitialized =
false;
127 GenMode mGenerationMode = GenMode::kSeq;