File indexing completed on 2024-04-06 12:29:43
0001 #ifndef TrackingSlaveSD_h
0002 #define TrackingSlaveSD_h
0003
0004 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
0005 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0006
0007 #include <string>
0008 #include <vector>
0009 class SimTrackManager;
0010
0011 class TrackingSlaveSD {
0012 public:
0013 typedef std::vector<PSimHit> Collection;
0014 typedef Collection::const_iterator const_iterator;
0015 TrackingSlaveSD(std::string);
0016 virtual ~TrackingSlaveSD();
0017 virtual void Initialize();
0018
0019 virtual bool processHits(const PSimHit &);
0020 virtual bool format();
0021 std::string name() const { return name_; }
0022 std::vector<PSimHit> &hits() { return hits_; }
0023 std::string type() { return "tk"; }
0024 virtual const_iterator begin() { return hits_.begin(); }
0025 virtual const_iterator end() { return hits_.end(); }
0026
0027 protected:
0028 std::vector<PSimHit> hits_;
0029 void setTrackId(PSimHit &hit, unsigned int k);
0030
0031 private:
0032 std::string name_;
0033 };
0034
0035 #endif