Go to the documentation of this file.00001
00002
00014
00015
00016 #ifndef DT_CONFIG_MANAGER_H
00017 #define DT_CONFIG_MANAGER_H
00018
00019
00020
00021
00022 #include <map>
00023
00024
00025
00026
00027 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfigBti.h"
00028 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfigTraco.h"
00029 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfigTSTheta.h"
00030 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfigTSPhi.h"
00031 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfigTrigUnit.h"
00032 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfigSectColl.h"
00033 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfigLUTs.h"
00034 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
00035 #include "DataFormats/MuonDetId/interface/DTBtiId.h"
00036 #include "DataFormats/MuonDetId/interface/DTTracoId.h"
00037 #include "DataFormats/MuonDetId/interface/DTSectCollId.h"
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048 class DTConfigManager {
00049
00050 public:
00051
00052 typedef std::map<DTBtiId,DTConfigBti> innerBtiMap;
00053 typedef std::map<DTTracoId,DTConfigTraco> innerTracoMap;
00054 typedef std::map<DTChamberId,innerBtiMap> BtiMap;
00055 typedef std::map<DTChamberId,innerTracoMap> TracoMap;
00056 typedef std::map<DTChamberId,DTConfigTSTheta> TSThetaMap;
00057 typedef std::map<DTChamberId,DTConfigTSPhi> TSPhiMap;
00058 typedef std::map<DTChamberId,DTConfigTrigUnit> TrigUnitMap;
00059 typedef std::map<DTChamberId,DTConfigLUTs> LUTMap;
00060 typedef std::map<DTSectCollId,DTConfigSectColl> SectCollMap;
00061
00062 public:
00063
00065 DTConfigManager();
00066
00068 ~DTConfigManager();
00069
00071 DTConfigBti* getDTConfigBti(DTBtiId) const;
00072
00074 const std::map<DTBtiId,DTConfigBti>& getDTConfigBtiMap(DTChamberId) const;
00075
00077 DTConfigTraco* getDTConfigTraco(DTTracoId) const;
00078
00080 const std::map<DTTracoId,DTConfigTraco>& getDTConfigTracoMap(DTChamberId) const;
00081
00083 DTConfigTSTheta* getDTConfigTSTheta(DTChamberId) const;
00084
00086 DTConfigTSPhi* getDTConfigTSPhi(DTChamberId) const;
00087
00089 DTConfigTrigUnit* getDTConfigTrigUnit(DTChamberId) const;
00090
00092 DTConfigLUTs* getDTConfigLUTs(DTChamberId) const;
00093
00095 DTConfigSectColl* getDTConfigSectColl(DTSectCollId) const;
00096
00098 void setDTConfigBti(DTBtiId,DTConfigBti);
00099
00101 void setDTConfigTraco(DTTracoId,DTConfigTraco);
00102
00104 inline void setDTConfigTSTheta(DTChamberId chambid ,DTConfigTSTheta conf) { my_tsthetamap[chambid] = conf; };
00105
00107 inline void setDTConfigTSPhi(DTChamberId chambid,DTConfigTSPhi conf) { my_tsphimap[chambid] = conf; };
00108
00110 void setDTConfigTrigUnit(DTChamberId chambid,DTConfigTrigUnit conf) { my_trigunitmap[chambid] = conf; };
00111
00113 void setDTConfigLUTs(DTChamberId chambid,DTConfigLUTs conf) { my_lutmap[chambid] = conf; };
00114
00116 void setDTConfigSectColl(DTSectCollId sectcollid ,DTConfigSectColl conf){ my_sectcollmap[sectcollid] = conf; };
00117
00119 inline bool getDTTPGDebug() const { return my_dttpgdebug; };
00120
00122 inline void setDTTPGDebug(bool debug) { my_dttpgdebug = debug; };
00123
00125 int getBXOffset() const;
00126
00128 inline bool lutFromDB() const { return m_lutfromdb; }
00129
00131 inline bool useAcceptParam() const { return m_acceptparam; }
00132
00134 inline void setLutFromDB(bool lutFromDB) { m_lutfromdb = lutFromDB; }
00135
00137 inline void setUseAcceptParam(bool acceptparam) { m_acceptparam = acceptparam; }
00138
00140 void dumpLUTParam(DTChamberId &chambid) const;
00141
00142 private:
00143
00144
00145
00146 BtiMap my_btimap;
00147 TracoMap my_tracomap;
00148 TSThetaMap my_tsthetamap;
00149 TSPhiMap my_tsphimap;
00150 TrigUnitMap my_trigunitmap;
00151 LUTMap my_lutmap;
00152 SectCollMap my_sectcollmap;
00153
00154 int my_bxoffset;
00155 bool my_dttpgdebug;
00156
00157 bool m_lutfromdb;
00158 bool m_acceptparam;
00159 };
00160
00161 #endif