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 
10 
11 #include <map>
12 #include <vector>
13 #include <utility>
14 #include <string>
15 #include <boost/cstdint.hpp>
16 
20 class LinkBoardSpec;
21 
22 
24 public:
25 
27  typedef std::pair<uint32_t,int> StripInDetUnit;
28 
29  RPCReadOutMapping(const std::string & version = "");
30  virtual ~RPCReadOutMapping(){}
31 
33  const DccSpec * dcc( int dccId) const;
34 
36  std::pair<int,int> dccNumberRange() const;
37 
39  std::vector<const DccSpec*> dccList() const;
40 
41 
43  void add(const DccSpec & dcc);
44 
46  const std::string & version() const { return theVersion; }
47 
49  virtual const LinkBoardSpec* location (const LinkBoardElectronicIndex & ele) const;
50 
53  const LinkBoardSpec& location, const LinkBoardPackedStrip & packedStrip) const;
54 
56  std::vector< std::pair< LinkBoardElectronicIndex, LinkBoardPackedStrip> >
57  rawDataFrame (const StripInDetUnit & duFrame) const;
58 
59 
60 
61 
62 
63  // TEMPORARY
64  std::vector<const LinkBoardSpec*> getLBforChamber(const std::string & name) const;
65  std::pair<LinkBoardElectronicIndex, int> getRAWSpecForCMSChamberSrip(uint32_t detId,
66  int strip, int dccInputChannel) const;
67 
68 private:
69  typedef std::map<int, DccSpec>::const_iterator IMAP;
70  std::map<int, DccSpec> theFeds;
72 
73 
75 };
76 
77 #endif // RPCReadOutMapping_H
78 
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
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
#define COND_SERIALIZABLE
Definition: Serializable.h:37
const DccSpec * dcc(int dccId) const
FED identified by ID.
unsigned dccId(DetId const &)