CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
edm::stream::EDAnalyzerAdaptorBase Class Referenceabstract

#include "FWCore/Framework/interface/stream/EDAnalyzerAdaptorBase.h"

Inheritance diagram for edm::stream::EDAnalyzerAdaptorBase:
edm::stream::EDAnalyzerAdaptor< T >

Public Member Functions

 EDAnalyzerAdaptorBase ()
 
const ModuleDescriptionmoduleDescription ()
 
void registerProductsAndCallbacks (EDAnalyzerAdaptorBase const *, ProductRegistry *reg)
 
std::string workerType () const
 
virtual ~EDAnalyzerAdaptorBase ()
 

Protected Member Functions

const EDConsumerBaseconsumer () const
 
std::vector< ConsumesInfoconsumesInfo () const
 
template<typename T >
void createStreamModules (T iFunc)
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 

Private Member Functions

void doBeginJob ()
 
virtual void doBeginLuminosityBlock (LuminosityBlockPrincipal &lbp, EventSetup const &c, ModuleCallingContext const *)=0
 
virtual void doBeginRun (RunPrincipal &rp, EventSetup const &c, ModuleCallingContext const *)=0
 
void doBeginStream (StreamID id)
 
virtual void doEndJob ()=0
 
virtual void doEndLuminosityBlock (LuminosityBlockPrincipal &lbp, EventSetup const &c, ModuleCallingContext const *)=0
 
virtual void doEndRun (RunPrincipal &rp, EventSetup const &c, ModuleCallingContext const *)=0
 
void doEndStream (StreamID id)
 
bool doEvent (EventPrincipal &ep, EventSetup const &c, ActivityRegistry *, ModuleCallingContext const *)
 
void doPostForkReacquireResources (unsigned int iChildIndex, unsigned int iNumberOfChildren)
 
void doPreallocate (PreallocationConfiguration const &)
 
void doPreForkReleaseResources ()
 
void doRegisterThinnedAssociations (ProductRegistry const &, ThinnedAssociationsHelper &)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doStreamBeginLuminosityBlock (StreamID id, LuminosityBlockPrincipal &ep, EventSetup const &c, ModuleCallingContext const *)
 
void doStreamBeginRun (StreamID id, RunPrincipal &ep, EventSetup const &c, ModuleCallingContext const *)
 
void doStreamEndLuminosityBlock (StreamID id, LuminosityBlockPrincipal &ep, EventSetup const &c, ModuleCallingContext const *)
 
void doStreamEndRun (StreamID id, RunPrincipal &ep, EventSetup const &c, ModuleCallingContext const *)
 
 EDAnalyzerAdaptorBase (const EDAnalyzerAdaptorBase &)
 
const EDAnalyzerAdaptorBaseoperator= (const EDAnalyzerAdaptorBase &)
 
void setModuleDescription (ModuleDescription const &md)
 
void setModuleDescriptionPtr (EDAnalyzerBase *m)
 
virtual void setupLuminosityBlock (EDAnalyzerBase *, LuminosityBlockIndex)=0
 
virtual void setupRun (EDAnalyzerBase *, RunIndex)=0
 
virtual void setupStreamModules ()=0
 
virtual void streamEndLuminosityBlockSummary (EDAnalyzerBase *, edm::LuminosityBlock const &, edm::EventSetup const &)=0
 
virtual void streamEndRunSummary (EDAnalyzerBase *, edm::Run const &, edm::EventSetup const &)=0
 

Private Attributes

std::vector< EDAnalyzerBase * > m_streamModules
 
ModuleDescription moduleDescription_
 

Friends

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

Detailed Description

Description: [one line class summary]

Usage: <usage>

Definition at line 57 of file EDAnalyzerAdaptorBase.h.

Constructor & Destructor Documentation

EDAnalyzerAdaptorBase::EDAnalyzerAdaptorBase ( )

Definition at line 41 of file EDAnalyzerAdaptorBase.cc.

42 {
43 }
EDAnalyzerAdaptorBase::~EDAnalyzerAdaptorBase ( )
virtual

Definition at line 50 of file EDAnalyzerAdaptorBase.cc.

References visualization-live-secondInstance_cfg::m, and m_streamModules.

51 {
52  for(auto m: m_streamModules) {
53  delete m;
54  }
55 }
std::vector< EDAnalyzerBase * > m_streamModules
edm::stream::EDAnalyzerAdaptorBase::EDAnalyzerAdaptorBase ( const EDAnalyzerAdaptorBase )
private

Member Function Documentation

const edm::EDConsumerBase * EDAnalyzerAdaptorBase::consumer ( ) const
protected
std::vector< edm::ConsumesInfo > EDAnalyzerAdaptorBase::consumesInfo ( ) const
protected

Definition at line 133 of file EDAnalyzerAdaptorBase.cc.

