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