#include <EventFilter/RPCRawToDigi/interface/DebugDigisPrintout.h>
Public Member Functions | |
std::string | operator() (const RPCDigiCollection *digis) |
Classes | |
struct | MyDigi |
Definition at line 10 of file DebugDigisPrintout.h.
std::string rpcrawtodigi::DebugDigisPrintout::operator() | ( | const RPCDigiCollection * | digis | ) | [inline] |
Definition at line 26 of file DebugDigisPrintout.h.
References lat::endl(), find(), it, range, DetId::rawId(), python::multivaluedict::sort(), and RPCDigi::strip().
00026 { 00027 std::ostringstream str; 00028 str << "DebugDigisPrintout:"; 00029 if (!digis) return str.str(); 00030 typedef DigiContainerIterator<RPCDetId, RPCDigi> DigiRangeIterator; 00031 std::vector<MyDigi> myDigis; 00032 00033 int nDet = 0; 00034 int nDigisAll = 0; 00035 for (DigiRangeIterator it=digis->begin(); it != digis->end(); it++) { 00036 nDet++; 00037 RPCDetId rpcDetId = (*it).first; 00038 uint32_t rawDetId = rpcDetId.rawId(); 00039 RPCDigiCollection::Range range = digis->get(rpcDetId); 00040 for (std::vector<RPCDigi>::const_iterator id = range.first; id != range.second; id++) { 00041 nDigisAll++; 00042 const RPCDigi & digi = (*id); 00043 MyDigi myDigi = { rawDetId, digi.strip() }; 00044 if (myDigis.end() == std::find(myDigis.begin(), myDigis.end(), myDigi)) 00045 myDigis.push_back(myDigi); 00046 } 00047 } 00048 std::sort(myDigis.begin(),myDigis.end()); 00049 str << " dets: "<<nDet<<" allDigis: "<<nDigisAll<<" unigueDigis: "<<myDigis.size()<<std::endl; 00050 for (std::vector<MyDigi>::const_iterator it = myDigis.begin(); it != myDigis.end(); ++it) 00051 str << "debugDIGI: "<< it->det<<", "<<it->strip<<std::endl; 00052 return str.str(); 00053 }