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

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: TrkExpectedHot.h,v 1.1.1.1 2005/04/21 06:01:42 zhangy Exp $
00004 //
00005 // Description:
00006 //      Defines a Expected hit on a track, and stores information about it.
00007 //
00008 // Environment:
00009 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00010 //
00011 // Authors: Eric Charles            UW Madison
00012 //           
00013 //
00014 //------------------------------------------------------------------------
00015 
00016 #ifndef TRKEXPECTEDHOT_HH
00017 #define TRKEXPECTEDHOT_HH
00018 
00019 //---------------
00020 // C++ Headers --
00021 //---------------
00022 
00023 #include <iostream>
00024 #include "TrkBase/TrkDetElemId.h"
00025 
00026 //----------------
00027 //  BaBar Headers
00028 //----------------
00029 
00030 class TrkExpectedTrk;
00031 class TrkHitOnTrk;
00032 class TrkDifPoca;
00033 
00034 #include <vector>
00035 
00036 // Class interface //
00037 class TrkExpectedHot {
00038 
00039 public:
00040                  
00041   // copy c'tor
00042   TrkExpectedHot( const TrkExpectedHot& );
00043 
00044   // Destructor
00045   virtual ~TrkExpectedHot();
00046 
00047   // access to the internal id of the associated element 
00048   // ( offset by subsystem )
00049   const TrkDetElemId& id() const{ return _id; }
00050 
00051   // sorting
00052   // sorting uses the internal id
00053   bool operator == ( const TrkExpectedHot& rhs ) const;
00054   bool operator <  ( const TrkExpectedHot& rhs ) const;
00055 
00056   virtual bool setHot( const TrkHitOnTrk* aHot ) = 0;
00057   virtual bool setHots( const TrkExpectedHot* aHot ) = 0;
00058 
00059   virtual bool hasHot( ) const = 0;
00060   virtual bool hasGHit( ) const = 0;
00061 
00062   bool isSvt() const;
00063   bool isMdc() const;
00064 
00065   virtual bool getHots( std::vector<TrkHitOnTrk*>& hots ) const=0;
00066 
00067   virtual void printAll( std::ostream& os ) const = 0;
00068 
00069   const TrkExpectedTrk* exTrk() const { return _exTrk; };
00070   
00071 protected:
00072 
00073   // c'tors are protected, only called by concrete classes
00074   TrkExpectedHot( const TrkDetElemId& id );
00075   TrkExpectedHot( const int& id, TrkDetElemId::systemIndex sysInd );
00076 
00077   void setExTrk( const TrkExpectedTrk* anExTrk ) { _exTrk = anExTrk; }
00078 
00079 private:
00080 
00081   // elem id
00082   const TrkDetElemId _id;
00083   const TrkExpectedTrk* _exTrk;
00084 
00085   friend class TrkExpectedHotSet;
00086 
00087 };
00088 
00089 #endif
00090 

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