00001 #ifndef StiVertexFinder_H
00002 #define StiVertexFinder_H 1
00003 #include "Sti/Base/Factory.h"
00004 #include "Sti/Base/Named.h"
00005 #include <vector>
00006
00007 class StEvent;
00008 class StiHit;
00009
00013 class StiVertexFinder : public Named
00014 {
00015 public:
00016 StiVertexFinder(const string & name);
00017 virtual ~StiVertexFinder();
00019 virtual int fit(StEvent*)=0;
00020 virtual StiHit * getVertex(int index) =0;
00021 virtual int size() const =0;
00022 Factory<StiHit>* getHitFactory();
00023 virtual void clear()=0;
00024
00025 const std::vector<StiHit*> *result();
00026
00027 protected:
00028 StiVertexFinder();
00029 Factory<StiHit>* _hitFactory;
00030 std::vector<StiHit*> _result;
00031 };
00032
00033 inline Factory<StiHit>* StiVertexFinder::getHitFactory()
00034 {
00035 return _hitFactory;
00036 }
00037
00038 #endif