CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/EventFilter/RPCRawToDigi/plugins/RPCReadOutMappingWithFastSearch.h

Go to the documentation of this file.
00001 #ifndef RPCReadOutMappingWithFastSearch_H
00002 #define RPCReadOutMappingWithFastSearch_H
00003 
00004 #include "CondFormats/RPCObjects/interface/RPCReadOutMapping.h"
00005 #include <string>
00006 #include <map>
00007 
00008 class RPCReadOutMappingWithFastSearch : public RPCReadOutMapping {
00009 public:
00010   RPCReadOutMappingWithFastSearch();
00011   virtual ~RPCReadOutMappingWithFastSearch(){} 
00012 
00014   void init(const RPCReadOutMapping * arm);
00015 
00016   virtual const LinkBoardSpec* location (const LinkBoardElectronicIndex & ele) const;
00017 
00018   virtual RPCReadOutMapping::StripInDetUnit detUnitFrame(
00019       const LinkBoardSpec& location, const LinkBoardPackedStrip & lbstrip) const;
00020 
00021 private:
00022   std::string theVersion;
00023   const RPCReadOutMapping * theMapping;
00024 
00025   struct lessMap {
00026      bool operator()(const LinkBoardElectronicIndex & lb1, const LinkBoardElectronicIndex & lb2) const;
00027   };
00028 
00029   typedef std::map<LinkBoardElectronicIndex, const LinkBoardSpec*, lessMap> LBMap;
00030   LBMap theLBMap;
00031 };
00032 #endif