CMS 3D CMS Logo

stor::EPRunner Class Reference

#include <EventFilter/StorageManager/interface/EPRunner.h>

List of all members.

Public Member Functions

 EPRunner (const std::string &config_string, std::auto_ptr< HLTInfo >)
HLTInfogetInfo ()
const edm::ProductRegistrygetRegistry ()
edm::ServiceToken getToken ()
void join ()
void start ()
 ~EPRunner ()

Private Member Functions

void dowork ()
 EPRunner (const EPRunner &)
EPRunneroperator= (const EPRunner &)

Static Private Member Functions

static void run (EPRunner *)

Private Attributes

edm::AssertHandler ah_
edm::EventProcessor ep_
HLTInfoinfo_
boost::shared_ptr< boost::threadme_
edm::ServiceToken tok_


Detailed Description

Definition at line 17 of file EPRunner.h.


Constructor & Destructor Documentation

stor::EPRunner::EPRunner ( const std::string &  config_string,
std::auto_ptr< HLTInfo info 
)

Definition at line 19 of file EPRunner.cc.

References lat::endl(), and FDEBUG.

00020                                                :
00021     info_(info.get()),
00022     tok_(edm::ServiceRegistry::createContaining(info)),
00023         ah_(),
00024     ep_(config_string,tok_,edm::serviceregistry::kOverlapIsError)
00025   {
00026         FDEBUG(4) << "EPRunner ctor body" << endl;
00027   }

stor::EPRunner::~EPRunner (  ) 

Definition at line 29 of file EPRunner.cc.

00030   {
00031   }

stor::EPRunner::EPRunner ( const EPRunner  )  [private]


Member Function Documentation

void stor::EPRunner::dowork (  )  [private]

Definition at line 54 of file EPRunner.cc.

References edm::EventProcessor::beginJob(), TestMuL1L2Filter_cff::cerr, e, edm::EventProcessor::endJob(), lat::endl(), ep_, exception, stor::HLTInfo::getExtraLock(), info_, edm::EventProcessor::run(), and sl.

Referenced by run().

00055   {
00056     try
00057       {
00058           {
00059                 boost::mutex::scoped_lock sl(info_->getExtraLock());
00060             ep_.beginJob();
00061           }
00062         ep_.run();
00063           {
00064                 boost::mutex::scoped_lock sl(info_->getExtraLock());
00065             ep_.endJob();
00066       }
00067       }
00068     catch (std::exception& e)
00069       {
00070         std::cerr << "Standard library exception caught EventProcessor" << "\n"
00071                   << e.what()
00072                   << std::endl;
00073       }
00074     catch (...)
00075       {
00076         std::cerr << "Unknown exception caught EventProcessor"
00077                   << std::endl;
00078       }
00079 
00080   }

HLTInfo* stor::EPRunner::getInfo (  )  [inline]

Definition at line 29 of file EPRunner.h.

References info_.

00029 { return info_; }

const edm::ProductRegistry & stor::EPRunner::getRegistry (  ) 

Definition at line 33 of file EPRunner.cc.

00034   {
00035     Service<ConstProductRegistry> reg;
00036     return reg->productRegistry();
00037   }

edm::ServiceToken stor::EPRunner::getToken (  )  [inline]

Definition at line 28 of file EPRunner.h.

References ep_, and edm::EventProcessor::getToken().

00028 { return ep_.getToken();}

void stor::EPRunner::join (  ) 

Definition at line 44 of file EPRunner.cc.

References me_.

00045   {
00046     me_->join();
00047   }

EPRunner& stor::EPRunner::operator= ( const EPRunner  )  [private]

void stor::EPRunner::run ( EPRunner t  )  [static, private]

Definition at line 49 of file EPRunner.cc.

References dowork().

Referenced by start().

00050   {
00051     t->dowork();
00052   }

void stor::EPRunner::start ( void   ) 

Definition at line 39 of file EPRunner.cc.

References me_, run(), and thread.

00040   {
00041     me_.reset( new boost::thread(boost::bind(EPRunner::run,this)));
00042   }


Member Data Documentation

edm::AssertHandler stor::EPRunner::ah_ [private]

Definition at line 39 of file EPRunner.h.

edm::EventProcessor stor::EPRunner::ep_ [private]

Definition at line 40 of file EPRunner.h.

Referenced by dowork(), and getToken().

HLTInfo* stor::EPRunner::info_ [private]

Definition at line 37 of file EPRunner.h.

Referenced by dowork(), and getInfo().

boost::shared_ptr<boost::thread> stor::EPRunner::me_ [private]

Definition at line 41 of file EPRunner.h.

Referenced by join(), and start().

edm::ServiceToken stor::EPRunner::tok_ [private]

Definition at line 38 of file EPRunner.h.


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:52:50 2009 for CMSSW by  doxygen 1.5.4