CMS 3D CMS Logo

L1GtPatternWriter.h
Go to the documentation of this file.
1 #ifndef GlobalTriggerAnalyzer_L1GtPatternWriter_h
2 #define GlobalTriggerAnalyzer_L1GtPatternWriter_h
3 
18 #include <iosfwd>
19 #include <string>
20 #include <vector>
21 #include <boost/cstdint.hpp>
22 
23 class L1GtPatternMap;
24 class L1GtPatternLine;
25 
29 public:
41  L1GtPatternWriter(std::ostream& destination, const std::string& header,
42  const std::string& footer, const std::vector<std::string>& columns,
43  const std::vector<boost::uint32_t>& lengths,
44  const std::vector<boost::uint32_t>& defaultValues,
45  const std::vector<int>& bx,
46  bool debug = false);
47 
50 
52  virtual void writePatternLine(const L1GtPatternLine& line);
53 
55  void close();
56 
57  virtual ~L1GtPatternWriter();
58 protected:
61  static boost::uint32_t mask(boost::uint32_t length);
62 
63 
64 private:
65  std::ostream& m_dest;
68  std::vector<std::string> m_columns;
69  std::vector<boost::uint32_t> m_lengths;
70  std::vector<boost::uint32_t> m_defaults;
71  std::vector<int> m_bx;
72  bool m_debug;
73 
74  boost::uint32_t m_lineNo;
75 };
76 
77 
78 #endif /*GlobalTriggerAnalyzer_L1GtPatternWriter_h*/
void writePatterns(const L1GtPatternMap &patterns)
boost::uint32_t m_lineNo
std::vector< boost::uint32_t > m_defaults
std::vector< boost::uint32_t > m_lengths
static boost::uint32_t mask(boost::uint32_t length)
const PhiMemoryImage patterns[9]
L1GtPatternWriter(std::ostream &destination, const std::string &header, const std::string &footer, const std::vector< std::string > &columns, const std::vector< boost::uint32_t > &lengths, const std::vector< boost::uint32_t > &defaultValues, const std::vector< int > &bx, bool debug=false)
std::ostream & m_dest
std::vector< std::string > m_columns
#define debug
Definition: HDRShower.cc:19
virtual void writePatternLine(const L1GtPatternLine &line)
std::vector< int > m_bx