//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // TPC-CDC Matching Routine // // // Environment: // Software developed for the Prototype Detector at FOPI // // Author List: // Robert Münzer TUM // //----------------------------------------------------------- #ifndef TPCHELMATCHPHIPSTASK_H #define TPCHELMATCHPHIPSTASK_H //Base class #include "FairTask.h" #include "TClonesArray.h" #include "TString.h" #include "TVector3.h" #include "FairGeanePro.h" class TpcDigiPar; // Collaborating Class Declarations -------------------------------------- class TpcHelMatchTaskPhilipp : public FairTask { public: // Constructor ---------------------------------------------- TpcHelMatchTaskPhilipp(); //default constructor ~TpcHelMatchTaskPhilipp(); virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void SetParContainers(); // Modifiers -------------------------------------------------- void SetPersistence(Bool_t opt=kTRUE) {fPersistence=opt;} void SetTpcClusterBranchName(TString cln) {fTpcClusterBranchName=cln;} void SetTpcTrackBranchName(TString tn) {fTpcTrackBranchName=tn;} void SetTpcTrackFitBranchName(TString tn) {fTpcTrackFitBranchName=tn;} void SetCdcHitBranchName(TString tn) {fCdcHitBranchName=tn;} void SetHelHitAllBranchName(TString hhfbr) {fHelHitAllBranchName=hhfbr;} void SetHelHitBranchName(TString hhbr) {fHelHitBranchName=hhbr;} void SetHelTrackBranchName(TString htbr) {fHelTrackBranchName=htbr;} void SetPlaHitAllBranchName(TString ptbr) {fPlaHitAllBranchName=ptbr;} void SetPlaTrackBranchName(TString ptbr) {fPlaTrackBranchName=ptbr;} void SetSecondarySuppression(Bool_t opt=kTRUE) {fSecondarySupp=opt;} void SetNumberOfTrackReps(unsigned int n) {fNumReps=n;} void SetMaxMatDistance(double max) {fmaxmatdistance=max;} void SetMaxMatPhi(double max) {fmaxmatphi=max;} void SetMinHitsperLength(double mhpl) {fminhitsperlength=mhpl;} private: Float_t fRad; Bool_t fPersistence; Bool_t fSecondarySupp; // branch names TString fFopiEvBranchName; TString fTpcClusterBranchName; TString fTpcTrackBranchName; TString fTpcTrackFitBranchName; TString fCdcHitBranchName; TString fHelHitAllBranchName; TString fHelHitBranchName; TString fHelTrackBranchName; TString fPlaHitAllBranchName; TString fPlaTrackBranchName; // clones arrays for branches TClonesArray* fTpcClusterArray; TClonesArray* fTpcTrackArray; TClonesArray* fTpcTrackFitArray; TClonesArray* fTpcTrackHitsArray; TClonesArray* fFopiEventArray; TClonesArray* fCdcHitArray; TClonesArray* fHelHitAllArray; TClonesArray* fHelHitArray; TClonesArray* fHelTrackArray; TClonesArray* fPlaHitAllArray; TClonesArray* fPlaTrackArray; TClonesArray* fFitStatArray; Int_t fmatablecdctracks; Int_t fmatchedcdctracks; Double_t fmaxmatdistance; Double_t fmaxmatphi; Double_t fminhitsperlength; TpcDigiPar* fPar; FairGeanePro* gPro; std::map fOutArrayMap; unsigned int fNumReps; // variables for output TClonesArray* fMatchingPars; Double_t *MatchingPars; TVectorD *MatchingParsVec; TClonesArray* fTPCdata; Double_t *TPCdata; TVectorD *TPCdataVec; TClonesArray* fHeldata; Double_t *Heldata; TVectorD *HeldataVec; TClonesArray* fHelpoint; Double_t *Helpoint; TVectorD *HelpointVec; TClonesArray* fCombHit; Double_t *CombHit; TVectorD *CombHitVec; public: ClassDef(TpcHelMatchTaskPhilipp,3) }; #endif