CMS 3D CMS Logo

SiStripClusterizerAlgo Class Reference

Author:
M.Wingham, D.Giordano, R.Bainbridge
More...

#include <CommonTools/SiStripClusterization/interface/SiStripClusterizerAlgo.h>

Inheritance diagram for SiStripClusterizerAlgo:

SiStripDummyAlgo SiStripFrontEndDriverAlgo SiStripThreeThresholdAlgo

List of all members.

Public Member Functions

virtual void clusterize (const edm::DetSet< SiStripDigi > &, edm::DetSetVector< SiStripCluster > &)=0
void eventSetup (const edm::EventSetup &)
 Provides access to calibration constants for algorithms.
 SiStripClusterizerAlgo (const edm::ParameterSet &)
 Class constructor.
virtual ~SiStripClusterizerAlgo ()
 Virtual constructor.

Protected Member Functions

const SiStripGain *const gain ()
 Access to gain for algorithms.
const SiStripNoises *const noise ()
 Access to noise for algorithms.
const SiStripQuality *const quality ()
 Access to quality for algorithms.

Private Member Functions

virtual void add (std::vector< SiStripCluster > &, const uint32_t &id, const uint16_t &strip, const uint16_t &adc)
 Building of clusters on strip-by-strip basis.
virtual void endDet (std::vector< SiStripCluster > &, const uint32_t &id)
 SiStripClusterizerAlgo ()
 Private default constructor.

Private Attributes

const SiStripGaingain_
uint32_t gCacheId_
uint32_t nCacheId_
const SiStripNoisesnoise_
uint32_t qCacheId_
const SiStripQualityquality_

Friends

class SiStripRawToClustersLazyUnpacker
class SiStripRawToClustersModule
 Access to private add() method for RawToCluster.


Detailed Description

Author:
M.Wingham, D.Giordano, R.Bainbridge

Abstract base class for clusterizer algorithms

Definition at line 19 of file SiStripClusterizerAlgo.h.


Constructor & Destructor Documentation

SiStripClusterizerAlgo::SiStripClusterizerAlgo ( const edm::ParameterSet pset  ) 

Class constructor.

Definition at line 8 of file SiStripClusterizerAlgo.cc.

00008                                                                            :
00009   noise_(0),
00010   quality_(0),
00011   gain_(0),
00012   nCacheId_(0),
00013   qCacheId_(0),
00014   gCacheId_(0)
00015 {}

SiStripClusterizerAlgo::~SiStripClusterizerAlgo (  )  [virtual]

Virtual constructor.

Definition at line 19 of file SiStripClusterizerAlgo.cc.

00019 {}

SiStripClusterizerAlgo::SiStripClusterizerAlgo (  )  [inline, private]

Private default constructor.

Definition at line 53 of file SiStripClusterizerAlgo.h.

00053 {;}


Member Function Documentation

virtual void SiStripClusterizerAlgo::add ( std::vector< SiStripCluster > &  ,
const uint32_t &  id,
const uint16_t &  strip,
const uint16_t &  adc 
) [inline, private, virtual]

Building of clusters on strip-by-strip basis.

Reimplemented in SiStripThreeThresholdAlgo.

Definition at line 56 of file SiStripClusterizerAlgo.h.

Referenced by SiStripRawToClustersLazyUnpacker::fill().

00059                                           {;}

virtual void SiStripClusterizerAlgo::clusterize ( const edm::DetSet< SiStripDigi > &  ,
edm::DetSetVector< SiStripCluster > &   
) [pure virtual]

Implemented in SiStripDummyAlgo, SiStripFrontEndDriverAlgo, and SiStripThreeThresholdAlgo.

Referenced by SiStripClusterizerFactory::clusterize().

virtual void SiStripClusterizerAlgo::endDet ( std::vector< SiStripCluster > &  ,
const uint32_t &  id 
) [inline, private, virtual]

Reimplemented in SiStripThreeThresholdAlgo.

Definition at line 61 of file SiStripClusterizerAlgo.h.

Referenced by SiStripRawToClustersLazyUnpacker::fill().

