Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:40

0001 #ifndef L1Trigger_RPCTEPatternsGroup_h
0002 #define L1Trigger_RPCTEPatternsGroup_h
0003 #include "L1Trigger/RPCTrigger/interface/TPatternsGroup.h"
0004 
0005 // -*- C++ -*-
0006 //
0007 // Package:     L1Trigger
0008 // Class  :     TEPatternsGroup
0009 //
0010 /**
0011   \class TEPatternsGroup
0012   \brief Group of paterns for "improved"("energetic") algorithm.
0013   In current implementation all patterns in given group must have the same
0014   code and sign. All patterns must have the same m_QualityTabNumber.
0015   Patterns of given code and sign can be devided between a few EPatternsGroups,
0016   indexed by m_RefGroup.
0017   The group m_Code, m_Sign, m_RefGroup is definded by pattern index 0 in m_PatternsVec
0018  \author Karol Bunkowski (Warsaw),
0019  \author Tomasz Fruboes (Warsaw) - porting to CMSSW
0020 
0021 */
0022 
0023 class TEPatternsGroup : public TPatternsGroup {
0024   //friend class RPCPacData;
0025   friend class RPCPac;
0026 
0027 public:
0028   TEPatternsGroup(const RPCPattern::RPCPatVec::const_iterator& pattern);
0029 
0030   ///Checks, if patern can belong to this group, i.e. if has the same m_Code, m_Sign, m_RefGroup and m_QualityTabNumber.
0031   bool check(const RPCPattern::RPCPatVec::const_iterator& pattern);
0032 
0033   ///used for sorting TEPatternsGroups
0034   bool operator<(const TEPatternsGroup& ePatternsGroup) const;
0035 
0036 private:
0037   short m_QualityTabNumber;
0038 };
0039 
0040 #endif