CMS 3D CMS Logo

SiStripDummyAlgo.cc

Go to the documentation of this file.
00001 #include "CommonTools/SiStripClusterization/interface/SiStripDummyAlgo.h"
00002 #include <iostream>
00003 #include <sstream>
00004 #include <vector>
00005 
00006 // -----------------------------------------------------------------------------
00007 //
00008 SiStripDummyAlgo::SiStripDummyAlgo( const edm::ParameterSet& pset ) 
00009   : SiStripClusterizerAlgo(pset) {
00010   LogTrace("UNDEFINED_CATEGORY")
00011     << "[SiStripDummyAlgo::" << __func__ << "]";
00012 }
00013 
00014 // -----------------------------------------------------------------------------
00015 //
00016 SiStripDummyAlgo::~SiStripDummyAlgo() {
00017   LogTrace("UNDEFINED_CATEGORY")
00018     << "[SiStripDummyAlgo::" << __func__ << "]";
00019 }
00020 
00021 // -----------------------------------------------------------------------------
00022 //
00023 void SiStripDummyAlgo::clusterize( const edm::DetSet<SiStripDigi>& digis,
00024                                    edm::DetSetVector<SiStripCluster>& clusters ) {
00025 
00026   // Some initialization
00027   edm::DetSet<SiStripCluster> clus( digis.id );
00028   SiStripCluster::SiStripDigiRange end( digis.data.end(), digis.data.end() );
00029   SiStripCluster::SiStripDigiRange range = end;
00030 
00031   // Iterates through digis and builds clusters from non-zero digis
00032   edm::DetSet<SiStripDigi>::const_iterator idigi = digis.data.begin();
00033   for ( ; idigi != digis.data.end(); idigi++ ) {
00034     if ( idigi == digis.data.begin() ) { // first digi
00035       range.first = idigi; 
00036       range.second = idigi+1; 
00037     } else if ( idigi+1 == digis.data.end() ) { // last digi
00038       range.second++;
00039       clus.push_back( SiStripCluster(digis.id,range) ); 
00040     } else { // all other digis
00041       if ( idigi->strip() - (idigi-1)->strip() == 1 ) { range.second++; } 
00042       else { 
00043         clus.push_back( SiStripCluster(digis.id,range) ); 
00044         range.first = idigi; 
00045         range.second = idigi+1; 
00046       }
00047     }
00048   }
00049 
00050   // Copy DetSet into DetSetVector if clusters found
00051   if ( !clus.data.empty() ) { clusters.insert(clus); }
00052   
00053 }
00054 
00055 // -----------------------------------------------------------------------------
00056 //
00057 void SiStripDummyAlgo::add( edm::DetSet<SiStripCluster>& clusters,
00058                             const uint16_t& strip,
00059                             const uint16_t& adc ) {
00060   LogTrace("UNDEFINED_CATEGORY")
00061     << "[SiStripDummyAlgo::" << __func__ << "]";
00062 }
00063 

Generated on Tue Jun 9 17:25:58 2009 for CMSSW by  doxygen 1.5.4