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

#include <UserHooksFactory.h>

Inheritance diagram for Pythia8_UserHooks::UserHooksFactory::Creator< T >:
Collaboration diagram for Pythia8_UserHooks::UserHooksFactory::Creator< T >:

Public Member Functions

 Creator (const std::string &name)
 
 ~Creator ()
 
UserHooks * create () const
 

Private Attributes

std::string m_name
 

Detailed Description

template<class T>
class Pythia8_UserHooks::UserHooksFactory::Creator< T >

Definition at line 54 of file UserHooksFactory.h.

Constructor & Destructor Documentation

◆ Creator()

template<class T >
Pythia8_UserHooks::UserHooksFactory::Creator< T >::Creator ( const std::string &  name)
inline

Definition at line 58 of file UserHooksFactory.h.

58  {
59  m_name = name;
61  }

◆ ~Creator()

template<class T >
Pythia8_UserHooks::UserHooksFactory::Creator< T >::~Creator ( )
inline

Definition at line 63 of file UserHooksFactory.h.

63  {
64  if(s_creators()[m_name] == this){
65  s_creators().erase(m_name);
66  }
67  }

Member Function Documentation

◆ create()

template<class T >
UserHooks* Pythia8_UserHooks::UserHooksFactory::Creator< T >::create ( ) const
inlinevirtual

Implements Pythia8_UserHooks::UserHooksFactory::ICreator.

Definition at line 69 of file UserHooksFactory.h.

69  {
70  return new T;
71  }

Member Data Documentation

◆ m_name

template<class T >
std::string Pythia8_UserHooks::UserHooksFactory::Creator< T >::m_name
private

Definition at line 75 of file UserHooksFactory.h.


The documentation for this class was generated from the following file:
Pythia8_UserHooks::UserHooksFactory::Creator::m_name
std::string m_name
Definition: UserHooksFactory.h:75
Pythia8_UserHooks::UserHooksFactory::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: UserHooksFactory.cxx:19
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35