Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

SiClustersAlg Class Reference

#include <SiClustersAlg.h>

Inheritance diagram for SiClustersAlg:

Algorithm List of all members.

Public Methods

 SiClustersAlg (const std::string& name, ISvcLocator* pSvcLocator)
 Constructor of this form must be provided. More...

virtual ~SiClustersAlg ()
StatusCode initialize ()
 mandatory. More...

StatusCode execute ()
 mandatory. More...

StatusCode finalize ()
 mandatory. More...


Protected Methods

StatusCode retrieve ()
Point position (int ilayer, SiCluster::view v, double strip, int tower = 0)
bool isGapBetween (const int lowHit, const int highHit)
bool isGoodCluster ( const int lowHit, const int highHit, const int nBad)
int tagGood (const int strip)
int tagBad (const int strip)
int untag (const int strip)

Private Attributes

ITkrGeometrySvcpTkrGeo
ITkrBadStripsSvcpBadStrips
TkrDigiCol* m_TkrDigis
SiClustersm_SiClusters

Constructor & Destructor Documentation

SiClustersAlg::SiClustersAlg ( const std::string & name,
ISvcLocator * pSvcLocator )
 

Constructor of this form must be provided.

The strategy is to merge the list of hits in a layer with the list of known bad strips. The good and bad hits are marked so they can be recognized, but the mechanism is hidden in the TkrBadStripsSvc.

What constititutes a gap and a good cluster is defined by the code in isGap and isGoodCluster, respectively.

A set of adjacent hits followed by a gap is a potential cluster. For each potential cluster, we ask if it contains any good hits. If so, the cluster is added, if not, it is dropped. There may be other criteria for dropping a cluster, such as too many hits.

What constititutes a gap and a good cluster is defined by the code in isGapBetweem and isGoodCluster, respectively.

Definition at line 44 of file SiClustersAlg.cxx.

SiClustersAlg::~SiClustersAlg ( ) [inline, virtual]
 

Definition at line 31 of file SiClustersAlg.h.


Member Function Documentation

StatusCode SiClustersAlg::execute ( )
 

mandatory.

Definition at line 73 of file SiClustersAlg.cxx.

StatusCode SiClustersAlg::finalize ( )
 

mandatory.

Definition at line 163 of file SiClustersAlg.cxx.

StatusCode SiClustersAlg::initialize ( )
 

mandatory.

Definition at line 48 of file SiClustersAlg.cxx.

bool SiClustersAlg::isGapBetween ( const int lowStrip,
const int highStrip ) [protected]
 

Definition at line 231 of file SiClustersAlg.cxx.

Referenced by execute().

bool SiClustersAlg::isGoodCluster ( const int lowStrip,
const int highStrip,
const int nBad ) [protected]
 

Definition at line 248 of file SiClustersAlg.cxx.

Referenced by execute().

Point SiClustersAlg::position ( int plane,
SiCluster::view v,
double strip,
int tower = 0 ) [protected]
 

Check to see if we can get the subdirectory. If not create it

Definition at line 202 of file SiClustersAlg.cxx.

Referenced by execute().

StatusCode SiClustersAlg::retrieve ( ) [protected]
 

Definition at line 171 of file SiClustersAlg.cxx.

Referenced by execute().

int SiClustersAlg::tagBad ( const int strip ) [protected]
 

Definition at line 263 of file SiClustersAlg.cxx.

Referenced by execute().

int SiClustersAlg::tagGood ( const int strip ) [protected]
 

Definition at line 270 of file SiClustersAlg.cxx.

Referenced by execute().

int SiClustersAlg::untag ( const int strip ) [protected]
 

Definition at line 277 of file SiClustersAlg.cxx.

Referenced by execute(), isGapBetween(), and isGoodCluster().


Member Data Documentation

SiClusters * SiClustersAlg::m_SiClusters [private]
 

Definition at line 60 of file SiClustersAlg.h.

TkrDigiCol * SiClustersAlg::m_TkrDigis [private]
 

Definition at line 59 of file SiClustersAlg.h.

ITkrBadStripsSvc * SiClustersAlg::pBadStrips [private]
 

Definition at line 57 of file SiClustersAlg.h.

ITkrGeometrySvc * SiClustersAlg::pTkrGeo [private]
 

Definition at line 56 of file SiClustersAlg.h.


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 12:21:29 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000