CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
InitMsgCollection.h
Go to the documentation of this file.
1 // $Id: InitMsgCollection.h,v 1.15 2012/04/20 10:48:18 mommsen Exp $
3 
4 #ifndef EventFilter_StorageManager_InitMsgCollection_h
5 #define EventFilter_StorageManager_InitMsgCollection_h
6 
8 
9 #include "boost/shared_ptr.hpp"
10 #include "boost/thread/thread.hpp"
11 #include <map>
12 #include <set>
13 #include <string>
14 #include <utility>
15 #include <vector>
16 
17 namespace stor
18 {
19 
20  class I2OChain;
21 
32  typedef std::vector<unsigned char> InitMsgBuffer;
33  typedef boost::shared_ptr<InitMsgBuffer> InitMsgSharedPtr;
34 
36  {
37 
38  public:
39 
44 
49 
65  bool addIfUnique(InitMsgView const& initMsgView);
66 
86  bool addIfUnique(I2OChain const&, InitMsgSharedPtr&);
87 
98  InitMsgSharedPtr getElementForOutputModuleId(const uint32_t&) const;
99 
120 
128  InitMsgSharedPtr getElementAt(const unsigned int index) const;
129 
133  void clear();
134 
140  size_t size() const;
141 
148 
155  std::string getOutputModuleName(const uint32_t outputModuleId) const;
156 
167  static std::string stringsToText(Strings const& list,
168  unsigned int maxCount = 0);
169 
170  private:
171 
172  void checkOutputModuleLabel(InitMsgView const&) const;
173 
174  typedef std::map<uint32_t,InitMsgSharedPtr> InitMsgMap;
177  };
178 
179  typedef boost::shared_ptr<InitMsgCollection> InitMsgCollectionPtr;
180 
181 } //namespace stor
182 
183 #endif // EventFilter_StorageManager_InitMsgCollection_h
184 
185 
std::vector< unsigned char > InitMsgBuffer
InitMsgSharedPtr getElementAt(const unsigned int index) const
static boost::mutex mutex
Definition: LHEProxy.cc:11
std::vector< std::string > Strings
Definition: MsgTools.h:18
InitMsgSharedPtr getElementForOutputModuleId(const uint32_t &) const
boost::shared_ptr< InitMsgBuffer > InitMsgSharedPtr
std::string getOutputModuleName(const uint32_t outputModuleId) const
void checkOutputModuleLabel(InitMsgView const &) const
boost::shared_ptr< InitMsgCollection > InitMsgCollectionPtr
InitMsgSharedPtr getElementForOutputModuleLabel(const std::string &) const
std::string getSelectionHelpString() const
bool addIfUnique(InitMsgView const &initMsgView)
std::map< uint32_t, InitMsgSharedPtr > InitMsgMap
static std::string stringsToText(Strings const &list, unsigned int maxCount=0)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run