//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Associates Tpc Clusters to the Laser Grid and // builds GFTracks // (uses the GFReps from TpcLaserGrid) // // // // Environment: // Software developed for the GEM-TPC detector. // // Author List: // Felix Boehmer TUM (original author) // //----------------------------------------------------------- #ifndef TPCLASERMATCHINGTASK_H #define TPCLASERMATCHINGTASK_H //Base class #include "FairTask.h" #include "TString.h" // Collaborating Class Declarations -------------------------------------- class TClonesArray; class TpcDigiPar; class GFRecoHitFactory; class TpcLaserMatchingTask : public FairTask { public: // Constructor ----------------------------------------------------------- TpcLaserMatchingTask(); //default constructor virtual ~TpcLaserMatchingTask(); virtual InitStatus Init(); //needs to be overidden as usual virtual void Exec(Option_t* opt); //... virtual void SetParContainers(); void SetPersistence(bool opt=true) {fPersistence=opt;} //write out residuals during matching; default: off void SetVerboseResiduals(bool verb=true, bool ps=true) {fVerbose=verb; fPreSelect=ps;} void SetClusterBranchName(const TString& name) {fClusterBranchName=name;} void SetDistCut(double md) {fMaxDist=md;} private: TString fClusterBranchName; TString fResidualBranchName; bool fPersistence; bool fVerbose; //write residuals during matching : bool fPreSelect; // true: before finding the best match // false: only after TClonesArray* fClusterArray; TClonesArray* fGFTrackArray; TClonesArray* fResidualArray; TpcDigiPar* fPar; double fZMin, fZMax, fRMin, fRMax; double fMaxDist; //(cm) unsigned int fMatched; //statistics unsigned int fNotMatched; GFRecoHitFactory* fFactory; //for finalizing the GFTracks public: ClassDef(TpcLaserMatchingTask,2) }; #endif