Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:56:07

0001 #include "L1Trigger/RPCTrigger/interface/TEPatternsGroup.h"
0002 
0003 /**
0004  *
0005  * Creates new patterns group. The pattern is added to the group and defined
0006  * its m_Code, m_Sign, m_RefGroup, m_QualityTabNumber. 
0007  *
0008  */
0009 
0010 TEPatternsGroup::TEPatternsGroup(const RPCPattern::RPCPatVec::const_iterator& pattern) {
0011   addPattern(pattern);
0012   m_PatternsGroupType = RPCPattern::PAT_TYPE_E;
0013   m_QualityTabNumber = pattern->getQualityTabNumber();  //it is uded in m_PAC algorithm, so we want to have fast acces.
0014 }
0015 
0016 bool TEPatternsGroup::check(const RPCPattern::RPCPatVec::const_iterator& pattern) {
0017   if (m_PatternsItVec[0]->getRefGroup() == pattern->getRefGroup() &&
0018       m_PatternsItVec[0]->getCode() == pattern->getCode() && m_PatternsItVec[0]->getSign() == pattern->getSign() &&
0019       m_PatternsItVec[0]->getQualityTabNumber() == pattern->getQualityTabNumber())
0020     return true;
0021   return false;
0022 }
0023 
0024 bool TEPatternsGroup::operator<(const TEPatternsGroup& ePatternsGroup) const {
0025   if (this->m_PatternsItVec[0]->getCode() < ePatternsGroup.m_PatternsItVec[0]->getCode())
0026     return true;
0027   else if (this->m_PatternsItVec[0]->getCode() > ePatternsGroup.m_PatternsItVec[0]->getCode())
0028     return false;
0029   else {  //==
0030     if (this->m_PatternsItVec[0]->getQualityTabNumber() > ePatternsGroup.m_PatternsItVec[0]->getQualityTabNumber())
0031       return true;
0032     else if (this->m_PatternsItVec[0]->getQualityTabNumber() < ePatternsGroup.m_PatternsItVec[0]->getQualityTabNumber())
0033       return false;
0034     else {  //==
0035       if (this->m_PatternsItVec[0]->getSign() < ePatternsGroup.m_PatternsItVec[0]->getSign())
0036         return true;
0037       else if (this->m_PatternsItVec[0]->getSign() > ePatternsGroup.m_PatternsItVec[0]->getSign())
0038         return false;
0039       else {  //==
0040         if (this->m_PatternsItVec[0]->getRefGroup() < ePatternsGroup.m_PatternsItVec[0]->getRefGroup())
0041           return true;
0042         else  //if(this->m_RefGroup < ePatternsGroup.m_RefGroup)
0043           return false;
0044       }
0045     }
0046   }
0047 }