CMS 3D CMS Logo

DTCCBConfig.h

Go to the documentation of this file.
00001 #ifndef DTCCBConfig_H
00002 #define DTCCBConfig_H
00003 
00014 //----------------------
00015 // Base Class Headers --
00016 //----------------------
00017 
00018 
00019 //------------------------------------
00020 // Collaborating Class Declarations --
00021 //------------------------------------
00022 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
00023 
00024 //---------------
00025 // C++ Headers --
00026 //---------------
00027 #include <string>
00028 #include <vector>
00029 #include <map>
00030 
00031 //              ---------------------
00032 //              -- Class Interface --
00033 //              ---------------------
00034 
00035 class DTCCBId {
00036 
00037  public:
00038 
00039   DTCCBId();
00040   ~DTCCBId();
00041 
00042   int   wheelId;
00043   int stationId;
00044   int  sectorId;
00045 
00046 };
00047 
00048 
00049 class DTCCBConfig {
00050 
00051  public:
00052 
00055   DTCCBConfig();
00056   DTCCBConfig( const std::string& version );
00057 
00060   virtual ~DTCCBConfig();
00061 
00064 
00065   int fullKey() const;
00066   int stamp() const;
00067   int configKey( int   wheelId,
00068                  int stationId,
00069                  int  sectorId,
00070                  std::vector<int>& confKey ) const;
00071   int configKey( const DTChamberId& id,
00072                  std::vector<int>& confKey ) const;
00073   typedef std::vector< std::pair< DTCCBId,std::vector<int> > > ccb_config_map;
00074   typedef ccb_config_map::const_iterator ccb_config_iterator;
00075   ccb_config_map configKeyMap() const;
00076 
00078   const
00079   std::string& version() const;
00080   std::string& version();
00081 
00083   void clear();
00084 
00085   void setFullKey( int key );
00086   void setStamp( int s );
00087 
00088   int setConfigKey( int   wheelId,
00089                     int stationId,
00090                     int  sectorId,
00091                     const std::vector<int>& confKey );
00092   int setConfigKey( const DTChamberId& id,
00093                     const std::vector<int>& confKey );
00094 
00096   typedef std::vector< std::pair<DTCCBId,int> >::const_iterator
00097                                                  const_iterator;
00098   const_iterator begin() const;
00099   const_iterator end() const;
00100 
00101  private:
00102 
00103   int timeStamp;
00104   std::string dataVersion;
00105   int fullConfigKey;
00106   std::vector< std::pair<DTCCBId,int> > dataList;
00107 
00109   void cacheMap() const;
00110   void resetMap() const;
00111   std::string mapName() const;
00112 
00113 };
00114 
00115 
00116 #endif // DTCCBConfig_H
00117 

Generated on Tue Jun 9 17:26:25 2009 for CMSSW by  doxygen 1.5.4