/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/MdcPatRec/TrkBase/TrkBase-00-01-12/TrkBase/TrkHitUse.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: TrkHitUse.h,v 1.1.1.1 2005/04/21 06:01:42 zhangy Exp $
00004 //
00005 // Description:
00006 //     Carries information about how a hit is to be used on a track, and 
00007 // is able to create the appropriate kind of HitOnTrk.  Abstract base class.
00008 //
00009 // Environment:
00010 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00011 //
00012 // Author(s): Steve Schaffner
00013 //
00014 //------------------------------------------------------------------------
00015 #ifndef TRKHITUSE_HH
00016 #define TRKHITUSE_HH
00017 
00018 class TrkFundHit;
00019 class TrkHitOnTrk;
00020 class TrkRep;
00021 //class SvtHit;
00022 class MdcHit;
00023 
00024 // Class interface //
00025 class TrkHitUse {
00026 
00027 public:
00028   TrkHitUse(const TrkFundHit&, double fltLen, bool active=true, 
00029             int usable=1);
00030   virtual ~TrkHitUse();
00031 
00032   bool                      isActive() const                {return _isActive;}
00033   int                       isUsable() const                {return _isUsable;}
00034   double                    fltLen()   const                {return _fltLen;}
00035   const TrkFundHit&         hit()      const                {return _hit;}
00036   virtual const MdcHit*     mdcHit()   const;
00037 //  virtual const SvtHit*     svtHit()   const;
00038  
00039   virtual TrkHitOnTrk*      createHitOnTrk(const TrkRep&) const = 0;
00040   void                      setFltLen(double flt)           {_fltLen = flt;}
00041 
00042   // operator== tests on equality of contents: FundHit address and anything 
00043   //  relevant in the derived classes (e.g. ambiguity for Mdc).  It does 
00044   //  not test flight length.
00045   virtual bool operator==(const TrkHitUse&) const = 0;
00046   
00047 private:        
00048   const TrkFundHit& _hit;
00049   bool _isActive;
00050   int _isUsable;
00051   double _fltLen;
00052 
00053   // Preempt 
00054   TrkHitUse&   operator= (const TrkHitUse&);
00055   TrkHitUse(const TrkHitUse &);
00056 };
00057 
00058 #endif

Generated on Tue Nov 29 23:13:42 2016 for BOSS_7.0.2 by  doxygen 1.4.7