//-*-mode:c++-*- #ifndef BRAT_BrDCViewList #define BRAT_BrDCViewList // $Id: BrDCViewList.h,v 1.1.1.1 2001/06/21 14:55:12 hagel Exp $ // /////////////////////////////////////////////////////////////////////// // // // BrDCViewList // // This is an object that manages the views of the DC for use // in tracking. // // // // // // /////////////////////////////////////////////////////////////////////// #ifndef ROOT_TNamed #include "TNamed.h" #endif #ifndef BRAT_BrDataTable #include "BrDataTable.h" #endif #ifndef BRAT_BrDetectorVolume #include "BrDetectorVolume.h" #endif #ifndef BRAT_BrDetectorParamsDC #include "BrDetectorParamsDC.h" #endif #ifndef BRAT_BrTrackDefines #include "BrTrackDefines.h" #endif #ifndef BRAT_BrClonesArray #include "BrClonesArray.h" #endif class BrDCViewList : public TNamed { private: // Definitions for fPlaneCombineMode enum EClusterMode { kPairsWhenTogether = 0, kAllSinglePlanes = 1 }; public: BrDCViewList(); BrDCViewList(const Char_t *Name,const Char_t *Title, const Int_t planeCombineMode = kPairsWhenTogether, const Int_t mview = 0, const Int_t sview = 90); virtual ~BrDCViewList(); Int_t FindHitsInViews(BrClonesArray *detectorHits); Int_t GetNumViews() {return fNumViews;} Float_t GetViewAngle(const Int_t iv) {return fViewList[iv];} Int_t GetNumPlaneViews(const Int_t iv); TObjArray *GetDetectorHits(const Int_t iv, const Int_t iview); Float_t GetViewPlaneAngle(const Int_t iv, const Int_t iview); Int_t GetViewListID(const Int_t idet, const Int_t iview) {return fViewListID[idet][iview];} Int_t GetNCutoff() {return fNCutoff;} Int_t GetMainView() {return fMainView;} Int_t GetSubView() {return fSubView;} private: BrDetectorParamsDC *fParams; Int_t fMainView; //Main view (typically x) Int_t fSubView; //Secondary view (typically y) Float_t fViewList[maxview]; // [maxview] list of angles of views Int_t fViewListID[3][maxview]; // [3][maxview] id of views. Int_t fMainViewList[maxview]; // [maxview] list of main views Int_t fSubViewList[maxview]; // [maxview] list of sub views Int_t fOtherViewList[maxview]; // [maxview] list of other views TObjArray fDetectorHitsMainView[maxview]; //! TObjArray fDetectorHitsSubView[maxview]; //! TObjArray fDetectorHitsOtherView[maxview]; //! Int_t fNumViews; Int_t fNumMainViews; Int_t fNumSubViews; Int_t fNumOtherViews; Int_t fNCutoff; void Init(); void Clear(); void GetHitCMBMod(Int_t imod, BrClonesArray *detectorHits, TObjArray *HitCMBMod); Int_t fPlaneCombineMode; //Specifies how BrDCHits generated. public: ClassDef(BrDCViewList,1) // BRAHMS DC view class }; #endif // $Log: BrDCViewList.h,v $ // Revision 1.1.1.1 2001/06/21 14:55:12 hagel // Initial revision of brat2 // // Revision 1.4 2001/06/20 12:30:28 staszel // BrDetectorHit replaced by BrDCHit. // // 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 //