Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

HoughTrackSR.h

Go to the documentation of this file.
00001 
00002 // $Id: HoughTrackSR.h,v 1.7 2004/10/30 15:02:35 musser Exp $
00003 //
00004 // HoughTrackSR
00005 //
00006 // Author:  R. Lee 2002.01.18
00007 //
00009 
00010 #ifndef HOUGHTRACKSR_H
00011 #define HOUGHTRACKSR_H
00012 
00013 #include <vector>
00014 
00015 #include "TObject.h"
00016 #include "TObjArray.h"
00017 
00018 using namespace std;
00019 
00020 class HoughTrackSR  : public TObject
00021 {
00022 
00023 public:
00024 
00025   HoughTrackSR();
00026   HoughTrackSR(TObjArray candclusterhandlelist);
00027   HoughTrackSR(const HoughTrackSR &);
00028   ~HoughTrackSR();
00029 
00030   void SetX0(Double_t);
00031   void SetZ0(Double_t);
00032   void SetXRMS(Double_t);
00033   void SetZRMS(Double_t);
00034 
00035   void SetSlopeMin(Double_t);
00036   void SetSlopeMax(Double_t);
00037   void SetInterceptMin(Double_t);
00038   void SetInterceptMax(Double_t);
00039 
00040   Double_t GetSlopeMin() const;
00041   Double_t GetSlopeMax() const;
00042   Double_t GetInterceptMin() const;
00043   Double_t GetInterceptMax() const;
00044 
00045   Int_t GetNBin() const;
00046   Int_t GetNPeak() const;
00047 
00048   Int_t GetMaxBin() {return fMaxBin;}
00049   void SetMaxBin(Int_t i ){fMaxBin = i;} 
00050 
00051   Double_t GetPeakSlope(Int_t = 0) const;
00052   Double_t GetPeakIntercept(Int_t = 0) const;
00053   Int_t GetPeakBin(Int_t = 0) const;
00054 
00055   Int_t GetLargestPeakIndex() const;
00056 
00057   void SetPeakMin(Int_t);
00058   void SetPeakMinFrac(Double_t);
00059   void SetPeakMinFracZoom(Double_t);
00060   void SetMinInterBinSize(Double_t);
00061 
00062   void SetClusterList(TObjArray candclusterhandlelist);
00063 
00064   TObjArray Iterate(); // use with caution -- objects in returned TObjArray
00065                        // are not deleted in ~HoughTrackSR
00066   void Print(Option_t* option="") const;
00067 
00068 private:
00069 
00070   void FillHough();
00071 
00072   Double_t GetSlope(Int_t) const;
00073   Double_t GetInter(Int_t) const;
00074 
00075   static const Int_t fNBin = 40;
00076   Int_t fMaxBin;
00077 
00078   Double_t fXZmean[2];
00079   Double_t fXZrms[2];
00080   Double_t fSlopeLim[2];
00081   Double_t fInterLim[2];
00082   Double_t fDSlope;
00083   Double_t fDInter;
00084   TObjArray *fClusterList;
00085 
00086   Int_t fPeakMin;
00087   Double_t fPeakMinFrac;
00088   Double_t fPeakMinFracZoom;
00089   Double_t fMinInterBinSize;
00090 
00091   Int_t fNBinMax;
00092   Int_t fNBinCut;
00093 
00094   Int_t fHough[fNBin][fNBin];
00095   Int_t fMaxHoughBin[fNBin][fNBin][2];
00096 
00097   Int_t fNPeak;
00098   Int_t fNMaxima;
00099 
00100   Bool_t fFillHough;
00101 
00102   vector<Int_t> fMPeak;
00103   vector<Int_t> fCPeak;
00104   vector<Int_t> fIPeak;
00105   vector<Double_t> fSlopePeak;
00106 
00107 ClassDef(HoughTrackSR,1)
00108 
00109 };
00110 
00111 
00112 #endif                                                    // HOUGHTRACKSR_H

Generated on Mon Feb 15 11:06:47 2010 for loon by  doxygen 1.3.9.1