// ------------------------------------------------------------------------- // ----- PndLmdTrackFinderTask ----- // ----- Created 22/10/09 by M. Michel ----- // ------------------------------------------------------------------------- #ifndef PNDLMDTRACKFINDERTASK_H #define PNDLMDTRACKFINDERTASK_H #include "FairTask.h" #include "PndMCTrack.h" #include "PndSdsGeoPar.h" #include "PndSdsHit.h" #include "PndSdsMCPoint.h" #include "PndSdsClusterStrip.h" #include "TrackData/PndTrackCand.h" #include #include #include class TClonesArray; class PndLmdTrackFinderTask : public FairTask { public: /** Default constructor **/ PndLmdTrackFinderTask(Int_t inFinderMode=0); /** Destructor **/ virtual ~PndLmdTrackFinderTask(); /** Virtual method Init **/ virtual void SetParContainers(); virtual InitStatus Init(); virtual InitStatus ReInit(); /** Virtual method Exec **/ virtual void Exec(Option_t* opt); void SetVerbose(Int_t verbose){ fVerbose = verbose; }; void SetInaccuracy(Double_t accu) { dXY = accu; }; private: Double_t dXY; Int_t fFinderMode; // std::vector GetHitPerCluster(PndSdsClusterStrip* clusterCand); Double_t GetTrackDip(PndMCTrack* myTrack); Double_t GetTrackCurvature(PndMCTrack* myTrack); TString fHitBranchStrip; TString fClusterBranchStrip; TString fDigiBranchStrip; /** Input array of PndSdsDigis **/ TClonesArray* fStripHitArray; TClonesArray* fStripClusterArray; TClonesArray* fStripDigiArray; /** Output array of PndSdsHits **/ TClonesArray* fTrackCandArray; void Register(); void Reset(); void ProduceHits(); bool SortHitsByZ(std::vector< std::vector< std::pair > > &hitsd, Int_t nStripHits); bool SortHitsByDet(std::vector< std::vector< std::pair > > &hitsd, Int_t nStripHits); void FindHitsI(std::vector &tofill, std::vector< std::vector< std::pair > > &hitsd, Int_t nStripHits); void FindHitsII(std::vector &tofill, std::vector< std::vector< std::pair > > &hitsd, Int_t nStripHits); void FindHitsIII(std::vector &tofill, std::vector< std::vector< std::pair > > &hitsd, Int_t nStripHits); ClassDef(PndLmdTrackFinderTask,2); }; #endif /* PndLmdTrackFinderTASK_H */