CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Attributes

edm::DigiAccumulatorMixModFactory Class Reference

#include <DigiAccumulatorMixModFactory.h>

List of all members.

Public Member Functions

std::auto_ptr
< DigiAccumulatorMixMod
makeDigiAccumulator (ParameterSet const &, EDProducer &) const
 ~DigiAccumulatorMixModFactory ()

Static Public Member Functions

static
DigiAccumulatorMixModFactory
get ()

Private Member Functions

 DigiAccumulatorMixModFactory ()

Static Private Attributes

static DigiAccumulatorMixModFactory singleInstance_

Detailed Description

Definition at line 14 of file DigiAccumulatorMixModFactory.h.


Constructor & Destructor Documentation

edm::DigiAccumulatorMixModFactory::~DigiAccumulatorMixModFactory ( )

Definition at line 14 of file DigiAccumulatorMixModFactory.cc.

                                                              {
  }
edm::DigiAccumulatorMixModFactory::DigiAccumulatorMixModFactory ( ) [private]

Definition at line 17 of file DigiAccumulatorMixModFactory.cc.

                                                             {
  }

Member Function Documentation

DigiAccumulatorMixModFactory * edm::DigiAccumulatorMixModFactory::get ( void  ) [static]

Definition at line 22 of file DigiAccumulatorMixModFactory.cc.

References singleInstance_.

Referenced by makeDigiAccumulator().

                                                                  {
    // will not work with plugin factories
    //static DigiAccumulatorMixModFactory f;
    //return &f;

    return &singleInstance_;
  }
std::auto_ptr< DigiAccumulatorMixMod > edm::DigiAccumulatorMixModFactory::makeDigiAccumulator ( ParameterSet const &  conf,
EDProducer mixMod 
) const

Definition at line 31 of file DigiAccumulatorMixModFactory.cc.

References edm::errors::Configuration, Exception, FDEBUG, get(), edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

                                                                                                      {
    std::string accumulatorType = conf.getParameter<std::string>("accumulatorType");
    FDEBUG(1) << "DigiAccumulatorMixModFactory: digi_accumulator_type = " << accumulatorType << std::endl;
    std::auto_ptr<DigiAccumulatorMixMod> wm;
    wm = std::auto_ptr<DigiAccumulatorMixMod>(DigiAccumulatorMixModPluginFactory::get()->create(accumulatorType, conf, mixMod));
    
    if(wm.get()==0) {
        throw edm::Exception(errors::Configuration,"NoSourceModule")
          << "DigiAccumulator Factory:\n"
          << "Cannot find dig type from ParameterSet: "
          << accumulatorType << "\n"
          << "Perhaps your source type is misspelled or is not an EDM Plugin?\n"
          << "Try running EdmPluginDump to obtain a list of available Plugins.";
    }

    FDEBUG(1) << "DigiAccumulatorMixModFactory: created a Digi Accumulator "
              << accumulatorType
              << std::endl;

    return wm;
  }

Member Data Documentation

Definition at line 25 of file DigiAccumulatorMixModFactory.h.

Referenced by get().