CMS 3D CMS Logo

L1GtVmeWriterCore.h
Go to the documentation of this file.
1 #ifndef L1GtConfigProducers_L1GtVmeWriterCore_h
2 #define L1GtConfigProducers_L1GtVmeWriterCore_h
3 
20 // system include files
21 #include <string>
22 #include <vector>
23 
24 // user include files
27 
30 
31 // forward declarations
32 
33 // class declaration
35 {
36 
37 public:
38 
41  const std::string& vmeXmlFile);
42 
44  ~L1GtVmeWriterCore() override;
45 
46  void writeVME(const std::vector<ConditionMap> &conditionMap,
47  const std::map<std::string,int>& cond2intMap, const L1GtVhdlTemplateFile& header, const int spacesPerLevel=2);
48 
51 
53  std::string closeTag(const std::string &tag);
54 
56  std::string spaces(const unsigned int &level);
57 
59  std::string vmeAddrValueBlock(const std::string &addr, const int &val,
60  const int &spaceLevel, const bool setMsb=false);
61 
64  int condIndex2reg(const unsigned int &index);
65 
68  const L1GtConditionType &type, const std::string &reg,
69  const int &index);
70 
72  std::string calculateJetsAddress(const int &countIndex, const int &obj,
73  const int &index);
74 
75 private:
76 
79 
82 
83  std::map<L1GtObject,int> object2reg_;
84 
85  std::map<L1GtConditionType,int> type2reg_;
86 
87  std::map<std::string,int> reg2hex_;
88 
89  std::map<int,int> jetType2reg_;
90 
91  std::map<int,int> jetObj2reg_;
92 
94 
95 };
96 
97 #endif /*L1GtConfigProducers_L1GtVmeWriterCore_h*/
type
Definition: HCALResponse.h:21
std::map< L1GtConditionType, int > type2reg_
std::string m_outputDir
output directory
L1GtVmeWriterCore(const std::string &outputDir, const std::string &vmeXmlFile)
constructor
L1GtConditionType
std::map< int, int > jetObj2reg_
void writeVME(const std::vector< ConditionMap > &conditionMap, const std::map< std::string, int > &cond2intMap, const L1GtVhdlTemplateFile &header, const int spacesPerLevel=2)
std::string m_vmeXmlFile
output file
std::string closeTag(const std::string &tag)
closes xml tag
std::string calculateJetsAddress(const int &countIndex, const int &obj, const int &index)
calculates addresses for jets counts
std::map< int, int > jetType2reg_
std::string openTag(const std::string &tag)
opens a new xml tag
std::map< std::string, int > reg2hex_
std::string spaces(const unsigned int &level)
returns a string containing spaces dependant on level
~L1GtVmeWriterCore() override
destructor
std::map< L1GtObject, int > object2reg_
int condIndex2reg(const unsigned int &index)
std::string vmeAddrValueBlock(const std::string &addr, const int &val, const int &spaceLevel, const bool setMsb=false)
builds a address value block
std::string calculateAddress(const L1GtObject &obj, const L1GtConditionType &type, const std::string &reg, const int &index)
calculates address