CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EDProducer.cc
Go to the documentation of this file.
1 /*----------------------------------------------------------------------
2 
3 
4 ----------------------------------------------------------------------*/
5 
12 
15 
17 
18 namespace edm {
20  ProducerBase(),
21  moduleDescription_(),
22  previousParentage_(),
23  previousParentageId_() {
26  }
27 
29 
30  bool
32  ActivityRegistry* act,
33  ModuleCallingContext const* mcc) {
34  Event e(ep, moduleDescription_, mcc);
35  e.setConsumer(this);
36  {
37  std::lock_guard<std::mutex> guard(mutex_);
38  {
39  std::lock_guard<SharedResourcesAcquirer> guardAcq(resourceAcquirer_);
41  EventSignalsSentry sentry(act,mcc);
42  this->produce(e, c);
43  }
45  }
46  return true;
47  }
48 
49  void
51  std::vector<std::string> res = {SharedResourcesRegistry::kLegacyModuleResourceName};
53  this->beginJob();
54  }
55 
56  void
58  this->endJob();
59  }
60 
61  void
63  ModuleCallingContext const* mcc) {
64  Run r(rp, moduleDescription_, mcc);
65  r.setConsumer(this);
66  Run const& cnstR = r;
67  this->beginRun(cnstR, c);
68  commit_(r);
69  }
70 
71  void
73  ModuleCallingContext const* mcc) {
74  Run r(rp, moduleDescription_, mcc);
75  r.setConsumer(this);
76  Run const& cnstR = r;
77  this->endRun(cnstR, c);
78  commit_(r);
79  }
80 
81  void
83  ModuleCallingContext const* mcc) {
84  LuminosityBlock lb(lbp, moduleDescription_, mcc);
85  lb.setConsumer(this);
86  LuminosityBlock const& cnstLb = lb;
87  this->beginLuminosityBlock(cnstLb, c);
88  commit_(lb);
89  }
90 
91  void
93  ModuleCallingContext const* mcc) {
94  LuminosityBlock lb(lbp, moduleDescription_, mcc);
95  lb.setConsumer(this);
96  LuminosityBlock const& cnstLb = lb;
97  this->endLuminosityBlock(cnstLb, c);
98  commit_(lb);
99  }
100 
101  void
104  }
105 
106  void
109  }
110 
111  void
114  }
115 
116  void
117  EDProducer::doPostForkReacquireResources(unsigned int iChildIndex, unsigned int iNumberOfChildren) {
118  postForkReacquireResources(iChildIndex, iNumberOfChildren);
119  }
120 
121  void
124  desc.setUnknown();
125  descriptions.addDefault(desc);
126  }
127 
128  void
130  edmodule_mightGet_config(iConfig);
131  }
132 
133  static const std::string kBaseType("EDProducer");
134 
135  const std::string&
137  return kBaseType;
138  }
139 }
virtual void endJob()
Definition: EDProducer.h:80
virtual void beginRun(Run const &, EventSetup const &)
Definition: EDProducer.h:82
virtual void postForkReacquireResources(unsigned int, unsigned int)
Definition: EDProducer.h:89
void setConsumer(EDConsumerBase const *iConsumer)
static const std::string & baseType()
Definition: EDProducer.cc:136
SharedResourcesAcquirer createAcquirer(std::vector< std::string > const &) const
void doPostForkReacquireResources(unsigned int iChildIndex, unsigned int iNumberOfChildren)
Definition: EDProducer.cc:117
virtual void respondToCloseInputFile(FileBlock const &)
Definition: EDProducer.h:87
void setConsumer(EDConsumerBase const *iConsumer)
Definition: Event.cc:37
virtual void beginJob()
Definition: EDProducer.h:79
ParentageID previousParentageId_
Definition: EDProducer.h:98
void doBeginRun(RunPrincipal &rp, EventSetup const &c, ModuleCallingContext const *mcc)
Definition: EDProducer.cc:62
void doEndRun(RunPrincipal &rp, EventSetup const &c, ModuleCallingContext const *mcc)
Definition: EDProducer.cc:72
std::vector< BranchID > previousParentage_
Definition: EDProducer.h:95
void addDefault(ParameterSetDescription const &psetDescription)
void doBeginJob()
Definition: EDProducer.cc:50
static SharedResourcesRegistry * instance()
virtual void preForkReleaseResources()
Definition: EDProducer.h:88
void edmodule_mightGet_config(ConfigurationDescriptions &iDesc)
void doPreForkReleaseResources()
Definition: EDProducer.cc:112
std::mutex mutex_
Definition: EDProducer.h:97
virtual void endLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Definition: EDProducer.h:85
static void prevalidate(ConfigurationDescriptions &descriptions)
Definition: EDProducer.cc:129
ModuleDescription moduleDescription_
Definition: EDProducer.h:94
bool doEvent(EventPrincipal &ep, EventSetup const &c, ActivityRegistry *act, ModuleCallingContext const *mcc)
Definition: EDProducer.cc:31
void registerSharedResource(const std::string &)
A resource name must be registered before it can be used in the createAcquirer call.
static const std::string kLegacyModuleResourceName
All legacy modules share this resource.
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: EDProducer.cc:122
virtual void endRun(Run const &, EventSetup const &)
Definition: EDProducer.h:83
virtual void beginLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Definition: EDProducer.h:84
static const std::string kBaseType("EDAnalyzer")
void setSharedResourcesAcquirer(SharedResourcesAcquirer *iResourceAcquirer)
Definition: Event.cc:43
void doRespondToOpenInputFile(FileBlock const &fb)
Definition: EDProducer.cc:102
SharedResourcesAcquirer resourceAcquirer_
Definition: EDProducer.h:96
void doEndLuminosityBlock(LuminosityBlockPrincipal &lbp, EventSetup const &c, ModuleCallingContext const *mcc)
Definition: EDProducer.cc:92
void commit_(P &iPrincipal)
Definition: ProducerBase.h:64
void doBeginLuminosityBlock(LuminosityBlockPrincipal &lbp, EventSetup const &c, ModuleCallingContext const *mcc)
Definition: EDProducer.cc:82
virtual void respondToOpenInputFile(FileBlock const &)
Definition: EDProducer.h:86
void setConsumer(EDConsumerBase const *iConsumer)
Definition: Run.h:50
void doRespondToCloseInputFile(FileBlock const &fb)
Definition: EDProducer.cc:107
Definition: Run.h:43
virtual ~EDProducer()
Definition: EDProducer.cc:28
virtual void produce(Event &, EventSetup const &)=0