References assert(), and m_streamModules.

133  {
134  assert(not m_streamModules.empty());
135  return m_streamModules[0]->consumesInfo();
136 }
std::vector< EDAnalyzerBase * > m_streamModules
assert(m_qm.get())
template<typename T >
void edm::stream::EDAnalyzerAdaptorBase::createStreamModules ( T  iFunc)
inlineprotected
void EDAnalyzerAdaptorBase::doBeginJob ( )
private

Definition at line 151 of file EDAnalyzerAdaptorBase.cc.

151  {
152 
153 }
virtual void edm::stream::EDAnalyzerAdaptorBase::doBeginLuminosityBlock ( LuminosityBlockPrincipal lbp,
EventSetup const &  c,
ModuleCallingContext const *   
)
privatepure virtual
virtual void edm::stream::EDAnalyzerAdaptorBase::doBeginRun ( RunPrincipal rp,
EventSetup const &  c,
ModuleCallingContext const *   
)
privatepure virtual
void EDAnalyzerAdaptorBase::doBeginStream ( StreamID  id)
private

Definition at line 156 of file EDAnalyzerAdaptorBase.cc.

References m_streamModules.

156  {
157  m_streamModules[id]->beginStream(id);
158 }
std::vector< EDAnalyzerBase * > m_streamModules
virtual void edm::stream::EDAnalyzerAdaptorBase::doEndJob ( )
privatepure virtual
virtual void edm::stream::EDAnalyzerAdaptorBase::doEndLuminosityBlock ( LuminosityBlockPrincipal lbp,
EventSetup const &  c,
ModuleCallingContext const *   
)
privatepure virtual
virtual void edm::stream::EDAnalyzerAdaptorBase::doEndRun ( RunPrincipal rp,
EventSetup const &  c,
ModuleCallingContext const *   
)
privatepure virtual
void EDAnalyzerAdaptorBase::doEndStream ( StreamID  id)
private

Definition at line 160 of file EDAnalyzerAdaptorBase.cc.

References m_streamModules.

160  {
161  m_streamModules[id]->endStream();
162 }
std::vector< EDAnalyzerBase * > m_streamModules
bool EDAnalyzerAdaptorBase::doEvent ( EventPrincipal ep,
EventSetup const &  c,
ActivityRegistry act,
ModuleCallingContext const *  mcc 
)
private

Definition at line 139 of file EDAnalyzerAdaptorBase.cc.

References assert(), alignCSCRings::e, m_streamModules, mod(), moduleDescription_, edm::Event::setConsumer(), and edm::EventPrincipal::streamID().

141  {
142  assert(ep.streamID()<m_streamModules.size());
143  auto mod = m_streamModules[ep.streamID()];
144  Event e(ep, moduleDescription_, mcc);
145  e.setConsumer(mod);
146  EventSignalsSentry sentry(act,mcc);
147  mod->analyze(e, c);
148  return true;
149 }
std::vector< EDAnalyzerBase * > m_streamModules
assert(m_qm.get())
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
void EDAnalyzerAdaptorBase::doPostForkReacquireResources ( unsigned int  iChildIndex,
unsigned int  iNumberOfChildren 
)
private

Definition at line 230 of file EDAnalyzerAdaptorBase.cc.

References m_streamModules, and mod().

231 {
232  for(auto mod: m_streamModules) {
233  mod->postForkReacquireResources(iChildIndex,iNumberOfChildren);
234  }
235 }
std::vector< EDAnalyzerBase * > m_streamModules
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
void EDAnalyzerAdaptorBase::doPreallocate ( PreallocationConfiguration const &  iPrealloc)
private

Definition at line 73 of file EDAnalyzerAdaptorBase.cc.

References m_streamModules, edm::PreallocationConfiguration::numberOfStreams(), and setupStreamModules().

73  {
74  m_streamModules.resize(iPrealloc.numberOfStreams(),
75  static_cast<stream::EDAnalyzerBase*>(nullptr));
77 }
std::vector< EDAnalyzerBase * > m_streamModules
void EDAnalyzerAdaptorBase::doPreForkReleaseResources ( )
private

Definition at line 223 of file EDAnalyzerAdaptorBase.cc.

References m_streamModules, and mod().

224 {
225  for(auto mod: m_streamModules) {
226  mod->preForkReleaseResources();
227  }
228 }
std::vector< EDAnalyzerBase * > m_streamModules
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
void edm::stream::EDAnalyzerAdaptorBase::doRegisterThinnedAssociations ( ProductRegistry const &  ,
ThinnedAssociationsHelper  
)
inlineprivate

Definition at line 158 of file EDAnalyzerAdaptorBase.h.

159  { }
void EDAnalyzerAdaptorBase::doRespondToCloseInputFile ( FileBlock const &  fb)
private

