56 for (
unsigned int i = 0;
i < qualVec.size(); ++
i) {
58 std::bitset<RPCConst::m_LOGPLANES_COUNT> qualBits(
quality.m_FiredPlanes);
59 unsigned short firedPlanes = qualBits.to_ulong();
69 for (
unsigned int iqual = 0; iqual <
rpcconf->m_quals.size(); iqual++) {
70 if (
rpcconf->m_quals[iqual].m_tower !=
tower ||
rpcconf->m_quals[iqual].m_logsector != sector ||
71 rpcconf->m_quals[iqual].m_logsegment != segment)
75 std::bitset<RPCConst::m_LOGPLANES_COUNT> qualBits(
quality.m_FiredPlanes);
76 unsigned short firedPlanes = qualBits.to_ulong();
99 throw RPCException(
"GetPattren(): Patterns vec is empty, mayby it was not filled!");
130 return iEGroup->m_GroupShape.getLogStripState(logPlane, bitNum);
132 throw RPCException(
"getEPatternsGroupShape(): groupNum to big!");
141 if (patternGroupNum == -1)
147 if (
i == patternGroupNum)
148 ret =
"EGroup #" + rpcconst.
intToString(
i) + iEGroup->getGroupDescription();
153 throw RPCException(
"getEPatternsGroupShape(): groupNum to big!");
173 throw RPCException(
"insertQualityRecord(): wrong qualityTabNumber");
181 bool ignorePos =
false;
182 if (
tower == 99 || sector == 99 || segment == 99)
187 for (RPCPattern::RPCPatVec::const_iterator patIt = patternsVec.begin(); patIt != patternsVec.end(); patIt++) {
189 (patIt->getTower() !=
tower || patIt->getLogSector() != sector || patIt->getLogSegment() != segment))
195 TEPatternsGroupList::iterator iEGroup;
197 if (iEGroup->check(patIt))
203 ", code: " + rpcconst.
intToString(patIt->getCode()) +
", dir: " + rpcconst.
intToString(patIt->getSign()) +
204 ", refGroup: " + rpcconst.
intToString(patIt->getRefGroup()) +
205 ", qualityTabNumber: " + rpcconst.
intToString(patIt->getQualityTabNumber()));
208 iEGroup->addPattern(patIt);
210 throw RPCException(
"InsertPattern(): unsupported pattern type");
223 for (
unsigned int i = 0;
i <
parser.getQualityVec().size();
i++) {
225 std::bitset<RPCConst::m_LOGPLANES_COUNT> qualBits(
quality.m_FiredPlanes);
226 unsigned short firedPlanes = qualBits.to_ulong();
std::string getPatternsGroupDescription(int patternGroupNum)
void insertPatterns(const RPCPattern::RPCPatVec &pattern, const int tower=99, const int sector=99, const int segment=99)
The coordinates of Logic Cone: m_Tower, m_LogSector, m_LogSegment.
ret
prodAgent to be discontinued
void addPattern(const RPCPattern::RPCPatVec::const_iterator &pattern)
TTPatternsGroup m_TrackPatternsGroup
Here patters used in "baseline" algorith are stored.
void setGroupDescription(std::string groupDescription)
static const TPatternType PAT_TYPE_T
std::vector< RPCPattern > RPCPatVec
bool getLogStripState(int logPlane, unsigned int logStripNum) const
void insertQualityRecord(unsigned int qualityTabNumber, unsigned short firedPlanes, short quality)
RPCConst::TQualityTabsVec m_QualityTabsVec
std::string intToString(int number)
Converts inteager number to string.
RPCPattern::RPCPatVec m_PatternsVec
std::vector< TQuality > TQualityVec
TEPatternsGroupList m_EnergeticPatternsGroupList
static const TPatternType PAT_TYPE_E
std::string getGroupDescription() const
bool getEPatternsGroupShape(int groupNum, int logPlane, int logStripNum)
static const int m_LOGPLANES_COUNT
Max Logic Planes Count in trigger towers.
std::vector< short > TQualityTab
int getPatternsGroupCount()
RPCPacData(std::string patFilesDir, int m_tower, int logSector, int logSegment)
Group of paterns for "improved"("energetic") algorithm. In current implementation all patterns in giv...
bool getTPatternsGroupShape(int logPlane, int logStripNum)
RPCPattern getPattern(int patNum) const
void init(const RPCPatternsParser &parser, const RPCConst::l1RpcConeCrdnts &coneCrdnts)
Power< A, B >::type pow(const A &a, const B &b)