Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef CondFormatsRPCObjectsDccSpec_H
0002 #define CondFormatsRPCObjectsDccSpec_H
0003 
0004 /** \ class DccSpec
0005  * RPC DCC (==FED) specification for redout decoding
0006  */
0007 
0008 #include "CondFormats/Serialization/interface/Serializable.h"
0009 
0010 #include <vector>
0011 #include <string>
0012 #include "CondFormats/RPCObjects/interface/TriggerBoardSpec.h"
0013 
0014 struct ChamberLocationSpec;
0015 
0016 class DccSpec {
0017 public:
0018   /// ctor with ID only
0019   DccSpec(int id = -1);
0020 
0021   /// id of FED
0022   int id() const { return theId; }
0023 
0024   /// TB attached to channel
0025   const TriggerBoardSpec* triggerBoard(int channelNumber) const;
0026   const std::vector<TriggerBoardSpec>& triggerBoards() const { return theTBs; }
0027 
0028   /// attach TB to DCC. The channel is defined by TB
0029   void add(const TriggerBoardSpec& tb);
0030 
0031   /// debud printaout, call its components with depth dectreased by one
0032   std::string print(int depth = 0) const;
0033 
0034 private:
0035   int theId;
0036   std::vector<TriggerBoardSpec> theTBs;
0037 
0038   //  static const int MIN_CHANNEL_NUMBER = 1;
0039   //  static const int NUMBER_OF_CHANNELS = 68;
0040 
0041   COND_SERIALIZABLE;
0042 };
0043 
0044 #endif