// ------------------------------------------------------------------------- // ----- PndSsdStripClusterBuilder source file ----- // ----- Converted 27.11.2007 from R.Jaekel by R.Kliemt ----- // ------------------------------------------------------------------------- #include "PndSsdStripClusterBuilder.h" // includes for sort algorithms #include #include #include #include "TMath.h" #include "math.h" // enum SensorSide { kTOP, kBOTTOM }; PndSsdStripClusterBuilder::PndSsdStripClusterBuilder() { // dummy } PndSsdStripClusterBuilder::~PndSsdStripClusterBuilder() { } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ void PndSsdStripClusterBuilder::Reinit() { fSortedDigis.clear(); fClusters.clear(); fTopclusters.clear(); fBotclusters.clear(); fLeftDigis.clear(); } void PndSsdStripClusterBuilder::AddDigi(std::string detName, SensorSide side, Int_t timestamp, Int_t strip, Int_t iPoint) { fSortedDigis[detName][side][timestamp][strip] = iPoint; } PndMvdClusterStrip PndSsdStripClusterBuilder::GetCluster(Int_t i) { if(0<=i && fClusters.size() < i) return fClusters[i]; } PndMvdClusterStrip PndSsdStripClusterBuilder::GetTopCluster(Int_t i) { if(0<=i && fTopclusters.size() < i) return fClusters[ (fTopclusters[i]) ]; } PndMvdClusterStrip PndSsdStripClusterBuilder::GetBotCluster(Int_t i) { if(0<=i && fBotclusters.size() < i) return fClusters[ (fBotclusters[i]) ]; } void PndSsdStripClusterBuilder::AddCluster(const std::vector< Int_t >& onecluster,SensorSide side) { Int_t clindex = fClusters.size(); if(side == kBOTTOM) { fBotclusters.push_back(clindex); // std::cout<<"Adding Cluster number "<