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 add(const ChamberStripSpec & strip); 00031 00033 const ChamberStripSpec * strip(int pinNumber) const; 00034 const std::vector<ChamberStripSpec> & strips() const { return theStrips; } 00035 00037 const uint32_t & rawId() const; 00038 00039 const ChamberLocationSpec & chamber() const { return theChamber; } 00040 const FebLocationSpec & feb() const { return theFeb; } 00041 00043 std::string print(int depth=0) const; 00044 00045 private: 00046 int theLinkBoardInputNum; 00047 00048 ChamberLocationSpec theChamber; 00049 FebLocationSpec theFeb; 00050 00051 std::vector<ChamberStripSpec> theStrips; 00052 mutable uint32_t theRawId; 00053 }; 00054 00055 #endif