ATLAS Offline Software
Loading...
Searching...
No Matches
Pythia8_UserProcess::UserProcessFactory Class Reference

#include <UserProcessFactory.h>

Collaboration diagram for Pythia8_UserProcess::UserProcessFactory:

Classes

class  Creator
class  ICreator

Static Public Member Functions

static std::shared_ptr< Sigma2Process > create (const std::string &procName)

Private Member Functions

 UserProcessFactory ()

Static Private Member Functions

static std::map< std::string, const ICreator * > & s_creators ()
 static function to instantiate map of string name Vs. creator object on first use

Detailed Description

Definition at line 19 of file UserProcessFactory.h.

Constructor & Destructor Documentation

◆ UserProcessFactory()

Pythia8_UserProcess::UserProcessFactory::UserProcessFactory ( )
inlineprivate

Definition at line 27 of file UserProcessFactory.h.

27{};

Member Function Documentation

◆ create()

std::shared_ptr< Sigma2Process > Pythia8_UserProcess::UserProcessFactory::create ( const std::string & procName)
static

Definition at line 11 of file UserProcessFactory.cxx.

11 {
12 std::map<std::string, const ICreator*>::const_iterator it = s_creators().find(name);
13 if(it == s_creators().end()){
14 //eek!
15 throw std::runtime_error("Pythia 8 UserProcessFactory: cannot create user process " + name);
16 }
17
18 return it->second->create();
19 }
static std::map< std::string, const ICreator * > & s_creators()
static function to instantiate map of string name Vs. creator object on first use

◆ s_creators()

std::map< std::string, const UserProcessFactory::ICreator * > & Pythia8_UserProcess::UserProcessFactory::s_creators ( )
staticprivate

static function to instantiate map of string name Vs. creator object on first use

Definition at line 22 of file UserProcessFactory.cxx.

22 {
23 static std::map<std::string, const UserProcessFactory::ICreator*> creators;
24 return creators;
25 }

The documentation for this class was generated from the following files: