#include <APVShotFinder.h>
Public Member Functions | |
APVShotFinder (const bool zs=true) | |
APVShotFinder (const edm::DetSet< SiStripDigi > &digis, const bool zs=true) | |
APVShotFinder (const edm::DetSetVector< SiStripDigi > &digicoll, const bool zs=true) | |
void | computeShots (const edm::DetSet< SiStripDigi > &digis) |
void | computeShots (const edm::DetSetVector< SiStripDigi > &digicoll) |
const std::vector< APVShot > & | getShots () const |
Private Member Functions | |
void | addShots (const edm::DetSet< SiStripDigi > &digis) |
Private Attributes | |
std::vector< APVShot > | _shots |
bool | _zs |
Definition at line 15 of file APVShotFinder.h.
APVShotFinder::APVShotFinder | ( | const bool | zs = true | ) |
Definition at line 10 of file APVShotFinder.cc.
APVShotFinder::APVShotFinder | ( | const edm::DetSet< SiStripDigi > & | digis, |
const bool | zs = true |
||
) |
Definition at line 13 of file APVShotFinder.cc.
References computeShots().
: _zs(zs), _shots() { computeShots(digis); }
APVShotFinder::APVShotFinder | ( | const edm::DetSetVector< SiStripDigi > & | digicoll, |
const bool | zs = true |
||
) |
Definition at line 20 of file APVShotFinder.cc.
References computeShots().
: _zs(zs), _shots() { computeShots(digicoll); }
void APVShotFinder::addShots | ( | const edm::DetSet< SiStripDigi > & | digis | ) | [private] |
Definition at line 46 of file APVShotFinder.cc.
References _shots, _zs, edm::DetSet< T >::begin(), edm::DetSet< T >::detId(), cond::rpcobgas::detid, edm::DetSet< T >::end(), and groupFilesInBlocks::temp.
Referenced by computeShots().
{ DetId detid(digis.detId()); int laststrip = -1; int apv = -1; std::vector<SiStripDigi> temp; for(edm::DetSet<SiStripDigi>::const_iterator digi=digis.begin();digi!=digis.end();digi++) { if(!_zs || digi->adc()>0) { if(laststrip >= digi->strip()) edm::LogWarning("StripNotInOrder") << "Strips not in order in DetSet<SiStripDigi>"; laststrip = digi->strip(); int newapv = digi->strip()/128; if( newapv!=apv) { if(apv>=0) { if(temp.size() > 64) { APVShot shot(temp,detid,_zs); _shots.push_back(shot); } temp.clear(); } apv = newapv; } temp.push_back(*digi); } } // last strip if(temp.size() > 64) { APVShot shot(temp,detid,_zs); _shots.push_back(shot); } temp.clear(); }
void APVShotFinder::computeShots | ( | const edm::DetSetVector< SiStripDigi > & | digicoll | ) |
Definition at line 34 of file APVShotFinder.cc.
References _shots, addShots(), edm::DetSetVector< T >::begin(), and edm::DetSetVector< T >::end().
{ _shots.clear(); for(edm::DetSetVector<SiStripDigi>::const_iterator it = digicoll.begin(); it!=digicoll.end();++it) { addShots(*it); } }
void APVShotFinder::computeShots | ( | const edm::DetSet< SiStripDigi > & | digis | ) |
Definition at line 27 of file APVShotFinder.cc.
References _shots, and addShots().
Referenced by APVShotFinder().
const std::vector< APVShot > & APVShotFinder::getShots | ( | ) | const |
Definition at line 84 of file APVShotFinder.cc.
References _shots.
Referenced by APVShotsAnalyzer::analyze(), SiStripMonitorDigi::analyze(), and SiStripShotFilter::filter().
{ return _shots; }
std::vector<APVShot> APVShotFinder::_shots [private] |
Definition at line 32 of file APVShotFinder.h.
Referenced by addShots(), computeShots(), and getShots().
bool APVShotFinder::_zs [private] |
Definition at line 31 of file APVShotFinder.h.
Referenced by addShots().