CMS 3D CMS Logo

RPCReadOutMappingWithFastSearch.h
Go to the documentation of this file.
1 #ifndef RPCReadOutMappingWithFastSearch_H
2 #define RPCReadOutMappingWithFastSearch_H
3 
5 #include <string>
6 #include <map>
7 
9 public:
12 
14  void init(const RPCReadOutMapping * arm);
15 
16  const LinkBoardSpec* location (const LinkBoardElectronicIndex & ele) const override;
17 
19  const LinkBoardSpec& location, const LinkBoardPackedStrip & lbstrip) const override;
20 
21 private:
24 
25  struct lessMap {
26  bool operator()(const LinkBoardElectronicIndex & lb1, const LinkBoardElectronicIndex & lb2) const;
27  };
28 
29  typedef std::map<LinkBoardElectronicIndex, const LinkBoardSpec*, lessMap> LBMap;
30  LBMap theLBMap;
31 };
32 #endif
const LinkBoardSpec * location(const LinkBoardElectronicIndex &ele) const override
conversion between electronic and detector indexing
std::pair< uint32_t, int > StripInDetUnit
first member is DetUnit ID, second strip in DetUnit frame
void init(const RPCReadOutMapping *arm)
takes ownership of map
bool operator()(const LinkBoardElectronicIndex &lb1, const LinkBoardElectronicIndex &lb2) const
std::map< LinkBoardElectronicIndex, const LinkBoardSpec *, lessMap > LBMap
RPCReadOutMapping::StripInDetUnit detUnitFrame(const LinkBoardSpec &location, const LinkBoardPackedStrip &lbstrip) const override
convert strip location as in raw data (LB and LBchannel) to detUnit frame