00001 //-------------------------------------------------------------------------- 00002 // File and Version Information: 00003 // $Id: MdcSegData.h,v 1.3 2011/09/26 01:06:37 zhangy Exp $ 00004 // 00005 // Description: 00006 // Hold (pointer to) list of Mdc hits, and some auxiliary information. 00007 // It mostly exists for historical reasons. 00008 // 00009 // Environment: 00010 // Software developed for the BaBar Detector at the SLAC B-Factory. 00011 // 00012 // Author(s): Steve Schaffner 00013 //------------------------------------------------------------------------ 00014 #ifndef MDCSEGDATA_H 00015 #define MDCSEGDATA_H 00016 00017 //#include "MdcTrkRecon/MdcHitDict.h" 00018 #include "MdcTrkRecon/MdcMap.h" 00019 #include "MdcData/MdcHit.h" 00020 00021 class MdcDetector; 00022 class MdcHitMap; 00023 class MdcSegUsage; 00024 00025 00026 class MdcSegData 00027 { 00028 public: 00029 typedef MdcMap<const MdcHit*,MdcSegUsage*> MdcHitDict; 00030 00031 MdcSegData(bool skipUsedHit); 00032 virtual ~MdcSegData(); 00033 00034 int nevent() const {return eventNumber;} 00035 int nhits() const; 00036 int runNumber() const {return _runNumber;} 00037 const MdcHit* hit(int hitno) const; 00038 const MdcHitDict& segUsage() const {return _segUsageDict;} 00039 const MdcHitMap* hitMap() const {return _hitMap;} 00040 void loadevent(MdcHitCol *col, MdcHitMap *hmap, double tbunch); 00041 double bunchTime(void) const {return _bunchTime;} 00042 bool skippingUsed() const {return _skipUsed;} 00043 void poisonHits(const MdcDetector *gm, int debug = 0); 00044 00045 private: 00046 bool _skipUsed; 00047 int eventNumber; 00048 int _runNumber; 00049 MdcHitCol* _theHits; 00050 MdcHitDict _segUsageDict; 00051 MdcSegUsage* _segUsage; 00052 MdcHitMap* _hitMap; 00053 double _bunchTime; 00054 00055 // Preempt 00056 MdcSegData& operator= (const MdcSegData&); 00057 MdcSegData(const MdcSegData &); 00058 }; 00059 #endif