00001 #ifndef CondFormatsRPCObjectsFebConnectorSpec_H 00002 #define CondFormatsRPCObjectsFebConnectorSpec_H 00003 00004 #include <vector> 00005 #include "DataFormats/DetId/interface/DetId.h" 00006 #include "CondFormats/RPCObjects/interface/ChamberStripSpec.h" 00007 #include "CondFormats/RPCObjects/interface/ChamberLocationSpec.h" 00008 #include "CondFormats/RPCObjects/interface/FebLocationSpec.h" 00009 #include <string> 00010 00021 class FebConnectorSpec { 00022 public: 00023 FebConnectorSpec(int num =-1) : theLinkBoardInputNum(num), theRawId(0) { } 00024 FebConnectorSpec(int num, const ChamberLocationSpec & chamber, const FebLocationSpec & feb); 00025 00027 int linkBoardInputNum() const { return theLinkBoardInputNum; } 00028 00030 void addStrips(int algo) { 00031 theAlgo = algo; 00032 } 00033 00035 const ChamberStripSpec strip(int pinNumber) const; 00036 00038 const uint32_t & rawId() const; 00039 00040 const ChamberLocationSpec & chamber() const { return theChamber; } 00041 const FebLocationSpec & feb() const { return theFeb; } 00042 00043 const int nstrips() const { return theAlgo/10000; } 00044 00045 const int chamberStripNum(int istrip) const; 00046 00047 const int cmsStripNum(int istrip) const { return 0; } 00048 00049 const int cablePinNum(int istrip) const; 00050 00052 std::string print(int depth=0) const; 00053 00054 private: 00055 int theLinkBoardInputNum; 00056 00057 ChamberLocationSpec theChamber; 00058 FebLocationSpec theFeb; 00059 00060 int theAlgo; 00061 mutable uint32_t theRawId; 00062 }; 00063 00064 #endif