// $Id: BrLocalTrackDC.h,v 1.6 1998/07/20 17:44:54 videbaek Exp $ // // $Log: BrLocalTrackDC.h,v $ // Revision 1.6 1998/07/20 17:44:54 videbaek // hanged 0 return to NULL // // #ifndef _BRLOCALTRACKDC_H #define _BRLOCALTRACKDC_H /////////////////////////////////////////////////////////////////////// // // // BrLocalTrackDC // // // // // // Author : Kris Hagel (hagel@comp.tamu.edu) // // Created : 11-Mar-1998 // // Version : 1.0 // // Changed : // // // /////////////////////////////////////////////////////////////////////// #ifndef _BRLOCALTRACKMODULE_H #include "BrLocalTrackModule.h" #endif class BrDetectorParamsDC; class BrDetectorVolume; class BrTrackHit2D; class BrLocalTrackDC : public BrLocalTrackModule { public: BrLocalTrackDC(); BrLocalTrackDC(Char_t *Name,Char_t *Title); virtual ~BrLocalTrackDC(); void Init(); void Event(BrEventNode* InputTable,BrEventNode* OutputTable); virtual BrDetectorParamsDC* GetDetectorParamsDC(){ return fParams_p;} /* virtual BrDetectorVolume* GetDetectorVolume() const { return fVolumeParams_p;} virtual void SetDetectorVolume(BrDetectorVolume* vol){ fVolumeParams_p = vol;} */ virtual BrDetectorVolume* GetDetectorVolume(const Char_t *name); virtual void SetDetectorVolume(BrDetectorVolume *vol); virtual void ListDetectorVolume(); void SetDetectorParamsDC(BrDetectorParamsDC* par); void SetDetectorParamsDC(const BrDetectorParamsDC& par); void SetMainView(Int_t mainview) {fMainView = mainview;} void SetSubView (Int_t subview ) {fSubView = subview;} Int_t GetMainView() {return fMainView;} Int_t GetSubView() {return fSubView;} void ListDetectorParameters(); private: void CreateDCClonesArrays(); void DCCluster(BrDataTable* DigitizedHits,Float_t clusdx, Float_t clusdy); void DCSingle(BrDataTable *DigitizedHits,Int_t idet,Int_t ipl,Int_t iview); void DCPair(BrDataTable *DigitizedHits,Int_t idet,Int_t ipl,Int_t iview,Float_t ddx,Float_t ddy); void DCTrio(BrDataTable *DigitizedHits,Int_t idet,Int_t ipl,Int_t iview,Float_t ddx,Float_t ddy); void GetDigHitMod(Int_t idet,Int_t imod,Int_t wire,Int_t time,BrDataTable *DigitizedHits,BrDataTable *DigHitMod); Int_t TrackLocalElement(); void InsertTrahit(BrCombinedHit* hitcmb,BrTrackHit2D* tra2d); void CopyTrahit1(BrTrackHit2D *OldTr,BrTrackHit2D *NewTr); void CopyTrahit1(BrLocalTrack *OldTr,BrLocalTrack *NewTr); void RemoveTrack(BrTrackHit2D *tra2d); void GetTra2DMod(Int_t stat,Int_t flg,BrDataTable* tra2DMod); void FitLocalDCTrack(BrDataTable *HitCMBSel,BrLocalTrack* loctra_p,Int_t vlist[maxview],Int_t vlistID[5][maxview],Int_t nview,Float_t *sol,Float_t *covar,Float_t *chisq,Int_t *ifail); void DeleteBadTrack(); BrClonesArray *DCHits; BrClonesArray *TrackHits2D; BrDetectorParamsDC *fParams_p; BrDetectorVolume *fVolumeParams_p[4]; Int_t fNumVol; //Need for sub volumes etc. Int_t fMainView; //main view parameter; usually 0 Int_t fSubView; //sub view parameter, default to -90 public: ClassDef(BrLocalTrackDC,0) // BRAHMS Local Track interface }; #endif