File indexing completed on 2024-04-06 12:02:21
0001 #ifndef L1Trigger_RPCPattern_h
0002 #define L1Trigger_RPCPattern_h
0003
0004
0005
0006
0007
0008
0009
0010 #include "CondFormats/Serialization/interface/Serializable.h"
0011
0012 #include <vector>
0013 #include <string>
0014
0015
0016 class RPCPattern {
0017 public:
0018
0019
0020
0021
0022
0023
0024 class RPCLogicalStrip {
0025 friend class RPCPattern;
0026
0027 private:
0028
0029 unsigned char m_StripFrom;
0030
0031 unsigned char m_StripTo;
0032
0033 COND_SERIALIZABLE;
0034 };
0035
0036 typedef std::vector<RPCPattern> RPCPatVec;
0037
0038 struct TQuality {
0039 unsigned char m_FiredPlanes;
0040 char m_QualityTabNumber;
0041 char m_QualityValue;
0042 char m_logsector;
0043 char m_logsegment;
0044 signed char m_tower;
0045
0046 COND_SERIALIZABLE;
0047 };
0048
0049 typedef std::vector<TQuality> TQualityVec;
0050
0051
0052
0053
0054 typedef char TPatternType;
0055 static const TPatternType PAT_TYPE_T = 0;
0056 static const TPatternType PAT_TYPE_E = 1;
0057 static const int m_LOGPLANES_COUNT = 6;
0058 static const int m_FIRST_PLANE = 0;
0059 static const int m_LAST_PLANE = 5;
0060 static const int m_NOT_CONECTED = 99;
0061
0062
0063 RPCPattern();
0064 RPCPattern(int tower, int sector, int segment);
0065
0066 void setStripFrom(int logPlane, int stripFrom);
0067
0068 void setStripTo(int logPlane, int stripTo);
0069
0070
0071 int getStripFrom(int logPlane) const;
0072
0073
0074 int getStripTo(int logPlane) const;
0075
0076 int getTower() const;
0077 int getLogSector() const;
0078 int getLogSegment() const;
0079
0080 int getCode() const;
0081
0082 int getSign() const;
0083
0084 int getNumber() const;
0085
0086 TPatternType getPatternType() const;
0087
0088 int getRefGroup() const;
0089
0090 int getQualityTabNumber() const;
0091
0092 void setCoords(int tower, int sector, int segment);
0093
0094 void setCode(int a);
0095
0096 void setSign(int a);
0097
0098 void setNumber(int a);
0099
0100 void setPatternType(TPatternType patternType);
0101
0102 void setRefGroup(int refGroup);
0103
0104 void setQualityTabNumber(int qualityTabNumber);
0105
0106 private:
0107
0108 RPCLogicalStrip m_Strips[m_LOGPLANES_COUNT];
0109
0110
0111 char m_Tower;
0112 char m_LogSector;
0113 char m_LogSegment;
0114
0115
0116 char m_Sign;
0117
0118
0119 char m_Code;
0120
0121
0122
0123
0124 TPatternType m_PatternType;
0125
0126
0127 char m_RefGroup;
0128
0129
0130
0131 char m_QualityTabNumber;
0132
0133
0134 short m_Number;
0135
0136 COND_SERIALIZABLE;
0137 };
0138
0139 #endif