CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
edm::WorkerT< T > Class Template Reference

#include <Frameworkfwd.h>

Inheritance diagram for edm::WorkerT< T >:
edm::Worker

Public Types

typedef T ModuleType
 
typedef WorkerT< TWorkerType
 
- Public Types inherited from edm::Worker
enum  State { Ready, Pass, Fail, Exception }
 

Public Member Functions

void setModule (std::auto_ptr< T > &iModule)
 
 WorkerT (std::auto_ptr< T >, ModuleDescription const &, WorkerParams const &)
 
virtual ~WorkerT ()
 
- Public Member Functions inherited from edm::Worker
void beginJob ()
 
void clearCounters ()
 
ModuleDescription const * descPtr () const
 
ModuleDescription const & description () const
 
template<typename T >
bool doWork (typename T::MyPrincipal &, EventSetup const &c, CurrentProcessingContext const *cpc, CPUTimer *const timer)
 
void endJob ()
 
void postForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren)
 
void preForkReleaseResources ()
 
void reset ()
 
void respondToCloseInputFile (FileBlock const &fb)
 
void respondToCloseOutputFiles (FileBlock const &fb)
 
void respondToOpenInputFile (FileBlock const &fb)
 
void respondToOpenOutputFiles (FileBlock const &fb)
 
void setActivityRegistry (boost::shared_ptr< ActivityRegistry > areg)
 
State state () const
 
std::pair< double, double > timeCpuReal () const
 
int timesExcept () const
 
int timesFailed () const
 
int timesPass () const
 
int timesPassed () const
 
int timesRun () const
 
int timesVisited () const
 
void useStopwatch ()
 
 Worker (ModuleDescription const &iMD, WorkerParams const &iWP)
 
virtual ~Worker ()
 

Static Public Member Functions

template<typename ModType >
static std::auto_ptr< TmakeModule (ModuleDescription const &md, ParameterSet const &pset)
 

Protected Member Functions

Tmodule ()
 
T const & module () const
 

Private Member Functions

virtual void implBeginJob ()
 
virtual bool implDoBegin (EventPrincipal &ep, EventSetup const &c, CurrentProcessingContext const *cpc)
 
virtual bool implDoBegin (RunPrincipal &rp, EventSetup const &c, CurrentProcessingContext const *cpc)
 
virtual bool implDoBegin (LuminosityBlockPrincipal &lbp, EventSetup const &c, CurrentProcessingContext const *cpc)
 
virtual bool implDoEnd (EventPrincipal &ep, EventSetup const &c, CurrentProcessingContext const *cpc)
 
virtual bool implDoEnd (RunPrincipal &rp, EventSetup const &c, CurrentProcessingContext const *cpc)
 
virtual bool implDoEnd (LuminosityBlockPrincipal &lbp, EventSetup const &c, CurrentProcessingContext const *cpc)
 
virtual void implEndJob ()
 
virtual void implPostForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren)
 
virtual void implPreForkReleaseResources ()
 
virtual void implRespondToCloseInputFile (FileBlock const &fb)
 
virtual void implRespondToCloseOutputFiles (FileBlock const &fb)
 
virtual void implRespondToOpenInputFile (FileBlock const &fb)
 
virtual void implRespondToOpenOutputFiles (FileBlock const &fb)
 
virtual std::string workerType () const
 

Private Attributes

std::auto_ptr< Tmodule_
 

Detailed Description

template<typename T>
class edm::WorkerT< T >

Definition at line 55 of file Frameworkfwd.h.

Member Typedef Documentation

template<typename T>
typedef T edm::WorkerT< T >::ModuleType

Definition at line 23 of file WorkerT.h.

template<typename T>
typedef WorkerT<T> edm::WorkerT< T >::WorkerType

Definition at line 24 of file WorkerT.h.

Constructor & Destructor Documentation

template<typename T>
edm::WorkerT< T >::WorkerT ( std::auto_ptr< T ed,
ModuleDescription const &  md,
WorkerParams const &  wp 
)
inline

Definition at line 78 of file WorkerT.h.

References edm::WorkerT< T >::module_, and edm::WorkerParams::reg_.

