CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GtVmeWriterCore.h
Go to the documentation of this file.
1 #ifndef L1GtConfigProducers_L1GtVmeWriterCore_h
2 #define L1GtConfigProducers_L1GtVmeWriterCore_h
3 
22 // system include files
23 #include <string>
24 #include <vector>
25 
26 // user include files
29 
32 
33 // forward declarations
34 
35 // class declaration
37 {
38 
39 public:
40 
42  L1GtVmeWriterCore(const std::string& outputDir,
43  const std::string& vmeXmlFile);
44 
46  virtual ~L1GtVmeWriterCore();
47 
48  void writeVME(const std::vector<ConditionMap> &conditionMap,
49  std::map<std::string,int> cond2intMap, L1GtVhdlTemplateFile header, const int spacesPerLevel=2);
50 
52  std::string openTag(const std::string &tag);
53 
55  std::string closeTag(const std::string &tag);
56 
58  std::string spaces(const unsigned int &level);
59 
61  std::string vmeAddrValueBlock(const std::string &addr, const int &val,
62  const int &spaceLevel, const bool setMsb=false);
63 
66  int condIndex2reg(const unsigned int &index);
67 
69  std::string calculateAddress(const L1GtObject &obj,
70  const L1GtConditionType &type, const std::string &reg,
71  const int &index);
72 
74  std::string calculateJetsAddress(const int &countIndex, const int &obj,
75  const int &index);
76 
77 private:
78 
80  std::string m_outputDir;
81 
83  std::string m_vmeXmlFile;
84 
85  std::map<L1GtObject,int> object2reg_;
86 
87  std::map<L1GtConditionType,int> type2reg_;
88 
89  std::map<std::string,int> reg2hex_;
90 
91  std::map<int,int> jetType2reg_;
92 
93  std::map<int,int> jetObj2reg_;
94 
96 
97 };
98 
99 #endif /*L1GtConfigProducers_L1GtVmeWriterCore_h*/
type
Definition: HCALResponse.h:22
std::map< L1GtConditionType, int > type2reg_
std::string m_outputDir
output directory
L1GtVmeWriterCore(const std::string &outputDir, const std::string &vmeXmlFile)
constructor
virtual ~L1GtVmeWriterCore()
destructor
L1GtConditionType
std::map< int, int > jetObj2reg_
void writeVME(const std::vector< ConditionMap > &conditionMap, std::map< std::string, int > cond2intMap, 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
std::map< L1GtObject, int > object2reg_
int condIndex2reg(const unsigned int &index)
tuple level
Definition: testEve_cfg.py:34
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