Go to the documentation of this file.00001 #ifndef DTCCBConfig_H
00002 #define DTCCBConfig_H
00003
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
00023 #include "CondFormats/DTObjects/interface/DTBufferTree.h"
00024
00025
00026
00027
00028 #include <string>
00029 #include <vector>
00030 #include <map>
00031
00032
00033
00034
00035
00036 class DTCCBId {
00037
00038 public:
00039
00040 DTCCBId();
00041 ~DTCCBId();
00042
00043 int wheelId;
00044 int stationId;
00045 int sectorId;
00046
00047 };
00048
00049
00050 class DTConfigKey {
00051
00052 public:
00053
00054 DTConfigKey();
00055 ~DTConfigKey();
00056
00057 int confType;
00058 int confKey;
00059
00060 };
00061
00062
00063 class DTCCBConfig {
00064
00065 public:
00066
00069 DTCCBConfig();
00070 DTCCBConfig( const std::string& version );
00071
00074 virtual ~DTCCBConfig();
00075
00078
00079 std::vector<DTConfigKey> fullKey() const;
00080 int stamp() const;
00081 int configKey( int wheelId,
00082 int stationId,
00083 int sectorId,
00084 std::vector<int>& confKey ) const;
00085 int configKey( const DTChamberId& id,
00086 std::vector<int>& confKey ) const;
00087 typedef std::vector< std::pair< DTCCBId,std::vector<int> > > ccb_config_map;
00088 typedef ccb_config_map::const_iterator ccb_config_iterator;
00089 ccb_config_map configKeyMap() const;
00090
00092 const
00093 std::string& version() const;
00094 std::string& version();
00095
00097 void clear();
00098
00099 void setFullKey( std::vector<DTConfigKey> );
00100 void setStamp( int s );
00101
00102 int setConfigKey( int wheelId,
00103 int stationId,
00104 int sectorId,
00105 const std::vector<int>& confKey );
00106 int setConfigKey( const DTChamberId& id,
00107 const std::vector<int>& confKey );
00108
00109 int appendConfigKey( int wheelId,
00110 int stationId,
00111 int sectorId,
00112 const std::vector<int>& confKey );
00113 int appendConfigKey( const DTChamberId& id,
00114 const std::vector<int>& confKey );
00115
00117 typedef std::vector< std::pair<DTCCBId,int> >::const_iterator
00118 const_iterator;
00119 const_iterator begin() const;
00120 const_iterator end() const;
00121
00122 private:
00123
00124 int timeStamp;
00125 std::string dataVersion;
00126 std::vector<DTConfigKey> fullConfigKey;
00127 std::vector< std::pair<DTCCBId,int> > dataList;
00128
00129 DTBufferTree< int,std::vector<int>* >* dBuf;
00130
00132 void cacheMap() const;
00133 void resetMap() const;
00134
00135
00136 };
00137
00138
00139 #endif // DTCCBConfig_H
00140