80  :
81  Worker(md, wp),
82  module_(ed) {
83  assert(module_.get() != 0);
84  module_->setModuleDescription(md);
85  module_->registerAnyProducts(module_.get(), wp.reg_);
86  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
Worker(ModuleDescription const &iMD, WorkerParams const &iWP)
Definition: Worker.cc:43
template<typename T >
edm::WorkerT< T >::~WorkerT ( )
virtual

Definition at line 89 of file WorkerT.h.

89  {
90  }

Member Function Documentation

template<typename T >
void edm::WorkerT< T >::implBeginJob ( )
privatevirtual

Implements edm::Worker.

Definition at line 144 of file WorkerT.h.

References sistrip::module_.

144  {
145  module_->doBeginJob();
146  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
bool edm::WorkerT< T >::implDoBegin ( EventPrincipal ep,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
privatevirtual

Implements edm::Worker.

Definition at line 95 of file WorkerT.h.

References sistrip::module_, asciidump::s, and edm::EventPrincipal::unscheduledHandler().

96  {
97  UnscheduledHandlerSentry s(ep.unscheduledHandler().get(), cpc);
98  return module_->doEvent(ep, c, cpc);
99  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
string s
Definition: asciidump.py:422
template<typename T >
bool edm::WorkerT< T >::implDoBegin ( RunPrincipal rp,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
privatevirtual

Implements edm::Worker.

Definition at line 110 of file WorkerT.h.

References sistrip::module_.

111  {
112  return module_->doBeginRun(rp, c, cpc);
113  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
bool edm::WorkerT< T >::implDoBegin ( LuminosityBlockPrincipal lbp,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
privatevirtual

Implements edm::Worker.

Definition at line 124 of file WorkerT.h.

References sistrip::module_.

125  {
126  return module_->doBeginLuminosityBlock(lbp, c, cpc);
127  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
bool edm::WorkerT< T >::implDoEnd ( EventPrincipal ep,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
privatevirtual

Implements edm::Worker.

Definition at line 103 of file WorkerT.h.

104  {
105  return false;
106  }
template<typename T >
bool edm::WorkerT< T >::implDoEnd ( RunPrincipal rp,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
privatevirtual

Implements edm::Worker.

Definition at line 117 of file WorkerT.h.

References sistrip::module_.

118  {
119  return module_->doEndRun(rp, c, cpc);
120  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
bool edm::WorkerT< T >::implDoEnd ( LuminosityBlockPrincipal lbp,
EventSetup const &  c,
CurrentProcessingContext const *  cpc 
)
privatevirtual

Implements edm::Worker.

Definition at line 131 of file WorkerT.h.

References sistrip::module_.

132  {
133  return module_->doEndLuminosityBlock(lbp, c, cpc);
134  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
void edm::WorkerT< T >::implEndJob ( )
privatevirtual

Implements edm::Worker.

Definition at line 150 of file WorkerT.h.

References sistrip::module_.

150  {
151  module_->doEndJob();
152  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
void edm::WorkerT< T >::implPostForkReacquireResources ( unsigned int  iChildIndex,
unsigned int  iNumberOfChildren 
)
privatevirtual

Implements edm::Worker.

Definition at line 186 of file WorkerT.h.

References sistrip::module_.

187  {
188  module_->doPostForkReacquireResources(iChildIndex, iNumberOfChildren);
189  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
void edm::WorkerT< T >::implPreForkReleaseResources ( )
privatevirtual

Implements edm::Worker.

Definition at line 180 of file WorkerT.h.

References sistrip::module_.

180  {
181  module_->doPreForkReleaseResources();
182  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
void edm::WorkerT< T >::implRespondToCloseInputFile ( FileBlock const &  fb)
privatevirtual

Implements edm::Worker.

Definition at line 162 of file WorkerT.h.

References sistrip::module_.

162  {
163  module_->doRespondToCloseInputFile(fb);
164  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
void edm::WorkerT< T >::implRespondToCloseOutputFiles ( FileBlock const &  fb)
privatevirtual

Implements edm::Worker.

Definition at line 174 of file WorkerT.h.

References sistrip::module_.

174  {
175  module_->doRespondToCloseOutputFiles(fb);
176  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
void edm::WorkerT< T >::implRespondToOpenInputFile ( FileBlock const &  fb)
privatevirtual

Implements edm::Worker.

Definition at line 156 of file WorkerT.h.

References sistrip::module_.

156  {
157  module_->doRespondToOpenInputFile(fb);
158  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
void edm::WorkerT< T >::implRespondToOpenOutputFiles ( FileBlock const &  fb)
privatevirtual

Implements edm::Worker.

Definition at line 168 of file WorkerT.h.

References sistrip::module_.

168  {
169  module_->doRespondToOpenOutputFiles(fb);
170  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T>
template<typename ModType >
static std::auto_ptr<T> edm::WorkerT< T >::makeModule ( ModuleDescription const &  md,
ParameterSet const &  pset 
)
inlinestatic

Definition at line 33 of file WorkerT.h.

34  {
35  std::auto_ptr<ModType> module = std::auto_ptr<ModType>(new ModType(pset));
36  return std::auto_ptr<T>(module.release());
37  }
Definition: vlib.h:209
template<typename T>
T& edm::WorkerT< T >::module ( )
inlineprotected

Definition at line 46 of file WorkerT.h.

46 {return *module_;}
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T>
T const& edm::WorkerT< T >::module ( ) const
inlineprotected

Definition at line 47 of file WorkerT.h.

47 {return *module_;}
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T>
void edm::WorkerT< T >::setModule ( std::auto_ptr< T > &  iModule)
inline

Definition at line 39 of file WorkerT.h.

39  {
40  module_ = iModule;
41  module_->setModuleDescription(description());
42 
43  }
ModuleDescription const & description() const
Definition: Worker.h:63
std::auto_ptr< T > module_
Definition: WorkerT.h:73
template<typename T >
std::string edm::WorkerT< T >::workerType ( ) const
privatevirtual

Implements edm::Worker.

Definition at line 138 of file WorkerT.h.

References sistrip::module_.

138  {
139  return module_->workerType();
140  }
std::auto_ptr< T > module_
Definition: WorkerT.h:73

Member Data Documentation

template<typename T>
std::auto_ptr<T> edm::WorkerT< T >::module_
private