/** PndMvdIdealTrackFinderTask.h *@author Tobias Stockmanns ** ** Ideal cluster finding task */ #ifndef PndMvdIdealTrackFinderTASK_H #define PndMvdIdealTrackFinderTASK_H #include "CbmTask.h" #include "CbmMCTrack.h" #include "PndMvdGeoPar.h" #include "PndMvdHit.h" #include "PndMvdMCPoint.h" #include "PndMvdPixel.h" #include "PndMvdClusterCand.h" #include "TrackCand.h" #include #include class TClonesArray; class PndMvdIdealTrackFinderTask : public CbmTask { public: /** Default constructor **/ PndMvdIdealTrackFinderTask(); /** Destructor **/ virtual ~PndMvdIdealTrackFinderTask(); /** Virtual method Init **/ virtual void SetParContainers(); virtual InitStatus Init(); virtual InitStatus ReInit(); /** Virtual method Exec **/ virtual void Exec(Option_t* opt); void PrintResult(); void SetVerbose(Int_t verbose){ fVerbose = verbose;}; private: std::vector GetHitPerCluster(PndMvdClusterCand* clusterCand); void ClearTrackCandMap(); Double_t GetTrackDip(CbmMCTrack* myTrack); Double_t GetTrackCurvature(CbmMCTrack* myTrack); TString fHitBranch; TString fClusterBranch; TString fDigiBranch; TString fMcBranch; TString fTrackBranch; /** Input array of PndMvdDigis **/ TClonesArray* fHitArray; TClonesArray* fClusterArray; TClonesArray* fDigiArray; TClonesArray* fMcArray; TClonesArray* fTrackArray; /** Output array of PndMvdHits **/ TClonesArray* fTrackCandArray; std::map fTrackCandMap; Int_t fVerbose; void Register(); void Reset(); void ProduceHits(); ClassDef(PndMvdIdealTrackFinderTask,2); }; #endif /* PndMvdIdealTrackFinderTASK_H */