//-*-mode:c++-*- #ifndef BRAT_BrDCViewCombiner #define BRAT_BrDCViewCombiner //#ifndef __IOSTREAM_H //#include //#endif // $Id: BrDCViewCombiner.h,v 1.4 2002/02/20 13:54:37 ufstasze Exp $ // /////////////////////////////////////////////////////////////////////// // // // BrDCClusterFinder // // // // Author : Kris Hagel (hagel@comp.tamu.edu) // // Created : 19-May-2000 (Adapted from BrLocalTrackDC // // Version : 1.0 // // Changed : // // // /////////////////////////////////////////////////////////////////////// //ROOT Includes #ifndef ROOT_TH1 #include "TH1.h" #endif //BRAT Includes #ifndef BRAT_BrDCClusterFinder #include "BrDCClusterFinder.h" #endif #ifndef BRAT_BrModule #include "BrModule.h" #endif #ifndef BRAT_BrDCViewList #include "BrDCViewList.h" #endif #ifndef BRAT_BrLocalTrack #include "BrLocalTrack.h" #endif #ifndef BRAT_BrClonesArray #include "BrClonesArray.h" #endif #ifndef BRAT_BrDCHit #include "BrDCHit.h" #endif #ifndef BRAT_BrDataTable #include "BrDataTable.h" #endif class BrDCViewCombiner : public BrModule { public: BrDCViewCombiner(); BrDCViewCombiner(const Char_t *Name,const Char_t *Title, BrDCClusterFinder *clusterFinder, 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,const Float_t uvdx = 0.0, const Float_t uvdy = 0.0,Bool_t EventByEvent=kFALSE); virtual ~BrDCViewCombiner(); virtual void Init(); virtual void DefineHistograms(); void CombineViews( BrDCViewList *viewList,TObjArray *trackHits2D, TObjArray *trackHits, BrClonesArray *LocalTracks, Int_t &nLocalTracks); public: void SetBfsAngle(Int_t p){fBfsAngle=p;} void SetRunNo(Int_t p){fRunNo=p;} private: void GetSelected2DTracks(const Int_t stat,const Int_t flg, BrDataTable* tra2DMod); void InsertTrahit(BrDCHit* hitcmb_p, BrLocalTrack *loctra_p); void CopyTrahit1(BrLocalTrack* OldTr,BrLocalTrack* NewTr); void RemoveTrack(BrLocalTrack* localtrack); void DeleteBadTrack(BrClonesArray *localTracks, Int_t &nLocalTracks); TObjArray *fTrackHits; TObjArray *fTrackHits2D; BrDCClusterFinder *fClusterFinder; BrDataTable *fSelectedDCHits; 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 fUVDx; //Dx for cuts in intermediate plane matching Float_t fUVDy; //Dy for cuts in intermediate plane matching Float_t fAsigma; //Sigma for cuts in intermediate plane matching. Bool_t fEventByEvent; Bool_t fCheckSingleHits; Int_t fXYNumPlane; Float_t fStrictParam; Int_t fBfsAngle; Int_t fRunNo; TH1F *fCombUDuc; TH1F *fCombVDuc; public: ClassDef(BrDCViewCombiner, 0) }; #endif // $Log: BrDCViewCombiner.h,v $ // Revision 1.4 2002/02/20 13:54:37 ufstasze // Added 2 public methods SetBfsAngle(Int_t p) and void SetRunNo(Int_t p) and // two private members fBfsAngle and fRunNo. // // Revision 1.3 2001/08/23 10:53:41 staszel // CheckSingleHits option has been introduced. // // Revision 1.2 2001/08/07 13:48:55 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:12 hagel // Initial revision of brat2 // // Revision 1.5 2001/06/20 12:28:40 staszel // BrDetectorHit replaced by BrDCHit. // // Revision 1.4 2001/01/19 17:58:47 staszel // Changes having to do with development of BrDCTrackingModule // // Revision 1.3 2000/10/05 02:21:30 hagel // Further development of BrDCTrackingModule // // 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 // //