/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/TrkReco/TrkReco-00-08-59-patch4-slc6tag/TrkReco/TFinderBase.h

Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 // $Id: TFinderBase.h,v 1.4 2010/03/31 09:58:59 liucy Exp $
00003 //-----------------------------------------------------------------------------
00004 // Filename : TFinderBase.h
00005 // Section  : Tracking
00006 // Owner    : Yoshi Iwasaki
00007 // Email    : yoshihito.iwasaki@kek.jp
00008 //-----------------------------------------------------------------------------
00009 // Description : A virtual class for a track finder in tracking.
00010 //               See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
00011 //-----------------------------------------------------------------------------
00012 
00013 #ifndef TFinderBase_FLAG_
00014 #define TFinderBase_FLAG_
00015 
00016 #ifdef TRKRECO_DEBUG_DETAIL
00017 #ifndef TRKRECO_DEBUG
00018 #define TRKRECO_DEBUG
00019 #endif
00020 #endif
00021 
00022 #include <string>
00023 
00024 #define HEP_SHORT_NAMES
00025 #include "CLHEP/Alist/AList.h"
00026 
00027 class TMDCWireHit;
00028 class TTrack;
00029 
00031 class TFinderBase {
00032 
00033   public:
00035     TFinderBase();
00036 
00038     virtual ~TFinderBase();
00039 
00040   public:// General interfaces
00042     virtual std::string name(void) const = 0;
00043 
00045     virtual std::string version(void) const= 0;
00046 
00048     virtual void dump(const std::string & message = std::string(""),
00049                       const std::string & prefix = std::string("")) const;
00050 
00052     virtual int debugLevel(void) const;
00053 
00054   public:// Modifiers
00056     virtual void clear(void) = 0;
00057 
00059     virtual int debugLevel(int);
00060 
00062     virtual bool doStereo(bool);
00063 
00065     virtual bool doSalvage(bool);
00066 
00068     virtual int doit(const AList<TMDCWireHit> & axialHits,
00069                      const AList<TMDCWireHit> & stereoHits,
00070                      AList<TTrack> & tracks3D,
00071                      AList<TTrack> & tracks2D) = 0;
00072 
00073   private:
00074     int _debugLevel;
00075 };
00076 
00077 //-----------------------------------------------------------------------------
00078 
00079 #ifdef TFinderBase_NO_INLINE
00080 #define inline
00081 #else
00082 #undef inline
00083 #define TFinderBase_INLINE_DEFINE_HERE
00084 #endif
00085 
00086 #ifdef TFinderBase_INLINE_DEFINE_HERE
00087 
00088 inline
00089 int
00090 TFinderBase::debugLevel(void) const {
00091     return _debugLevel;
00092 }
00093 
00094 inline
00095 int
00096 TFinderBase::debugLevel(int a) {
00097     return _debugLevel = a;
00098 }
00099 
00100 inline
00101 bool
00102 TFinderBase::doStereo(bool a) {
00103     return a;
00104 }
00105 
00106 inline
00107 bool
00108 TFinderBase::doSalvage(bool a) {
00109     return a;
00110 }
00111 
00112 #endif
00113 
00114 #undef inline
00115 
00116 #endif /* TFinderBase_FLAG_ */

Generated on Tue Nov 29 23:14:17 2016 for BOSS_7.0.2 by  doxygen 1.4.7