50 std::vector<RPCLogHit> logHits;
51 std::vector<RPCLogHit> logHitsFromUncomp;
56 short int digiIndex = 0;
58 for (detUnitIt=rpcDigis->begin();
59 detUnitIt!=rpcDigis->end();
62 const RPCDetId&
id = (*detUnitIt).first;
64 uint32_t rawId =
id.
rawId();
68 std::pair<L1RPCConeBuilder::TCompressedConVec::const_iterator, L1RPCConeBuilder::TCompressedConVec::const_iterator>
69 compressedConnPair = coneBuilder->getCompConVec(rawId);
78 if ( digiIt->bx() < bxOrDef->getFirstBX() + bx || digiIt->bx() > bxOrDef->getLastBX() +bx ){
85 std::pair<L1RPCConeBuilder::TStripConVec::const_iterator, L1RPCConeBuilder::TStripConVec::const_iterator>
86 itPair = coneBuilder->getConVec(rawId,digiIt->strip());
88 L1RPCConeBuilder::TStripConVec::const_iterator it = itPair.first;
90 for (; it!=itPair.second;++it){
92 if ( hwConfig->isActive(it->m_tower, it->m_PAC) ){
94 RPCLogHit lh(it->m_tower, it->m_PAC, it->m_logplane, it->m_logstrip);
95 lh.setDigiIdx(digiIndex);
96 logHitsFromUncomp.push_back(
lh );
108 L1RPCConeBuilder::TCompressedConVec::const_iterator itComp = compressedConnPair.first;
109 for (; itComp!=compressedConnPair.second; ++itComp){
110 if ( hwConfig->isActive(itComp->m_tower, itComp->m_PAC)){
111 int logstrip = itComp->getLogStrip(digiIt->strip(),coneDef->getLPSizeVec());
113 RPCLogHit lh(itComp->m_tower, itComp->m_PAC, itComp->m_logplane, logstrip );
114 lh.setDigiIdx(digiIndex);
115 logHits.push_back(
lh );
134 std::vector<RPCLogHit>::iterator itLHitUncomp = logHitsFromUncomp.begin();
135 std::vector<RPCLogHit>::iterator itLHitComp;
138 for(;itLHitUncomp != logHitsFromUncomp.end(); ++itLHitUncomp) {
139 for (itLHitComp = logHits.begin(); itLHitComp != logHits.end(); ++itLHitComp){
141 if ( itLHitComp->getTower() == itLHitUncomp->getTower()
142 && itLHitComp->getLogSector() == itLHitUncomp->getLogSector()
143 && itLHitComp->getLogSegment() == itLHitUncomp->getLogSegment()
144 && itLHitComp->getlogPlaneNumber() == itLHitUncomp->getlogPlaneNumber() )
148 *itLHitUncomp = *itLHitComp;
155 for(;itLHitUncomp != logHitsFromUncomp.end(); ++itLHitUncomp) {
156 bool present =
false;
157 for (
unsigned int i=0;
i < logHits.size(); ++
i)
160 if ( logHits[
i].getTower() == itLHitUncomp->getTower()
161 && logHits[
i].getLogSector() == itLHitUncomp->getLogSector()
162 && logHits[
i].getLogSegment() == itLHitUncomp->getLogSegment()
163 && logHits[
i].getlogPlaneNumber() == itLHitUncomp->getlogPlaneNumber() )
173 logHits.push_back(*itLHitUncomp);
180 std::vector<RPCLogHit>::iterator p_lhit;
181 for (p_lhit = logHits.begin(); p_lhit != logHits.end(); ++p_lhit){
183 bool hitTaken =
false;
184 L1RpcLogConesVec::iterator p_cone;
185 for (p_cone = ActiveCones.begin(); p_cone != ActiveCones.end(); p_cone++){
186 hitTaken = p_cone->addLogHit(*p_lhit);
193 newcone.setIdx(ActiveCones.size());
194 ActiveCones.push_back(newcone);
uint32_t rawId() const
get the raw id
std::vector< DigiType >::const_iterator const_iterator
std::pair< const_iterator, const_iterator > Range
std::vector< RPCLogCone > L1RpcLogConesVec