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 setEventSelectionInfo (std::map< std::string, std::vector< std::pair< std::string, int > > > const &outputModulePathPositions, bool anyProductProduced)
 
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 pathFinished (EventPrincipal &)
 
void postDoEvent (EventPrincipal &)
 
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)
 
void setEarlyDeleteHelper (EarlyDeleteHelper *iHelper)
 
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 &, 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 54 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 82 of file WorkerT.h.

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

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

Definition at line 91 of file WorkerT.h.

91  {
92  }

Member Function Documentation

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

Implements edm::Worker.

Definition at line 140 of file WorkerT.h.

References sistrip::module_.

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

Implements edm::Worker.

Definition at line 96 of file WorkerT.h.

References sistrip::module_, getGTfromDQMFile::obj, edm::Worker::postDoEvent(), alignCSCRings::s, and edm::EventPrincipal::unscheduledHandler().

96  {
97  UnscheduledHandlerSentry s(ep.unscheduledHandler().get(), cpc);
98  boost::shared_ptr<Worker> sentry(this,[&ep](Worker* obj) {obj->postDoEvent(ep);});
99  return module_->doEvent(ep, c, cpc);
100  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77
Worker(ModuleDescription const &iMD, WorkerParams const &iWP)
Definition: Worker.cc:44
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_.

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

Implements edm::Worker.

Definition at line 122 of file WorkerT.h.

References sistrip::module_.

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

Implements edm::Worker.

Definition at line 104 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 116 of file WorkerT.h.

References sistrip::module_.

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

Implements edm::Worker.

Definition at line 128 of file WorkerT.h.

References sistrip::module_.

128  {
129  return module_->doEndLuminosityBlock(lbp, c, cpc);
130  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77
template<typename T >
void edm::WorkerT< T >::implEndJob ( )
privatevirtual

Implements edm::Worker.

Definition at line 146 of file WorkerT.h.

References sistrip::module_.

146  {
147  module_->doEndJob();
148  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77
template<typename T >
void edm::WorkerT< T >::implPostForkReacquireResources ( unsigned int  iChildIndex,
unsigned int  iNumberOfChildren 
)
privatevirtual

Implements edm::Worker.

Definition at line 182 of file WorkerT.h.

References sistrip::module_.

183  {
184  module_->doPostForkReacquireResources(iChildIndex, iNumberOfChildren);
185  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77
template<typename T >
void edm::WorkerT< T >::implPreForkReleaseResources ( )
privatevirtual

Implements edm::Worker.

Definition at line 176 of file WorkerT.h.

References sistrip::module_.

176  {
177  module_->doPreForkReleaseResources();
178  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77
template<typename T >
void edm::WorkerT< T >::implRespondToCloseInputFile ( FileBlock const &  fb)
privatevirtual

Implements edm::Worker.

Definition at line 158 of file WorkerT.h.

References sistrip::module_.

158  {
159  module_->doRespondToCloseInputFile(fb);
160  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77
template<typename T >
void edm::WorkerT< T >::implRespondToCloseOutputFiles ( FileBlock const &  fb)
privatevirtual

Implements edm::Worker.

Definition at line 170 of file WorkerT.h.

References sistrip::module_.

170  {
171  module_->doRespondToCloseOutputFiles(fb);
172  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77
template<typename T >
void edm::WorkerT< T >::implRespondToOpenInputFile ( FileBlock const &  fb)
privatevirtual

Implements edm::Worker.

Definition at line 152 of file WorkerT.h.

References sistrip::module_.

152  {
153  module_->doRespondToOpenInputFile(fb);
154  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77
template<typename T >
void edm::WorkerT< T >::implRespondToOpenOutputFiles ( FileBlock const &  fb)
privatevirtual

Implements edm::Worker.

Definition at line 164 of file WorkerT.h.

References sistrip::module_.

164  {
165  module_->doRespondToOpenOutputFiles(fb);
166  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77
template<typename T>
template<typename ModType >
static std::auto_ptr<T> edm::WorkerT< T >::makeModule ( ModuleDescription const &  ,
ParameterSet const &  pset 
)
inlinestatic

Definition at line 32 of file WorkerT.h.

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

Definition at line 50 of file WorkerT.h.

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

Definition at line 51 of file WorkerT.h.

51 {return *module_;}
std::auto_ptr< T > module_
Definition: WorkerT.h:77
template<typename T>
void edm::WorkerT< T >::setEventSelectionInfo ( std::map< std::string, std::vector< std::pair< std::string, int > > > const &  outputModulePathPositions,
bool  anyProductProduced 
)
inline

Definition at line 44 of file WorkerT.h.

45  {
46  module_->setEventSelectionInfo(outputModulePathPositions, anyProductProduced);
47  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77
template<typename T>
void edm::WorkerT< T >::setModule ( std::auto_ptr< T > &  iModule)
inline

Definition at line 38 of file WorkerT.h.

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

Implements edm::Worker.

Definition at line 134 of file WorkerT.h.

References sistrip::module_.

134  {
135  return module_->workerType();
136  }
std::auto_ptr< T > module_
Definition: WorkerT.h:77

Member Data Documentation

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