CMS 3D CMS Logo

Public Types | Public Member Functions | Private Member Functions

DefaultFFTJetObjectFactory< Base > Struct Template Reference

#include <FFTJetObjectFactory.h>

Inheritance diagram for DefaultFFTJetObjectFactory< Base >:
map

List of all members.

Public Types

typedef Base base_type

Public Member Functions

Basecreate (const std::string &derivedType, const edm::ParameterSet &ps) const
 DefaultFFTJetObjectFactory ()
virtual ~DefaultFFTJetObjectFactory ()

Private Member Functions

 DefaultFFTJetObjectFactory (const DefaultFFTJetObjectFactory &)
DefaultFFTJetObjectFactoryoperator= (const DefaultFFTJetObjectFactory &)

Detailed Description

template<class Base>
struct DefaultFFTJetObjectFactory< Base >

Definition at line 29 of file FFTJetObjectFactory.h.


Member Typedef Documentation

template<class Base>
typedef Base DefaultFFTJetObjectFactory< Base >::base_type

Definition at line 32 of file FFTJetObjectFactory.h.


Constructor & Destructor Documentation

template<class Base>
DefaultFFTJetObjectFactory< Base >::DefaultFFTJetObjectFactory ( ) [inline]

Definition at line 34 of file FFTJetObjectFactory.h.

        : std::map<std::string, AbsFFTJetObjectFactory<Base>*>() {}
template<class Base>
virtual DefaultFFTJetObjectFactory< Base >::~DefaultFFTJetObjectFactory ( ) [inline, virtual]

Definition at line 37 of file FFTJetObjectFactory.h.

    {
        for (typename std::map<std::string, AbsFFTJetObjectFactory<Base>*>::
                 iterator it = this->begin(); it != this->end(); ++it)
            delete it->second;
    }
template<class Base>
DefaultFFTJetObjectFactory< Base >::DefaultFFTJetObjectFactory ( const DefaultFFTJetObjectFactory< Base > &  ) [private]

Member Function Documentation

template<class Base>
Base* DefaultFFTJetObjectFactory< Base >::create ( const std::string &  derivedType,
const edm::ParameterSet ps 
) const [inline]

Definition at line 44 of file FFTJetObjectFactory.h.

    {
        typename std::map<std::string, AbsFFTJetObjectFactory<Base>*>::
            const_iterator it = this->find(derivedType);
        if (it == this->end())
            throw cms::Exception("KeyNotFound")
                << "Derived type \"" << derivedType
                << "\" is not registered with the factory\n";
        return it->second->create(ps);
    }
template<class Base>
DefaultFFTJetObjectFactory& DefaultFFTJetObjectFactory< Base >::operator= ( const DefaultFFTJetObjectFactory< Base > &  ) [private]