00001 #ifndef TrackingSlaveSD_h 00002 #define TrackingSlaveSD_h 00003 00004 #include "SimDataFormats/TrackingHit/interface/PSimHit.h" 00005 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h" 00006 00007 #include <string> 00008 #include <vector> 00009 class SimTrackManager; 00010 00011 class TrackingSlaveSD 00012 { 00013 public: 00014 typedef std::vector<PSimHit> Collection; 00015 typedef Collection::const_iterator const_iterator; 00016 TrackingSlaveSD(std::string); 00017 virtual ~TrackingSlaveSD(); 00018 virtual void Initialize(); 00019 // virtual void renumbering(const SimTrackManager*); 00020 virtual bool processHits(const PSimHit&); 00021 virtual bool format(); 00022 std::string name() const { return name_; } 00023 std::vector<PSimHit>& hits(){return hits_;} 00024 std::string type(){return "tk";} 00025 virtual const_iterator begin() { return hits_.begin();} 00026 virtual const_iterator end() { return hits_.end();} 00027 00028 protected: 00029 std::vector<PSimHit> hits_; 00030 void setTrackId(PSimHit & hit, unsigned int k); 00031 private: 00032 std::string name_; 00033 }; 00034 00035 #endif 00036 00037 00038 00039 00040