![]() |
![]() |
#include <RecoLocalMuon/RPCRecHit/src/RPCClusterizer.h>
Public Member Functions | |
RPCClusterContainer | doAction (const RPCDigiCollection::Range &digiRange) |
RPCClusterizer () | |
~RPCClusterizer () | |
Private Member Functions | |
RPCClusterContainer | doActualAction (RPCClusterContainer &initialclusters) |
Private Attributes | |
RPCClusterContainer | cls |
Definition at line 13 of file RPCClusterizer.h.
RPCClusterizer::RPCClusterizer | ( | ) |
RPCClusterizer::~RPCClusterizer | ( | ) |
RPCClusterContainer RPCClusterizer::doAction | ( | const RPCDigiCollection::Range & | digiRange | ) |
Definition at line 15 of file RPCClusterizer.cc.
References cls, and doActualAction().
Referenced by RPCRecHitBaseAlgo::reconstruct().
00015 { 00016 RPCClusterContainer cls; 00017 for (RPCDigiCollection::const_iterator digi = digiRange.first; 00018 digi != digiRange.second; 00019 digi++) { 00020 RPCCluster cl(digi->strip(),digi->strip(),digi->bx()); 00021 cls.insert(cl); 00022 } 00023 RPCClusterContainer clsNew =this->doActualAction(cls); 00024 return clsNew; 00025 }
RPCClusterContainer RPCClusterizer::doActualAction | ( | RPCClusterContainer & | initialclusters | ) | [private] |
Definition at line 28 of file RPCClusterizer.cc.
References i, RPCCluster::isAdjacent(), j, and RPCCluster::merge().
Referenced by doAction().
00028 { 00029 00030 RPCClusterContainer finalCluster; 00031 RPCCluster prev; 00032 00033 unsigned int j = 0; 00034 for(RPCClusterContainer::const_iterator i=initialclusters.begin(); 00035 i != initialclusters.end(); i++){ 00036 RPCCluster cl = *i; 00037 00038 if(i==initialclusters.begin()){ 00039 prev = cl; 00040 j++; 00041 if(j == initialclusters.size()){ 00042 finalCluster.insert(prev); 00043 } 00044 else if(j < initialclusters.size()){ 00045 continue; 00046 } 00047 } 00048 00049 if(prev.isAdjacent(cl)) { 00050 prev.merge(cl); 00051 j++; 00052 if(j == initialclusters.size()){ 00053 finalCluster.insert(prev); 00054 } 00055 } 00056 else { 00057 j++; 00058 if(j < initialclusters.size()){ 00059 finalCluster.insert(prev); 00060 prev = cl; 00061 } 00062 if(j == initialclusters.size()){ 00063 finalCluster.insert(prev); 00064 finalCluster.insert(cl); 00065 } 00066 } 00067 } 00068 00069 return finalCluster; 00070 }
RPCClusterContainer RPCClusterizer::cls [private] |