CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/CondFormats/L1TObjects/interface/RPCPattern.h

Go to the documentation of this file.
00001 #ifndef L1Trigger_RPCPattern_h
00002 #define L1Trigger_RPCPattern_h
00003 //-----------------------------------------------------------------------------
00010 #include <vector>
00011 #include <string>
00012 //-----------------------------------------------------------------------------
00013 
00014 class RPCPattern  {
00015 public:
00016   
00017   //needed types
00023   class RPCLogicalStrip {
00024      friend class RPCPattern;
00025      private:
00027        unsigned char m_StripFrom;
00029        unsigned char m_StripTo;
00030   };
00031 
00032     typedef std::vector<RPCPattern> RPCPatVec;
00033 
00034     struct TQuality {
00035         unsigned char m_FiredPlanes;
00036         char m_QualityTabNumber;
00037         char m_QualityValue;
00038         char m_logsector;
00039         char m_logsegment;
00040         signed char m_tower;
00041     };
00042 
00043     typedef std::vector<TQuality> TQualityVec;
00044               
00045     
00046 
00047     // use namespace?   
00048     // Moved/duplicated from RPCConst 
00049 //    enum TPatternType {PAT_TYPE_T, PAT_TYPE_E};
00050     typedef char TPatternType;
00051     static const TPatternType PAT_TYPE_T = 0;
00052     static const TPatternType PAT_TYPE_E = 1;
00053     static const int m_LOGPLANES_COUNT = 6;
00054     static const int m_FIRST_PLANE = 0;
00055     static const int m_LAST_PLANE = 5;
00056     static const int m_NOT_CONECTED = 99; 
00057   
00058 
00060     RPCPattern();
00061     RPCPattern(int tower, int sector, int segment);
00062 
00063     void setStripFrom(int logPlane, int stripFrom);
00064   
00065     void setStripTo(int logPlane, int stripTo);
00066 
00068     int getStripFrom(int logPlane) const;
00069 
00071     int getStripTo(int logPlane) const;
00072 
00073     int getTower() const;
00074     int getLogSector() const;
00075     int getLogSegment() const;
00076 
00077     int getCode() const;
00078 
00079     int getSign() const;
00080 
00081     int getNumber() const;
00082 
00083     TPatternType getPatternType() const;
00084 
00085     int getRefGroup() const;
00086 
00087     int getQualityTabNumber() const;
00088 
00089     void setCoords(int tower, int sector, int segment);
00090 
00091     void setCode(int a);
00092   
00093     void setSign(int a);
00094   
00095     void setNumber(int a);
00096 
00097     void setPatternType(TPatternType patternType);
00098 
00099     void setRefGroup(int refGroup);
00100 
00101     void setQualityTabNumber(int qualityTabNumber);
00102   
00103 private:
00105   RPCLogicalStrip m_Strips[m_LOGPLANES_COUNT];
00106 
00107 // coordinates
00108   char m_Tower;
00109   char m_LogSector;
00110   char m_LogSegment;
00111 
00113   char m_Sign;
00114 
00116   char m_Code;
00117 
00121   TPatternType m_PatternType;
00122 
00124   char m_RefGroup;
00125 
00128   char m_QualityTabNumber;
00129 
00131   short m_Number;
00132 
00133 
00134 };
00135 
00136 #endif