CMS 3D CMS Logo

RPCClusterizer Class Reference

Date
2006/07/16 07:25:39
Revision
1.5
More...

#include <RecoLocalMuon/RPCRecHit/src/RPCClusterizer.h>

List of all members.

Public Member Functions

RPCClusterContainer doAction (const RPCDigiCollection::Range &digiRange)
 RPCClusterizer ()
 ~RPCClusterizer ()

Private Member Functions

RPCClusterContainer doActualAction (RPCClusterContainer &initialclusters)

Private Attributes

RPCClusterContainer cls


Detailed Description

Date
2006/07/16 07:25:39
Revision
1.5

Author:
M. Maggi -- INFN Bari

Definition at line 13 of file RPCClusterizer.h.


Constructor & Destructor Documentation

RPCClusterizer::RPCClusterizer (  ) 

Definition at line 6 of file RPCClusterizer.cc.

00007 {
00008 }

RPCClusterizer::~RPCClusterizer (  ) 

Definition at line 10 of file RPCClusterizer.cc.

00011 {
00012 }


Member Function Documentation

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 } 


Member Data Documentation

RPCClusterContainer RPCClusterizer::cls [private]

Definition at line 23 of file RPCClusterizer.h.

Referenced by doAction().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:30:54 2009 for CMSSW by  doxygen 1.5.4