CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RPCReadOutMapping.h
Go to the documentation of this file.
1 #ifndef RPCReadOutMapping_H
2 #define RPCReadOutMapping_H
3 
9 #include <map>
10 #include <vector>
11 #include <utility>
12 #include <string>
13 #include <boost/cstdint.hpp>
14 
18 class LinkBoardSpec;
19 
20 
22 public:
23 
25  typedef std::pair<uint32_t,int> StripInDetUnit;
26 
27  RPCReadOutMapping(const std::string & version = "");
28  virtual ~RPCReadOutMapping(){}
29 
31  const DccSpec * dcc( int dccId) const;
32 
34  std::pair<int,int> dccNumberRange() const;
35 
37  std::vector<const DccSpec*> dccList() const;
38 
39 
41  void add(const DccSpec & dcc);
42 
44  const std::string & version() const { return theVersion; }
45 
47  virtual const LinkBoardSpec* location (const LinkBoardElectronicIndex & ele) const;
48 
51  const LinkBoardSpec& location, const LinkBoardPackedStrip & packedStrip) const;
52 
54  std::vector< std::pair< LinkBoardElectronicIndex, LinkBoardPackedStrip> >
55  rawDataFrame (const StripInDetUnit & duFrame) const;
56 
57 
58 
59 
60 
61  // TEMPORARY
62  std::vector<const LinkBoardSpec*> getLBforChamber(const std::string & name) const;
63  std::pair<LinkBoardElectronicIndex, int> getRAWSpecForCMSChamberSrip(uint32_t detId,
64  int strip, int dccInputChannel) const;
65 
66 private:
67  typedef std::map<int, DccSpec>::const_iterator IMAP;
68  std::map<int, DccSpec> theFeds;
70 
71 };
72 
73 #endif // RPCReadOutMapping_H
74 
std::vector< const LinkBoardSpec * > getLBforChamber(const std::string &name) const
RPCReadOutMapping(const std::string &version="")
std::pair< uint32_t, int > StripInDetUnit
first member is DetUnit ID, second strip in DetUnit frame
std::vector< const DccSpec * > dccList() const
all FEDs in map
std::map< int, DccSpec >::const_iterator IMAP
unsigned dccId(const DetId &)
virtual ~RPCReadOutMapping()
const std::string & version() const
version as string
std::map< int, DccSpec > theFeds
std::pair< LinkBoardElectronicIndex, int > getRAWSpecForCMSChamberSrip(uint32_t detId, int strip, int dccInputChannel) const
void add(const DccSpec &dcc)
attach FED to map
std::string theVersion
std::pair< int, int > dccNumberRange() const
Range of FED IDs in map (min and max id)
virtual StripInDetUnit detUnitFrame(const LinkBoardSpec &location, const LinkBoardPackedStrip &packedStrip) const
convert strip location as in raw data (LB and LBchannel) to detUnit frame
virtual const LinkBoardSpec * location(const LinkBoardElectronicIndex &ele) const
conversion between electronic and detector indexing
std::vector< std::pair< LinkBoardElectronicIndex, LinkBoardPackedStrip > > rawDataFrame(const StripInDetUnit &duFrame) const
connection &quot;paths&quot; that lead from one digi to one strip
const DccSpec * dcc(int dccId) const
FED identified by ID.