CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TriggerResultInserter.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_TriggerResultsInserter_h
2 #define FWCore_Framework_TriggerResultsInserter_h
3 
4 /*
5  Author: Jim Kowalkowski 15-1-06
6 
7  This is an unusual module in that it is always present in the
8  schedule and it is not configurable.
9  The ownership of the bitmask is shared with the scheduler
10  Its purpose is to create a TriggerResults instance and insert it into
11  the event.
12 
13 */
14 
15 #include <vector>
16 
20 
21 #include <memory>
22 
23 namespace edm
24 {
25  class ParameterSet;
26  class Event;
27  class EventSetup;
28  class HLTGlobalStatus;
29 
31  {
32  public:
33 
34  typedef std::shared_ptr<HLTGlobalStatus> TrigResPtr;
35 
36  // standard constructor not supported for this module
37  explicit TriggerResultInserter(edm::ParameterSet const& ps);
38 
39  // the pset needed here is the one that defines the trigger path names
40  TriggerResultInserter(edm::ParameterSet const& ps, unsigned int iNStreams);
41 
42  void setTrigResultForStream(unsigned int iStreamIndex,
43  const TrigResPtr& trptr);
44  void produce(StreamID id, edm::Event& e, edm::EventSetup const& c) const override final;
45 
46  private:
47  std::vector<edm::propagate_const<TrigResPtr>> resultsPerStream_;
48 
50  };
51 }
52 #endif
std::shared_ptr< HLTGlobalStatus > TrigResPtr
TriggerResultInserter(edm::ParameterSet const &ps)
void setTrigResultForStream(unsigned int iStreamIndex, const TrigResPtr &trptr)
void produce(StreamID id, edm::Event &e, edm::EventSetup const &c) const overridefinal
std::vector< edm::propagate_const< TrigResPtr > > resultsPerStream_