Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef L1TObjects_L1MuCSCTFConfiguration_h
0002 #define L1TObjects_L1MuCSCTFConfiguration_h
0003 
0004 #include "CondFormats/Serialization/interface/Serializable.h"
0005 
0006 #include <string>
0007 
0008 class L1MuCSCTFConfiguration {
0009 private:
0010   std::string registers[12];
0011 
0012 public:
0013   const std::string* configAsText(void) const throw() { return registers; }
0014 
0015   using const_iterator = const std::string*;
0016   const_iterator begin() const { return registers; }
0017   const_iterator end() const { return registers + 12; }
0018 
0019   const std::string& operator[](int iIndex) const { return registers[iIndex]; }
0020 
0021   L1MuCSCTFConfiguration& operator=(const L1MuCSCTFConfiguration& conf) {
0022     for (int sp = 0; sp < 12; sp++)
0023       registers[sp] = conf.registers[sp];
0024     return *this;
0025   }
0026 
0027   L1MuCSCTFConfiguration(void) {}
0028   L1MuCSCTFConfiguration(std::string regs[12]) {
0029     for (int sp = 0; sp < 12; sp++)
0030       registers[sp] = regs[sp];
0031   }
0032   L1MuCSCTFConfiguration(const L1MuCSCTFConfiguration& conf) {
0033     for (int sp = 0; sp < 12; sp++)
0034       registers[sp] = conf.registers[sp];
0035   }
0036   ~L1MuCSCTFConfiguration(void) {}
0037 
0038   /// print all the L1 CSCTF Configuration Parameters
0039   void print(std::ostream&) const;
0040 
0041   COND_SERIALIZABLE;
0042 };
0043 
0044 #endif