CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/CondFormats/RPCObjects/interface/RPCReadOutMapping.h

Go to the documentation of this file.
00001 #ifndef RPCReadOutMapping_H
00002 #define RPCReadOutMapping_H
00003 
00009 #include <map>
00010 #include <vector>
00011 #include <utility>
00012 #include <string>
00013 #include <boost/cstdint.hpp>
00014 
00015 #include "CondFormats/RPCObjects/interface/DccSpec.h"
00016 #include "CondFormats/RPCObjects/interface/LinkBoardElectronicIndex.h"
00017 #include "CondFormats/RPCObjects/interface/LinkBoardPackedStrip.h"
00018 class LinkBoardSpec;
00019 
00020 
00021 class RPCReadOutMapping {
00022 public:
00023 
00025   typedef std::pair<uint32_t,int> StripInDetUnit;
00026 
00027   RPCReadOutMapping(const std::string & version = ""); 
00028   virtual ~RPCReadOutMapping(){}
00029 
00031   const DccSpec * dcc( int dccId) const;
00032 
00034   std::pair<int,int> dccNumberRange() const;
00035 
00037   std::vector<const DccSpec*> dccList() const;
00038 
00039 
00041   void add(const DccSpec & dcc);
00042 
00044   const std::string & version() const { return theVersion; }
00045 
00047   virtual const LinkBoardSpec* location (const LinkBoardElectronicIndex & ele) const;  
00048 
00050   virtual StripInDetUnit detUnitFrame(
00051       const LinkBoardSpec& location, const LinkBoardPackedStrip & packedStrip) const;
00052 
00054   std::vector< std::pair< LinkBoardElectronicIndex, LinkBoardPackedStrip> >
00055        rawDataFrame (const StripInDetUnit & duFrame) const;
00056   
00057 
00058 
00059 
00060 
00061   // TEMPORARY
00062   std::vector<const LinkBoardSpec*> getLBforChamber(const std::string & name) const;
00063   std::pair<LinkBoardElectronicIndex, int> getRAWSpecForCMSChamberSrip(uint32_t  detId, 
00064                             int strip,  int dccInputChannel) const;
00065 
00066 private:
00067    typedef std::map<int, DccSpec>::const_iterator IMAP;
00068    std::map<int, DccSpec> theFeds;
00069    std::string theVersion;
00070   
00071 };
00072 
00073 #endif // RPCReadOutMapping_H
00074