Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:01

0001 #ifndef GlobalTriggerAnalyzer_L1GtPatternMap_h
0002 #define GlobalTriggerAnalyzer_L1GtPatternMap_h
0003 
0004 /**
0005  * \class L1GtPatternMap
0006  * 
0007  * 
0008  * Description: A class to map events to their proper pattern file lines
0009  *
0010  * Implementation:
0011  *    <TODO: enter implementation details>
0012  *   
0013  * \author: Thomas Themel - HEPHY Vienna
0014  * 
0015  *
0016  */
0017 
0018 #include "L1Trigger/GlobalTriggerAnalyzer/interface/L1GtPatternLine.h"
0019 
0020 /** The purpose of the L1GtPatternMap is to split input into pattern file lines
0021     identified by event/bunch crossing number. */
0022 class L1GtPatternMap {
0023 public:
0024   /** Returns the pattern line for a certain event/bx combination,
0025      creating it if neccessary. */
0026   L1GtPatternLine& getLine(int eventNr, int bxNr);
0027 
0028   typedef std::map<std::pair<int, int>, L1GtPatternLine> LineMap;
0029 
0030   /** Export iteration support. */
0031   LineMap::const_iterator begin() const;
0032   LineMap::const_iterator end() const;
0033 
0034   /** Export iteration support. */
0035   LineMap::iterator begin();
0036   LineMap::iterator end();
0037 
0038   /** Debug dump. */
0039   void print(std::ostream& out) const;
0040 
0041 private:
0042   LineMap m_lines;
0043 };
0044 
0045 #endif /*GlobalTriggerAnalyzer_L1GtPatternMap_h*/