Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:30

0001 #ifndef CondFormatsRPCObjectsLinkConnSpec_H
0002 #define CondFormatsRPCObjectsLinkConnSpec_H
0003 
0004 #include "CondFormats/Serialization/interface/Serializable.h"
0005 
0006 #include "CondFormats/RPCObjects/interface/LinkBoardSpec.h"
0007 #include <vector>
0008 #include <string>
0009 
0010 /** \class LinkConnSpec
0011  * RPC LinkConnection Specification for readout decoding
0012  */
0013 
0014 class LinkConnSpec {
0015 public:
0016   /// ctor with ID only
0017   LinkConnSpec(int num = -1) : theTriggerBoardInputNumber(num) {}
0018 
0019   /// this link input number in TriggerBoard
0020   int triggerBoardInputNumber() const { return theTriggerBoardInputNumber; }
0021 
0022   /// LB served by this link, identified by its position in link
0023   const LinkBoardSpec* linkBoard(int linkBoardNumInLink) const;
0024 
0025   const std::vector<LinkBoardSpec>& linkBoards() const { return theLBs; }
0026 
0027   /// attach LinkBoard to this link
0028   void add(const LinkBoardSpec& lb);
0029 
0030   ///  debud printaout, call its components with depth dectreased by one
0031   std::string print(int depth = 0) const;
0032 
0033 private:
0034   int theTriggerBoardInputNumber;
0035   std::vector<LinkBoardSpec> theLBs;
0036 
0037   COND_SERIALIZABLE;
0038 };
0039 #endif