///////////////////////////////////////////////////////////////// // // FOR THE DEMONSTRATION // this class just collect all mc true hits as a track candidate // Y.Fujii // ///////////////////////////////////////////////////////////////// #ifndef TMCTrackFinder_hxx_seen #define TMCTrackFinder_hxx_seen #include #include #include #include #include #include #include #include #include #include class IMCTrackFinder : public IVTrackFinder { public: IMCTrackFinder(const char*name, const char* title); virtual ~IMCTrackFinder(); /// main task called in event-by-event void FindTrack(std::vector< COMET::IHandle > &track); /// This method is filled in derived classes COMET::IHandle Process(const COMET::IAlgorithmResult& input); /// load the event int Load(COMET::ICOMETEvent& anEvent); /// save the event int Save(COMET::ICOMETEvent* anEvent); /// called at the begin of run or else (should not be in event-by-event) int Init(); /// called at the end of run or else (should not be in event-by-event) int Finish(); /// Make the hit selection which contains the hits with the closest point in each CDC cells COMET::IHitSelection* MakeMCHitSelection(COMET::IHandle & mchits); /// Make a track candidate COMET::IReconTrackCand* MakeATrackCandidateFromHits(const COMET::IHandle& hits); private: std::string fName; protected: }; #endif