CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/L1TriggerConfig/L1GtConfigProducers/interface/L1GtVhdlWriterBitManager.h

Go to the documentation of this file.
00001 #ifndef L1GtConfigProducers_L1GtVhdlWriterBitManager_h
00002 #define L1GtConfigProducers_L1GtVhdlWriterBitManager_h
00003 
00021 #include "L1GtVhdlTemplateFile.h"
00022 
00023 // system include files
00024 
00025 #include <iostream>
00026 #include <fstream>
00027 #include <map>
00028 #include <string>
00029 #include <vector>
00030 
00031 #include "CondFormats/L1TObjects/interface/L1GtCaloTemplate.h"
00032 #include "CondFormats/L1TObjects/interface/L1GtMuonTemplate.h"
00033 #include "CondFormats/L1TObjects/interface/L1GtEnergySumTemplate.h"
00034 
00035 class L1GtVhdlWriterBitManager
00036 {
00037     private:
00038         std::map<std::string, std::string> hex2binMap_ ;
00039 
00040     public:
00041         L1GtVhdlWriterBitManager();
00042         std::string bin2hex(std::string binString);
00043         std::string hex2bin(std::string hexString);
00044         std::string capitalLetters(std::string hexString);
00045         std::string mirror(unsigned int offset, std::string hexString, bool hexOutput = true);
00046         std::string readMapInverse(const std::map<std::string,std::string>& map,std::string value);
00047         std::string shiftLeft(std::string hexString);
00048         std::string buildEtaMuon(const std::vector<L1GtMuonTemplate::ObjectParameter>* op, const unsigned int &num, const unsigned int &counter);
00049         std::string buildEtaCalo(const std::vector<L1GtCaloTemplate::ObjectParameter>* op, const unsigned int &num, const unsigned int &counter);
00051         std::string buildPhiMuon(const std::vector<L1GtMuonTemplate::ObjectParameter>* op, const unsigned int &num, const unsigned int &counter, bool high);
00052         std::string buildPhiCalo(const std::vector<L1GtCaloTemplate::ObjectParameter>* op, const unsigned int &num, const unsigned int &counter);
00053         std::string buildPhiEnergySum(const std::vector<L1GtEnergySumTemplate::ObjectParameter>* op, const unsigned int &num, const unsigned int &counter);
00054         std::string buildDeltaEtaMuon(const L1GtMuonTemplate::CorrelationParameter* &cp,const unsigned int &counter);
00055         std::string buildDeltaEtaCalo(const L1GtCaloTemplate::CorrelationParameter* &cp,const unsigned int &counter);
00056         std::string buildDeltaPhiMuon(const L1GtMuonTemplate::CorrelationParameter* &cp,const unsigned int &counter);
00057         std::string buildDeltaPhiCalo(const L1GtCaloTemplate::CorrelationParameter* &cp,const unsigned int &counter);
00058 
00059 };
00060 #endif                                            /*L1GtConfigProducers_L1GtVhdlWriterBitManager_h*/