CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

APVShotFinder Class Reference

#include <APVShotFinder.h>

List of all members.

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

Detailed Description

Definition at line 15 of file APVShotFinder.h.


Constructor & Destructor Documentation

APVShotFinder::APVShotFinder ( const bool  zs = true)

Definition at line 10 of file APVShotFinder.cc.

                                         :
  _zs(zs), _shots() { }
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);

}

Member Function Documentation

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 cond::rpcobtemp::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().

                                                                    {

  _shots.clear();
  addShots(digis);
  
}
const std::vector< APVShot > & APVShotFinder::getShots ( ) const

Definition at line 84 of file APVShotFinder.cc.

References _shots.

Referenced by APVShotsAnalyzer::analyze(), and SiStripShotFilter::filter().

{ return _shots; }

Member Data Documentation

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().