ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
Pythia8_UserProcess::UserProcessFactory::Creator< T > Class Template Reference

#include <UserProcessFactory.h>

Inheritance diagram for Pythia8_UserProcess::UserProcessFactory::Creator< T >:
Collaboration diagram for Pythia8_UserProcess::UserProcessFactory::Creator< T >:

Public Member Functions

 Creator (const std::string &name)
 
 ~Creator ()
 
std::shared_ptr< Sigma2Process > create () const
 

Private Attributes

std::string m_name
 

Detailed Description

template<class T>
class Pythia8_UserProcess::UserProcessFactory::Creator< T >

Definition at line 38 of file UserProcessFactory.h.

Constructor & Destructor Documentation

◆ Creator()

template<class T >
Pythia8_UserProcess::UserProcessFactory::Creator< T >::Creator ( const std::string &  name)
inline

Definition at line 41 of file UserProcessFactory.h.

41  {
42  m_name = name;
44  }

◆ ~Creator()

template<class T >
Pythia8_UserProcess::UserProcessFactory::Creator< T >::~Creator ( )
inline

Definition at line 46 of file UserProcessFactory.h.

46  {
47  if(s_creators()[m_name] == this){
48  s_creators().erase(m_name);
49  }
50  }

Member Function Documentation

◆ create()

template<class T >
std::shared_ptr<Sigma2Process> Pythia8_UserProcess::UserProcessFactory::Creator< T >::create ( ) const
inlinevirtual

Implements Pythia8_UserProcess::UserProcessFactory::ICreator.

Definition at line 52 of file UserProcessFactory.h.

52  {
53  return std::make_shared<T>();
54  }

Member Data Documentation

◆ m_name

template<class T >
std::string Pythia8_UserProcess::UserProcessFactory::Creator< T >::m_name
private

Definition at line 58 of file UserProcessFactory.h.


The documentation for this class was generated from the following file:
Pythia8_UserProcess::UserProcessFactory::Creator::m_name
std::string m_name
Definition: UserProcessFactory.h:58
Pythia8_UserProcess::UserProcessFactory::s_creators
static std::map< std::string, const ICreator * > & s_creators()
static function to instantiate map of string name Vs. creator object on first use
Definition: UserProcessFactory.cxx:22
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195