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

beamtime/cosy-jan12/go4/STS/TSTSHiterizer.h (r4864/r3091)

Go to the documentation of this file.
00001 /*
00002  * TSTSHiterizer.h
00003  *
00004  *  Created on: Jan 9, 2012
00005  *      Author: isorokin
00006  */
00007 
00008 #ifndef TSTSHITERIZER_H
00009 #define TSTSHITERIZER_H
00010 
00011 #include "TSTSTopology.h"
00012 #include "TSTSHit.h"
00013 #include <deque>
00014 
00015 class TSTSHiterizer {
00016 private:
00017         Long64_t                    fTimeTolerance;
00018         Long64_t                    fTimeWindow;
00019         static const Long64_t       kDefTimeTolerance = 50;
00020         static const Long64_t       kDefTimeWindow = 5000;
00021     Int_t                       fDetector;
00022     std::deque<TSTSCluster>     fClusters[TSTSTopology::kNSides];
00023     std::deque<TSTSHit>         fHits;
00024     Long64_t                    fLatestClusterTime;
00025     Bool_t                      IsClusterBuffersFilled(Bool_t noTrigger) const;
00026     TSTSTopology::ESTSSide      GetOldesetClusterSide() const;
00027     Bool_t                      IsClusterBuffersContainSufficientTimeInterval() const;
00028         Bool_t                      Match( const TSTSCluster & clust1, const TSTSCluster & clust2) const;
00029         void                        CreateHit( const TSTSCluster & clust1, TSTSTopology::ESTSSide side1, const TSTSCluster & clust2, TSTSTopology::ESTSSide side2);
00030     void                        ClearClustBuffers();
00031     void                        ReconstructHits( Bool_t noTrigger );
00032     void                        CheckTimeWindowSufficient( Long64_t newClustTime );
00033     void                        InsertClusterSorted(TSTSTopology::ESTSSide side, const TSTSCluster & cluster);
00034     void                        PrintBuffers() const;
00035 
00036 public:
00037         TSTSHiterizer( Int_t det = 0 );
00038         ~TSTSHiterizer();
00039         void                            FeedCluster( const TSTSCluster & cluster, TSTSTopology::ESTSSide side);
00040         Bool_t                  FetchHit( Bool_t noTrigger, TSTSHit & hit );
00041         Long64_t                        GetTimeTolerance() const { return fTimeTolerance; }
00042         void                            SetTimeTolerance( Long64_t timeTolerance ) { fTimeTolerance = timeTolerance; }
00043     void                    SetTimeWindow( Long64_t timeWindow ) { fTimeWindow = timeWindow; }
00044     Long64_t                GetTimeWindow() const { return fTimeWindow; }
00045         void                    Clear();
00046 };
00047 
00048 
00049 #endif /* TSTSHITERIZER_H */

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