17#include <TCollection.h>
23 std::string
const& triggerName,
27 localSimConfig.getConfigData().mGenerator = genName;
28 localSimConfig.getConfigData().mTrigger = triggerName;
36 LOG(info) <<
"Init prim gen with MeanVertexObject";
38 if (!ccdboption->meanVertexObject) {
39 LOG(fatal) <<
"No mean vertex object found - Cannot initialize Event generator";
42 }
else if (
dynamic_cast<NoVertexOption const*
>(&vxtOption) !=
nullptr) {
47 LOG(error) <<
"Unknown VertexOption passed to Generator initialization";
56 mPrimGen.SetEvent(&header);
62 tracks.emplace_back(tparticle);
68 mPrimGen.SetEvent(&header);
74 tracks.emplace_back(tparticle);
80 std::vector<o2::MCTrack> tracks;
88 mPrimGen.SetEvent(&header);
98 auto* generators = mPrimGen.GetListOfGenerators();
102 TIter next(generators);
103 while (
TObject* obj = next()) {
default_random_engine gen(dev())
void setExternalMode(bool m)
void Reset() override
Resets arrays and stack and deletes particles and tracks.
const std::vector< TParticle > & getPrimaries() const
std::pair< std::vector< MCTrack >, o2::dataformats::MCEventHeader > generateEvent()
void generateEvent_MCTracks(std::vector< MCTrack > &tracks, o2::dataformats::MCEventHeader &header)
void generateEvent_TParticles(std::vector< TParticle > &tparts, o2::dataformats::MCEventHeader &header)
void initService(std::string const &generatorName, std::string const &triggerName, VertexOption const &vtxOption)
static unsigned int getTotalNEvents()
Bool_t GenerateEvent(FairGenericStack *pStack) override
void setVertexMode(o2::conf::VertexMode const &mode, o2::dataformats::MeanVertexObject const *obj=nullptr)
std::vector< T, fair::mq::pmr::polymorphic_allocator< T > > vector
static void setPrimaryGenerator(o2::conf::SimConfig const &, FairPrimaryGenerator *)
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"