5#ifndef GENERATOR_PYTHIA8_USER_PROCESS_FACTORY_H
6#define GENERATOR_PYTHIA8_USER_PROCESS_FACTORY_H
8#include "Pythia8/SigmaProcess.h"
16 using Pythia8::Sigma2Process;
23 static std::shared_ptr<Sigma2Process>
create(
const std::string &procName);
31 virtual std::shared_ptr<Sigma2Process>
create()
const = 0;
52 std::shared_ptr<Sigma2Process>
create()
const{
53 return std::make_shared<T>();
63 static std::map<std::string, const ICreator*> &
s_creators();
std::shared_ptr< Sigma2Process > create() const
Creator(const std::string &name)
virtual std::shared_ptr< Sigma2Process > create() const =0
static std::map< std::string, const ICreator * > & s_creators()
static function to instantiate map of string name Vs. creator object on first use
static std::shared_ptr< Sigma2Process > create(const std::string &procName)