CMS 3D CMS Logo

DTReadOutMapping.h

Go to the documentation of this file.
00001 #ifndef DTReadOutMapping_H
00002 #define DTReadOutMapping_H
00003 
00014 //----------------------
00015 // Base Class Headers --
00016 //----------------------
00017 
00018 
00019 //------------------------------------
00020 // Collaborating Class Declarations --
00021 //------------------------------------
00022 #include "DataFormats/MuonDetId/interface/DTWireId.h"
00023 
00024 //---------------
00025 // C++ Headers --
00026 //---------------
00027 #include <vector>
00028 #include <string>
00029 
00030 //              ---------------------
00031 //              -- Class Interface --
00032 //              ---------------------
00033 
00034 class DTReadOutGeometryLink {
00035 
00036  public:
00037 
00038   DTReadOutGeometryLink();
00039   ~DTReadOutGeometryLink();
00040 
00041   int     dduId;
00042   int     rosId;
00043   int     robId;
00044   int     tdcId;
00045   int channelId;
00046   int   wheelId;
00047   int stationId;
00048   int  sectorId;
00049   int      slId;
00050   int   layerId;
00051   int    cellId;
00052 
00053 };
00054 
00055 
00056 class DTReadOutMapping {
00057 
00058  public:
00059 
00062   DTReadOutMapping();
00063   DTReadOutMapping( const std::string& cell_map_version,
00064                     const std::string&  rob_map_version );
00065 
00068   ~DTReadOutMapping();
00069 
00072 
00073   int readOutToGeometry( int      dduId,
00074                          int      rosId,
00075                          int      robId,
00076                          int      tdcId,
00077                          int  channelId,
00078                          DTWireId& wireId ) const;
00079 
00080   int readOutToGeometry( int      dduId,
00081                          int      rosId,
00082                          int      robId,
00083                          int      tdcId,
00084                          int  channelId,
00085                          int&   wheelId,
00086                          int& stationId,
00087                          int&  sectorId,
00088                          int&      slId,
00089                          int&   layerId,
00090                          int&    cellId ) const;
00091 
00092   int geometryToReadOut( int    wheelId,
00093                          int  stationId,
00094                          int   sectorId,
00095                          int       slId,
00096                          int    layerId,
00097                          int     cellId,
00098                          int&     dduId,
00099                          int&     rosId,
00100                          int&     robId,
00101                          int&     tdcId,
00102                          int& channelId ) const;
00103   int geometryToReadOut( const DTWireId& wireId,
00104                          int&     dduId,
00105                          int&     rosId,
00106                          int&     robId,
00107                          int&     tdcId,
00108                          int& channelId ) const;
00109 
00111   const
00112   std::string& mapCellTdc() const;
00113   std::string& mapCellTdc();
00114   const
00115   std::string& mapRobRos() const;
00116   std::string& mapRobRos();
00117 
00119   void clear();
00120 
00122   int insertReadOutGeometryLink( int     dduId,
00123                                  int     rosId,
00124                                  int     robId,
00125                                  int     tdcId,
00126                                  int channelId,
00127                                  int   wheelId,
00128                                  int stationId,
00129                                  int  sectorId,
00130                                  int      slId,
00131                                  int   layerId,
00132                                  int    cellId );
00133 
00135   typedef std::vector<DTReadOutGeometryLink>::const_iterator const_iterator;
00136   const_iterator begin() const;
00137   const_iterator end() const;
00138 
00139  private:
00140 
00141  public:
00142   std::string cellMapVersion;
00143   std::string  robMapVersion;
00144 
00145   std::vector<DTReadOutGeometryLink> readOutChannelDriftTubeMap;
00146 
00148   void cacheMap() const;
00149   std::string mapNameRG() const;
00150   std::string mapNameGR() const;
00151 
00152 };
00153 
00154 
00155 #endif // DTReadOutMapping_H
00156 

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