/* * PndTrackCollection.h * * Created on: Jul 28, 2016 * Author: kibellus */ #ifndef PNDTOOLS_PNDFORWARDTRACKFINDER_PNDTRACKCOLLECTION_H_ #define PNDTOOLS_PNDFORWARDTRACKFINDER_PNDTRACKCOLLECTION_H_ #include #include "PndLineApproximation.h" using namespace std; class PndTrackCollection { public: PndTrackCollection(); virtual ~PndTrackCollection(); void add(PndLineApproximation l,Bool_t skewed); PndLine getCurrLine(){return fCurrLine;} PndLine getLastLine(){return (*fLines)[fLines->size()-1].getLine();} vector *getLines(){return fLines;} PndTrack getPndTrack(map orgHits); vector getHits(){ vector result; for(size_t i=0;isize();i++){ for(size_t j=0;j<(*fLines)[i].getHits().size();j++){ result.push_back((*fLines)[i].getHits()[j]); } } return result; } vector fHits; void addHit(PndFtsHit* h){fHits.push_back(h);} Double_t getDistTo(PndLine l,Int_t layer); private: std::vector *fLines; PndLine fCurrLine; PndFtsHit* copyHit(PndFtsHit *h); void refitAllHits(); void refitAllTracks(); void refitHit(PndLine &l,PndFtsHit* hit); }; #endif /* PNDTOOLS_PNDFORWARDTRACKFINDER_PNDTRACKCOLLECTION_H_ */