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

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: TrkExpectedHotSet.h,v 1.1.1.1 2005/04/21 06:01:42 zhangy Exp $
00004 //
00005 // Description:
00006 //      Defines a set of Expected hit on a track.
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 #ifndef TRKEXPECTEDHOTSET_HH
00016 #define TRKEXPECTEDHOTSET_HH
00017 
00018 //---------------
00019 // C++ Headers --
00020 //---------------
00021 
00022 #include <iostream>
00023 #include "TrkBase/TrkDetElemId.h"
00024 
00025 //----------------
00026 //  BaBar Headers
00027 //----------------
00028 
00029 #include <vector>
00030 
00031 class TrkExpectedTrk;
00032 class TrkExpectedHot;
00033 class TrkFitTypeKey;
00034 class TrkFundHit;
00035 class TrkHitOnTrk;
00036 class TrkHitList;
00037 
00038 // Class interface //
00039 class TrkExpectedHotSet {
00040 
00041 public:
00042 
00043   // Construct from the cell and the hit
00044   TrkExpectedHotSet( const TrkDetElemId& elemId,
00045                      const int& maxFits );
00046 
00047   // Destructor
00048   virtual ~TrkExpectedHotSet();
00049 
00050   // operator == for vectors, check identity
00051   bool operator== ( const TrkExpectedHotSet& rhs ) {
00052     return this == &rhs;
00053   }
00054 
00055   // Access to the cell id (offset by subsystem)
00056   const TrkDetElemId& elemId() const{ 
00057     return _elemId;
00058   };
00059 
00060   // access to the hot ( from the key )
00061   const TrkExpectedHot* exHot( const TrkFitTypeKey& key ) const;
00062   // the "reference" exHot
00063   const TrkExpectedHot* exHot( ) const;  
00064 
00065   // access to the other hots from fund hits
00066   void getHots( std::vector<TrkHitOnTrk*>& hots ) const;
00067 
00068   // is this fit type already in?
00069   bool hasFitType( const TrkFitTypeKey& key ) const;
00070 
00071   // other access
00072   const std::vector<int>& fitTypeMap() const { return _fitTypeMap; }  
00073   std::vector<TrkExpectedHot*> theHots() const { return _theHots; }
00074 
00075   // add info from a track
00076   bool addInfo( TrkExpectedHot* aHot,
00077                 const TrkFitTypeKey& key );
00078   
00079   void printFit( const TrkFitTypeKey& key,
00080                  std::ostream& os = std::cout ) const;
00081   
00082   bool isSvt() const;
00083   bool isMdc() const;
00084 
00085   const TrkExpectedTrk* exTrk() const { return _exTrk; }
00086 
00087 protected:
00088 
00089   void setExTrk( const TrkExpectedTrk* anExTrk );
00090 
00091 private:
00092 
00093   const TrkDetElemId _elemId;
00094   int _nFit;
00095   
00096   std::vector<int> _fitTypeMap;
00097   std::vector<TrkExpectedHot*> _theHots;
00098 
00099   friend class TrkExpectedTrk;
00100   friend class TrkExpectedHotFactory;
00101 
00102   const TrkExpectedTrk* _exTrk;
00103 
00104 };
00105 
00106 #endif
00107 
00108 
00109 
00110 
00111 

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