00062                                             {;}

void SiStripClusterizerAlgo::eventSetup ( const edm::EventSetup setup  ) 

Provides access to calibration constants for algorithms.

Definition at line 23 of file SiStripClusterizerAlgo.cc.

References g, gain_, gCacheId_, edm::EventSetup::get(), n, nCacheId_, noise_, edm::ESHandle< T >::product(), qCacheId_, and quality_.

Referenced by SiStripClusterizerFactory::eventSetup().

00023                                                                     {
00024   
00025   uint32_t n_cache_id = setup.get<SiStripNoisesRcd>().cacheIdentifier();
00026   uint32_t q_cache_id = setup.get<SiStripQualityRcd>().cacheIdentifier();
00027   uint32_t g_cache_id = setup.get<SiStripGainRcd>().cacheIdentifier();
00028   
00029   if ( nCacheId_ != n_cache_id ) {
00030     edm::ESHandle<SiStripNoises> n;
00031     setup.get<SiStripNoisesRcd>().get(n);
00032     noise_ = n.product();
00033     nCacheId_ = n_cache_id;
00034   }
00035   
00036   if ( qCacheId_ != q_cache_id ) {
00037     edm::ESHandle<SiStripQuality> q;
00038     setup.get<SiStripQualityRcd>().get(q);
00039     quality_ = q.product();
00040     qCacheId_ = q_cache_id;
00041   }
00042   
00043   if ( gCacheId_ != g_cache_id ) {
00044     edm::ESHandle<SiStripGain> g;
00045     setup.get<SiStripGainRcd>().get(g);
00046     gain_ = g.product();
00047     gCacheId_ = g_cache_id;
00048   }
00049   
00050 }

const SiStripGain *const SiStripClusterizerAlgo::gain (  )  [inline, protected]

Access to gain for algorithms.

Definition at line 76 of file SiStripClusterizerAlgo.h.

References gain_.

Referenced by SiStripThreeThresholdAlgo::add().

00076 { return gain_; }

const SiStripNoises *const SiStripClusterizerAlgo::noise (  )  [inline, protected]

Access to noise for algorithms.

Definition at line 74 of file SiStripClusterizerAlgo.h.

References noise_.

Referenced by SiStripThreeThresholdAlgo::add().

00074 { return noise_; }

const SiStripQuality *const SiStripClusterizerAlgo::quality (  )  [inline, protected]

Access to quality for algorithms.

Definition at line 75 of file SiStripClusterizerAlgo.h.

References quality_.

Referenced by SiStripThreeThresholdAlgo::add().

00075 { return quality_; }


Friends And Related Function Documentation

friend class SiStripRawToClustersLazyUnpacker [friend]

Definition at line 23 of file SiStripClusterizerAlgo.h.

friend class SiStripRawToClustersModule [friend]

Access to private add() method for RawToCluster.

Definition at line 22 of file SiStripClusterizerAlgo.h.


Member Data Documentation

const SiStripGain* SiStripClusterizerAlgo::gain_ [private]

Definition at line 66 of file SiStripClusterizerAlgo.h.

Referenced by eventSetup(), and gain().

uint32_t SiStripClusterizerAlgo::gCacheId_ [private]

Definition at line 70 of file SiStripClusterizerAlgo.h.

Referenced by eventSetup().

uint32_t SiStripClusterizerAlgo::nCacheId_ [private]

Definition at line 68 of file SiStripClusterizerAlgo.h.

Referenced by eventSetup().

const SiStripNoises* SiStripClusterizerAlgo::noise_ [private]

Definition at line 64 of file SiStripClusterizerAlgo.h.

Referenced by eventSetup(), and noise().

uint32_t SiStripClusterizerAlgo::qCacheId_ [private]

Definition at line 69 of file SiStripClusterizerAlgo.h.

Referenced by eventSetup().

const SiStripQuality* SiStripClusterizerAlgo::quality_ [private]

Definition at line 65 of file SiStripClusterizerAlgo.h.

Referenced by eventSetup(), and quality().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:32:14 2009 for CMSSW by  doxygen 1.5.4