• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

beamtime/sts-lasertest/go4/STS/TSTSClusterizer.h (r4864/r3065)

Go to the documentation of this file.
00001 #ifndef TSTSCLUSTERIZER_H
00002 #define TSTSCLUSTERIZER_H
00003 
00004 #include <vector>
00005 #include <deque>
00006 #include "Rtypes.h"
00007 #include "TSTSCluster.h"
00008 #include "TSTSTopology.h"
00009 
00010 class TSTSClusterizer {
00011 protected:
00012         Int_t                                   fTimeTolerance;  // [ns] if delta time < or = fkTimeTolerance then ==> same cluster
00013         Int_t                                   fSpaceTolerance; // [strips], if delta channel < or = fkSpaceTolerance ==> same cluster
00014         Long64_t                                fTimeWindow;     // [ns]
00015 
00016         static Int_t const              kDefTimeTolerance = 50;
00017         static Int_t const              kDefSpaceTolerance = 1;
00018         static Int_t const              kDefTimeWindow = 5000;
00019         Int_t                                   fDetector;
00020         Int_t                                   fSide;
00021         std::deque<TSTSDigi>    fDigis;
00022         Bool_t                                  Match( const TSTSDigi digi1, const TSTSDigi digi2 );
00023         Bool_t                                  Match( const TSTSCluster* const cluster, const TSTSDigi digi );
00024         void                                    MoveDigiToCluster( TSTSCluster* cluster, const std::deque<TSTSDigi>::iterator & itDigi );
00025         Bool_t                                  FindDigiFitsCluster( Bool_t noTrigger, const TSTSCluster* const cluster, std::deque<TSTSDigi>::iterator & itDigi );
00026 
00027 public:
00028         TSTSClusterizer( Int_t det = 0, Int_t side = 0 );
00029         virtual ~TSTSClusterizer();
00030         void                                    FeedDigi( TSTSDigi const & digi ) { fDigis.push_back( digi ); }
00031         TSTSCluster *                   FetchCluster( Bool_t noTriggers );
00032         Int_t                                   GetDetector() const { return fDetector; }
00033         Int_t                                   GetSide() const { return fSide; }
00034         void                                    SetDetector( Int_t det ) { fDetector = det; }
00035         void                                    SetSide( Int_t side ) { fSide = side; }
00036         void                                    SetTimeTolerance( Int_t timeTolerance ) { fTimeTolerance = timeTolerance; }
00037         void                                    SetSpaceTolerance( Int_t spaceTolerance ) { fSpaceTolerance = spaceTolerance; }
00038         void              Clear() {fDigis.clear();}
00039         ClassDef(TSTSClusterizer,1)
00040 };
00041 
00042 
00043 
00044 #endif // #ifndef TSTSCLUSTERIZER_H
00045 

Generated on Tue Dec 10 2013 04:52:18 for ROCsoft by  doxygen 1.7.1