Definition at line 221 of file EDAnalyzerAdaptorBase.cc.

221 {}
void EDAnalyzerAdaptorBase::doRespondToOpenInputFile ( FileBlock const &  fb)
private

Definition at line 219 of file EDAnalyzerAdaptorBase.cc.

219 {}
void EDAnalyzerAdaptorBase::doStreamBeginLuminosityBlock ( StreamID  id,
LuminosityBlockPrincipal ep,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 193 of file EDAnalyzerAdaptorBase.cc.

References edm::LuminosityBlockPrincipal::index(), m_streamModules, mod(), moduleDescription_, and setupLuminosityBlock().

196  {
197  auto mod = m_streamModules[id];
198  setupLuminosityBlock(mod,lbp.index());
199 
200  LuminosityBlock lb(lbp, moduleDescription_, mcc);
201  lb.setConsumer(mod);
202  mod->beginLuminosityBlock(lb, c);
203 }
std::vector< EDAnalyzerBase * > m_streamModules
virtual void setupLuminosityBlock(EDAnalyzerBase *, LuminosityBlockIndex)=0
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
void EDAnalyzerAdaptorBase::doStreamBeginRun ( StreamID  id,
RunPrincipal ep,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 165 of file EDAnalyzerAdaptorBase.cc.

References edm::RunPrincipal::index(), m_streamModules, mod(), moduleDescription_, alignCSCRings::r, and setupRun().

169 {
170  auto mod = m_streamModules[id];
171  setupRun(mod, rp.index());
172 
173  Run r(rp, moduleDescription_, mcc);
174  r.setConsumer(mod);
175  mod->beginRun(r, c);
176 
177 }
std::vector< EDAnalyzerBase * > m_streamModules
virtual void setupRun(EDAnalyzerBase *, RunIndex)=0
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
void EDAnalyzerAdaptorBase::doStreamEndLuminosityBlock ( StreamID  id,
LuminosityBlockPrincipal ep,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 205 of file EDAnalyzerAdaptorBase.cc.

References m_streamModules, mod(), moduleDescription_, edm::LuminosityBlock::setConsumer(), and streamEndLuminosityBlockSummary().

209 {
210  auto mod = m_streamModules[id];
211  LuminosityBlock lb(lbp, moduleDescription_, mcc);
212  lb.setConsumer(mod);
213  mod->endLuminosityBlock(lb, c);
215 
216 }
std::vector< EDAnalyzerBase * > m_streamModules
virtual void streamEndLuminosityBlockSummary(EDAnalyzerBase *, edm::LuminosityBlock const &, edm::EventSetup const &)=0
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
void EDAnalyzerAdaptorBase::doStreamEndRun ( StreamID  id,
RunPrincipal ep,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 180 of file EDAnalyzerAdaptorBase.cc.

References m_streamModules, mod(), moduleDescription_, alignCSCRings::r, edm::Run::setConsumer(), and streamEndRunSummary().

184 {
185  auto mod = m_streamModules[id];
186  Run r(rp, moduleDescription_, mcc);
187  r.setConsumer(mod);
188  mod->endRun(r, c);
190 }
std::vector< EDAnalyzerBase * > m_streamModules
virtual void streamEndRunSummary(EDAnalyzerBase *, edm::Run const &, edm::EventSetup const &)=0
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
void EDAnalyzerAdaptorBase::itemsMayGet ( BranchType  iType,
std::vector< ProductHolderIndexAndSkipBit > &  iIndices 
) const
protected

Definition at line 92 of file EDAnalyzerAdaptorBase.cc.

References assert(), and m_streamModules.

92  {
93  assert(not m_streamModules.empty());
94  m_streamModules[0]->itemsMayGet(iType,iIndices);
95 }
std::vector< EDAnalyzerBase * > m_streamModules
assert(m_qm.get())
void EDAnalyzerAdaptorBase::itemsToGet ( BranchType  iType,
std::vector< ProductHolderIndexAndSkipBit > &  iIndices 
) const
protected

Definition at line 87 of file EDAnalyzerAdaptorBase.cc.

References assert(), and m_streamModules.

87  {
88  assert(not m_streamModules.empty());
89  m_streamModules[0]->itemsToGet(iType,iIndices);
90 }
std::vector< EDAnalyzerBase * > m_streamModules
assert(m_qm.get())
std::vector< edm::ProductHolderIndexAndSkipBit > const & EDAnalyzerAdaptorBase::itemsToGetFromEvent ( ) const
protected

Definition at line 98 of file EDAnalyzerAdaptorBase.cc.

References assert(), and m_streamModules.

98  {
99  assert(not m_streamModules.empty());
100  return m_streamModules[0]->itemsToGetFromEvent();
101 }
std::vector< EDAnalyzerBase * > m_streamModules
assert(m_qm.get())
const ModuleDescription& edm::stream::EDAnalyzerAdaptorBase::moduleDescription ( )
inline
void EDAnalyzerAdaptorBase::modulesDependentUpon ( const std::string &  iProcessName,
std::vector< const char * > &  oModuleLabels 
) const
protected

Definition at line 117 of file EDAnalyzerAdaptorBase.cc.

References assert(), and m_streamModules.

118  {
119  assert(not m_streamModules.empty());
120  return m_streamModules[0]->modulesDependentUpon(iProcessName, oModuleLabels);
121 }
std::vector< EDAnalyzerBase * > m_streamModules
assert(m_qm.get())
void EDAnalyzerAdaptorBase::modulesWhoseProductsAreConsumed ( std::vector< ModuleDescription const * > &  modules,
ProductRegistry const &  preg,
std::map< std::string, ModuleDescription const * > const &  labelsToDesc,
std::string const &  processName 
) const
protected

Definition at line 124 of file EDAnalyzerAdaptorBase.cc.

References assert(), and m_streamModules.

127  {
128  assert(not m_streamModules.empty());
129  return m_streamModules[0]->modulesWhoseProductsAreConsumed(modules, preg, labelsToDesc, processName);
130 }
std::vector< EDAnalyzerBase * > m_streamModules
assert(m_qm.get())
preg
Definition: Schedule.cc:369
const EDAnalyzerAdaptorBase& edm::stream::EDAnalyzerAdaptorBase::operator= ( const EDAnalyzerAdaptorBase )
private
void EDAnalyzerAdaptorBase::registerProductsAndCallbacks ( EDAnalyzerAdaptorBase const *  ,
ProductRegistry reg 
)

Definition at line 80 of file EDAnalyzerAdaptorBase.cc.

References m_streamModules, and mod().

80  {
81  for(auto mod : m_streamModules) {
82  mod->registerProductsAndCallbacks(mod, reg);
83  }
84 }
std::vector< EDAnalyzerBase * > m_streamModules
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
void edm::stream::EDAnalyzerAdaptorBase::setModuleDescription ( ModuleDescription const &  md)
inlineprivate
void EDAnalyzerAdaptorBase::setModuleDescriptionPtr ( EDAnalyzerBase m)
private

Definition at line 238 of file EDAnalyzerAdaptorBase.cc.

References moduleDescription_, and edm::stream::EDAnalyzerBase::setModuleDescriptionPtr().

Referenced by createStreamModules().

238  {
240 }
void setModuleDescriptionPtr(ModuleDescription const *iDesc)
virtual void edm::stream::EDAnalyzerAdaptorBase::setupLuminosityBlock ( EDAnalyzerBase ,
LuminosityBlockIndex   
)
privatepure virtual
virtual void edm::stream::EDAnalyzerAdaptorBase::setupRun ( EDAnalyzerBase ,
RunIndex   
)
privatepure virtual
virtual void edm::stream::EDAnalyzerAdaptorBase::setupStreamModules ( )
privatepure virtual

Implemented in edm::stream::EDAnalyzerAdaptor< T >.

Referenced by doPreallocate().

virtual void edm::stream::EDAnalyzerAdaptorBase::streamEndLuminosityBlockSummary ( EDAnalyzerBase ,
edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
privatepure virtual
virtual void edm::stream::EDAnalyzerAdaptorBase::streamEndRunSummary ( EDAnalyzerBase ,
edm::Run const &  ,
edm::EventSetup const &   
)
privatepure virtual

Implemented in edm::stream::EDAnalyzerAdaptor< T >.

Referenced by doStreamEndRun().

void EDAnalyzerAdaptorBase::updateLookup ( BranchType  iBranchType,
ProductHolderIndexHelper const &  iHelper 
)
protected

Definition at line 104 of file EDAnalyzerAdaptorBase.cc.

References m_streamModules, and mod().

105  {
106  for(auto mod: m_streamModules) {
107  mod->updateLookup(iType,iHelper);
108  }
109 }
std::vector< EDAnalyzerBase * > m_streamModules
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
std::string edm::stream::EDAnalyzerAdaptorBase::workerType ( ) const
inline

Definition at line 74 of file EDAnalyzerAdaptorBase.h.

74 { return "WorkerT<EDAnalyzerAdaptorBase>";}

Friends And Related Function Documentation

template<typename T >
friend class edm::maker::ModuleHolderT
friend

Definition at line 62 of file EDAnalyzerAdaptorBase.h.

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

Definition at line 61 of file EDAnalyzerAdaptorBase.h.

Member Data Documentation

std::vector<EDAnalyzerBase*> edm::stream::EDAnalyzerAdaptorBase::m_streamModules
private
ModuleDescription edm::stream::EDAnalyzerAdaptorBase::moduleDescription_
private