//-*-mode:c++-*- #ifndef BRAT_BrDC2DTrackFinder #define BRAT_BrDC2DTrackFinder // $Id: BrDC2DTrackFinder.h,v 1.6 2002/02/20 13:37:55 ufstasze Exp $ // /////////////////////////////////////////////////////////////////////// // // // BrDCClusterFinder // // // // Author : Kris Hagel (hagel@comp.tamu.edu) // // Created : 19-May-2000 (Adapted from BrLocalTrackDC // // Version : 1.0 // // Changed : // // // /////////////////////////////////////////////////////////////////////// //ROOT Includes #ifndef BRAT_BrDCClusterFinder #include "BrDCClusterFinder.h" #endif #ifndef BRAT_BrModule #include "BrModule.h" #endif #ifndef BRAT_BrEventNode #include "BrEventNode.h" #endif #ifndef BRAT_BrDetectorParamsDC #include "BrDetectorParamsDC.h" #endif #ifndef BRAT_BrDetectorVolume #include "BrDetectorVolume.h" #endif #ifndef BRAT_BrTrackDefines #include "BrTrackDefines.h" #endif #ifndef BRAT_BrDCViewList #include "BrDCViewList.h" #endif #ifndef BRAT_BrDCHit #include "BrDCHit.h" #endif #ifndef BRAT_BrTrackHit2D #include "BrTrackHit2D.h" #endif #ifndef BRAT_BrDataTable #include "BrDataTable.h" #endif class BrDC2DTrackFinder : public BrModule { public: BrDC2DTrackFinder(); BrDC2DTrackFinder(const Char_t *Name,const Char_t *Title, BrDCClusterFinder *clusterFinder, const Float_t cut_dx = 0.025,const Float_t cut_dy = 0.025, const Float_t asigma = 3.0, const Int_t max_miss_main = 0, const Int_t max_miss_sub = 0, const Int_t max_miss_other = 1,Bool_t EventByEvent=kFALSE); // New Constructor virtual ~BrDC2DTrackFinder(); virtual void Init(); void Find2DTracks(BrDCViewList *viewList, TObjArray *trackHits, TObjArray *trackHits2D); public: void SetBfsAngle(Int_t p){fBfsAngle=p;} void SetRunNo(Int_t p){fRunNo=p;} private: TObjArray *fCombinedHits; TObjArray *fTrackHits; TObjArray *fTrackHits2D; BrDCClusterFinder *fClusterFinder; BrDataTable *fSelectedDCHits; Int_t fNumpv; // mumber of plane in X and Y view Float_t fStrictParam; Bool_t fLimitAngle; Float_t fAsig; Float_t fSigma[2],fOffset[2]; Int_t fBfsAngle; Int_t fRunNo; Float_t fDCCutMatchDx; //DC Cut x matching parameter Float_t fDCCutMatchDy; //DC Cut y matching parameter Int_t fDCCutMaxMissMain; //Maximum number of misses in main view planes Int_t fDCCutMaxMissSub; //Maximum number of misses in sub view planes Int_t fDCCutMaxMissOther; //Maximum number of misses in other view planes. Float_t fAsigma; //Sigma for cuts in intermediate plane matching. void HitsOut(BrDCViewList *viewList); // for debugging purpose void GenerateInitial2DTracks(BrDCViewList *viewList, Int_t frontPlane, Int_t backPlane, Int_t checkPlane); // BrDataTable HitCMBMod[maxview],const Int_t *xvlist[2],const Int_t *nxv[2]); void CheckIntermediatePositions(BrDCViewList *viewList, Int_t checkPlane); // BrDataTable HitCMBMod[maxview],const Int_t *xvlist[2],const Int_t *nxv[2]); void InsertTrahit(BrDCHit* hitcmb,BrTrackHit2D* tra2d); void CopyTrahit1(BrTrackHit2D* OldTr,BrTrackHit2D* NewTr); void RemoveTrack(BrTrackHit2D* tra2dd); void DeleteBadTrack(); void CleanTracks(); Bool_t fEventByEvent; Bool_t fCheckSingleHits; public: ClassDef(BrDC2DTrackFinder, 0) }; #endif // $Log: BrDC2DTrackFinder.h,v $ // Revision 1.6 2002/02/20 13:37:55 ufstasze // Added 2 public methods: SetBfsAngle and SetRunNo. // // Revision 1.5 2001/11/19 17:02:41 ufstasze // Added slope limit on the 2D initial tracks. // // Revision 1.4 2001/08/23 10:56:38 staszel // CheckSingleHits option has been introduced. // // Revision 1.3 2001/08/10 16:25:29 staszel // modified definition of GenerateInitial2DTracks and CheckIntermediatePositions. // // Revision 1.2 2001/08/07 13:48:27 ouerdane // Cleaned up a lot the DC tracking modules and utilities: // Made all utilities deriving from BrModule // Set the class version number to 0 (NOT 1 like before) // Removed + in the LinkDef file for all modules // Added ClassDef in the View Combiner class (didn't exist) // Structurized the histogramming section in TDirectories // // Revision 1.1.1.1 2001/06/21 14:55:11 hagel // Initial revision of brat2 // // Revision 1.5 2001/06/20 12:23:57 staszel // BrDetectorHit replaced by BrDCHit. // // Revision 1.4 2001/01/19 17:57:18 staszel // Changes having to do with development of BrDCTrackingModule // // Revision 1.3 2000/12/14 22:07:13 videbaek // Add HitsOut(... to defitions in BrDC2TrackFinder. // // Revision 1.2 2000/09/29 02:15:57 hagel // Changes having to do with development of BrDCTrackingModule // // Revision 1.1 2000/09/19 21:11:51 hagel // Initial placeholder revision // //