Go to the documentation of this file.00001 #ifndef L1GtConfigProducers_L1GtVhdlDefinitions_h
00002 #define L1GtConfigProducers_L1GtVhdlDefinitions_h
00003
00020
00021 #include <string>
00022
00023
00024 #include "CondFormats/L1TObjects/interface/L1GtFwd.h"
00025 #include "CondFormats/L1TObjects/interface/L1GtTriggerMenuFwd.h"
00026
00027
00028
00029
00030 class L1GtVhdlDefinitions
00031 {
00032
00033 public:
00034
00035 enum VmeRegister {RegPtHighThreshold, RegPtLowThreshold, RegQualityRange, RegChargeCorrelation, RegEtThreshold};
00036
00038 L1GtVhdlDefinitions();
00039
00041 virtual ~L1GtVhdlDefinitions();
00042
00044 std::string obj2str(const L1GtObject &type);
00045
00047 std::string type2str(const L1GtConditionType &type);
00048
00049 const std::map<L1GtObject,std::string> getObj2StrMap();
00050
00051 const std::map<L1GtConditionType,std::string> getCond2StrMap();
00052
00053 const std::map<L1GtObject,std::string> getCalo2IntMap();
00054
00055 protected:
00056
00057
00058
00059 static const std::string vhdlTemplateAlgoAndOr_;
00060 static const std::string vhdlTemplateCondChip_;
00061 static const std::string vhdlTemplateDefValPkg_;
00062 static const std::string vhdlTemplateEtmSetup_;
00063 static const std::string vhdlTemplateMuonSetup_;
00064 static const std::string vhdlTemplateCaloSetup_;
00065 static const std::string vhdlTemplateCondChipPkg1_;
00066 static const std::string vhdlTemplateCondChipPkg2_;
00067 static const std::string quartusSetupFileChip1_;
00068 static const std::string quartusSetupFileChip2_;
00069
00070
00071
00072 static const std::string outputSubDir1_;
00073 static const std::string outputSubDir2_;
00074
00075
00076
00077
00078
00079
00080
00081
00082 static const std::string substParamAlgos_;
00083 static const std::string substParamParticle_;
00084 static const std::string substParamType_;
00085 static const std::string substParamMaxNr_;
00086 static const std::string substParamDefValId_;
00087 static const std::string substParamCaloOrMuon_;
00088 static const std::string substParamContent_;
00089 static const std::string substParamOthers_;
00090 static const std::string substParamDefValType_;
00091 static const std::string substParamMuonDefVals_;
00092 static const std::string substParamCaloDefVals_;
00093 static const std::string substParamEsumsDefVals_;
00094 static const std::string substParamJetsDefVals_;
00095 static const std::string substParamCharge_;
00096 static const std::string substParamJetCntsCommon_;
00097
00098
00099
00100
00101 static const std::string stringConstantAlgo_;
00102 static const std::string stringConstantDefValId_;
00103 static const std::string stringConstantJetCountsDefVal_;
00104 static const std::string stringConstantConstantNr_;
00105 static const std::string stringConstantEsumsLowDefVal_;
00106 static const std::string stringConstantEsumsLHighDefVal_;
00107 static const std::string stringConstantPtLowDefVal_;
00108 static const std::string stringConstantPtHighDefVal_;
00109 static const std::string stringConstantQualityDefVal_;
00110 static const std::string stringConstantQuargeDefVal_;
00111 static const std::string stringConstantCalo_;
00112 static const std::string stringConstantCharge1s_;
00113 static const std::string stringConstantCharge2s_;
00114 static const std::string stringConstantCharge2wsc_;
00115 static const std::string stringConstantCharge3s_;
00116 static const std::string stringConstantCharge4s_;
00117 static const std::string stringConstantCommon_;
00118 static const std::string stringConstantPtl_;
00119 static const std::string stringConstantPth_;
00120 static const std::string stringConstantEsumsLow_;
00121 static const std::string stringConstantEsumsHigh_;
00122 static const std::string stringConstantQuality_;
00123
00124
00125
00126
00127 private:
00128
00130 std::map<L1GtObject,std::string> objType2Str_;
00131
00133 std::map<L1GtConditionType,std::string> condType2Str_;
00134
00136 std::map<L1GtObject,std::string> caloType2Int_;
00137
00138 };
00139
00140 #endif
00141