File indexing completed on 2024-04-06 12:02:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef L1TTwinMuxParams_h
0011 #define L1TTwinMuxParams_h
0012
0013 #include <memory>
0014 #include <iostream>
0015 #include <vector>
0016
0017 #include "CondFormats/Serialization/interface/Serializable.h"
0018
0019 class L1TTwinMuxParams {
0020 public:
0021 L1TTwinMuxParams();
0022 enum { Version = 1 };
0023
0024 class Node {
0025 public:
0026 std::string type_;
0027 unsigned version_;
0028 std::vector<double> dparams_;
0029 std::vector<unsigned> uparams_;
0030 std::vector<int> iparams_;
0031 std::vector<std::string> sparams_;
0032 Node() {
0033 type_ = "unspecified";
0034 version_ = 0;
0035 }
0036 COND_SERIALIZABLE;
0037 };
0038 enum { CONFIG = 0, NUM_TM_PARAM_NODES = 7 };
0039 enum {
0040 USERPCBXFORDTBELOWQUALITY,
0041 DphiWindow,
0042 UseOnlyRPC,
0043 UseOnlyDT,
0044 UseLowQDT,
0045 CorrectDTBxwRPC,
0046 Verbose,
0047 NUM_CONFIG_PARAMS
0048 };
0049
0050 ~L1TTwinMuxParams() {}
0051
0052
0053 unsigned fwVersion() const { return fwVersion_; }
0054 void setFwVersion(unsigned fwVersion) { fwVersion_ = fwVersion; }
0055
0056 void set_USERPCBXFORDTBELOWQUALITY(int par1) { pnodes_[CONFIG].iparams_[USERPCBXFORDTBELOWQUALITY] = par1; }
0057 int get_USERPCBXFORDTBELOWQUALITY() const { return pnodes_[CONFIG].iparams_[USERPCBXFORDTBELOWQUALITY]; }
0058
0059 void set_UseOnlyRPC(int par1) { pnodes_[CONFIG].iparams_[UseOnlyRPC] = par1; }
0060 int get_UseOnlyRPC() const { return pnodes_[CONFIG].iparams_[UseOnlyRPC]; }
0061
0062 void set_UseOnlyDT(int par1) { pnodes_[CONFIG].iparams_[UseOnlyDT] = par1; }
0063 int get_UseOnlyDT() const { return pnodes_[CONFIG].iparams_[UseOnlyDT]; }
0064
0065 void set_UseLowQDT(int par1) { pnodes_[CONFIG].iparams_[UseLowQDT] = par1; }
0066 int get_UseLowQDT() const { return pnodes_[CONFIG].iparams_[UseLowQDT]; }
0067
0068 void set_CorrectDTBxwRPC(int par1) { pnodes_[CONFIG].iparams_[CorrectDTBxwRPC] = par1; }
0069 int get_CorrectDTBxwRPC() const { return pnodes_[CONFIG].iparams_[CorrectDTBxwRPC]; }
0070
0071 void set_Verbose(int par1) { pnodes_[CONFIG].iparams_[Verbose] = par1; }
0072 int get_Verbose() const { return pnodes_[CONFIG].iparams_[Verbose]; }
0073
0074 void set_DphiWindowBxShift(int par1) { pnodes_[CONFIG].iparams_[DphiWindow] = par1; }
0075 int get_DphiWindowBxShift() const { return pnodes_[CONFIG].iparams_[DphiWindow]; }
0076
0077
0078 void print(std::ostream&) const;
0079 friend std::ostream& operator<<(std::ostream& o, const L1TTwinMuxParams& p) {
0080 p.print(o);
0081 return o;
0082 }
0083
0084 private:
0085 unsigned version_;
0086 unsigned fwVersion_;
0087
0088 std::vector<Node> pnodes_;
0089
0090
0091 COND_SERIALIZABLE;
0092 };
0093 #endif