CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Friends
TEPatternsGroup Class Reference

Group of paterns for "improved"("energetic") algorithm. In current implementation all patterns in given group must have the same code and sign. All patterns must have the same m_QualityTabNumber. Patterns of given code and sign can be devided between a few EPatternsGroups, indexed by m_RefGroup. The group m_Code, m_Sign, m_RefGroup is definded by pattern index 0 in m_PatternsVec. More...

#include <TEPatternsGroup.h>

Inheritance diagram for TEPatternsGroup:
TPatternsGroup

Public Member Functions

bool check (const RPCPattern::RPCPatVec::const_iterator &pattern)
 Checks, if patern can belong to this group, i.e. if has the same m_Code, m_Sign, m_RefGroup and m_QualityTabNumber. More...
 
bool operator< (const TEPatternsGroup &ePatternsGroup) const
 used for sorting TEPatternsGroups More...
 
 TEPatternsGroup (const RPCPattern::RPCPatVec::const_iterator &pattern)
 
- Public Member Functions inherited from TPatternsGroup
void addPattern (const RPCPattern::RPCPatVec::const_iterator &pattern)
 
std::string getGroupDescription () const
 
RPCPattern::TPatternType getPatternsGroupType () const
 
void setGroupDescription (std::string groupDescription)
 
void setPatternsGroupType (RPCPattern::TPatternType patternsGroupType)
 
void updateShape (const RPCPattern::RPCPatVec::const_iterator &pattern)
 Updates m_GroupShape, i.e. sets to true strips belonging to the pattern. Coleed in addPattern() More...
 

Private Attributes

short m_QualityTabNumber
 

Friends

class RPCPac
 

Additional Inherited Members

- Protected Attributes inherited from TPatternsGroup
std::string m_GroupDescription
 
RPCLogCone m_GroupShape
 
RPCPattern::TPatternType m_PatternsGroupType
 
std::vector< RPCPattern::RPCPatVec::const_iterator > m_PatternsItVec
 < Vector of itereator on m_PatternsVec in Pac. More...
 

Detailed Description

Group of paterns for "improved"("energetic") algorithm. In current implementation all patterns in given group must have the same code and sign. All patterns must have the same m_QualityTabNumber. Patterns of given code and sign can be devided between a few EPatternsGroups, indexed by m_RefGroup. The group m_Code, m_Sign, m_RefGroup is definded by pattern index 0 in m_PatternsVec.

Author
Karol Bunkowski (Warsaw),
Tomasz Fruboes (Warsaw) - porting to CMSSW

Definition at line 23 of file TEPatternsGroup.h.

Constructor & Destructor Documentation

TEPatternsGroup::TEPatternsGroup ( const RPCPattern::RPCPatVec::const_iterator &  pattern)

Creates new patterns group. The pattern is added to the group and defined its m_Code, m_Sign, m_RefGroup, m_QualityTabNumber.

Definition at line 10 of file TEPatternsGroup.cc.

References TPatternsGroup::addPattern(), TPatternsGroup::m_PatternsGroupType, m_QualityTabNumber, and RPCPattern::PAT_TYPE_E.

10  {
13  m_QualityTabNumber = pattern->getQualityTabNumber(); //it is uded in m_PAC algorithm, so we want to have fast acces.
14 }
void addPattern(const RPCPattern::RPCPatVec::const_iterator &pattern)
static const TPatternType PAT_TYPE_E
Definition: RPCPattern.h:56
RPCPattern::TPatternType m_PatternsGroupType

Member Function Documentation

bool TEPatternsGroup::check ( const RPCPattern::RPCPatVec::const_iterator &  pattern)

Checks, if patern can belong to this group, i.e. if has the same m_Code, m_Sign, m_RefGroup and m_QualityTabNumber.

Definition at line 16 of file TEPatternsGroup.cc.

References TPatternsGroup::m_PatternsItVec.

16  {
17  if (m_PatternsItVec[0]->getRefGroup() == pattern->getRefGroup() &&
18  m_PatternsItVec[0]->getCode() == pattern->getCode() && m_PatternsItVec[0]->getSign() == pattern->getSign() &&
19  m_PatternsItVec[0]->getQualityTabNumber() == pattern->getQualityTabNumber())
20  return true;
21  return false;
22 }
std::vector< RPCPattern::RPCPatVec::const_iterator > m_PatternsItVec
< Vector of itereator on m_PatternsVec in Pac.
bool TEPatternsGroup::operator< ( const TEPatternsGroup ePatternsGroup) const

used for sorting TEPatternsGroups

Definition at line 24 of file TEPatternsGroup.cc.

References TPatternsGroup::m_PatternsItVec.

24  {
25  if (this->m_PatternsItVec[0]->getCode() < ePatternsGroup.m_PatternsItVec[0]->getCode())
26  return true;
27  else if (this->m_PatternsItVec[0]->getCode() > ePatternsGroup.m_PatternsItVec[0]->getCode())
28  return false;
29  else { //==
30  if (this->m_PatternsItVec[0]->getQualityTabNumber() > ePatternsGroup.m_PatternsItVec[0]->getQualityTabNumber())
31  return true;
32  else if (this->m_PatternsItVec[0]->getQualityTabNumber() < ePatternsGroup.m_PatternsItVec[0]->getQualityTabNumber())
33  return false;
34  else { //==
35  if (this->m_PatternsItVec[0]->getSign() < ePatternsGroup.m_PatternsItVec[0]->getSign())
36  return true;
37  else if (this->m_PatternsItVec[0]->getSign() > ePatternsGroup.m_PatternsItVec[0]->getSign())
38  return false;
39  else { //==
40  if (this->m_PatternsItVec[0]->getRefGroup() < ePatternsGroup.m_PatternsItVec[0]->getRefGroup())
41  return true;
42  else //if(this->m_RefGroup < ePatternsGroup.m_RefGroup)
43  return false;
44  }
45  }
46  }
47 }
std::vector< RPCPattern::RPCPatVec::const_iterator > m_PatternsItVec
< Vector of itereator on m_PatternsVec in Pac.

Friends And Related Function Documentation

friend class RPCPac
friend

Definition at line 25 of file TEPatternsGroup.h.

Member Data Documentation

short TEPatternsGroup::m_QualityTabNumber
private

Definition at line 37 of file TEPatternsGroup.h.

Referenced by TEPatternsGroup().