source: JEM-EUSO/esaf_lal/tags/v1_r0/esaf/packages/reconstruction/modules/shower/fitting/include/HoughFit.hh @ 117

Last change on this file since 117 was 117, checked in by moretto, 11 years ago

ESAF version compilable on mac OS

File size: 3.9 KB
Line 
1// ESAF : Euso Simulation and Analysis Framework
2// $Id: HoughFit.hh 2602 2006-03-20 15:54:11Z pesce $
3// Elena Taddei created Mar, 29 2005
4
5/*****************************************************************************
6 * ESAF: Euso Simulation and Analysis Framework                              *
7 *                                                                           *
8 *  Id: HoughFit                                                             *
9 *  Package: Fitting                                                         *
10 *  Coordinator: <coordinator>                                               *
11 *                                                                           *
12 *****************************************************************************/
13
14#ifndef __HOUGHFIT_HH_
15#define __HOUGHFIT_HH_
16
17#include <vector>
18#include "euso.hh"
19#include "EsafConfigurable.hh"
20#include "EsafMsgSource.hh"
21#include <TObject.h>
22#include <TList.h>
23
24//////////////////////////////////////////////////////////////////////////////
25//                                                                          //
26//  HoughFit                                                                //
27//                                                                          //
28//                                                                          //
29//////////////////////////////////////////////////////////////////////////////
30
31
32class HoughFit : public EsafConfigurable, public EsafMsgSource {
33public:
34    // ctor
35    HoughFit( vector<Double_t> x, vector<Double_t> y,  vector<Int_t> c, Int_t fDoSelection, Float_t ex, Float_t ey, vector<Int_t> id = vector<Int_t>() );
36       
37    // dtor
38    virtual ~HoughFit();
39
40    // getters
41    inline Double_t GetSlope() const { return fSlopeToPass; }
42    inline Double_t GetOffset() const { return fOffsetToPass; }
43    inline Double_t Getwidth() const { return fWidth; }
44    inline Int_t GetNumPoints() const { return fNumPoints; }
45    inline Int_t GetNumPointsSelected() const { return fNumPointsSelected; }
46    inline Double_t GetMinX() const { return fMinX; }
47    inline Double_t GetMinY() const { return fMinY; }
48    inline Double_t GetMaxX() const { return fMaxX; }
49    inline Double_t GetMaxY() const { return fMaxY; }
50    inline Float_t GetAbsDev() const { return fAbsDev; }
51    inline Float_t GetMaxToMedium() const { return fCMaxToCAverage; }
52    inline Float_t GetMaxToMediumSel() const { return fCMaxToCAverageSel; }
53
54    inline Bool_t IsSignal() const { return fThereIsSignal; }
55
56    inline vector<Double_t> GetXSel() { return fXSel; }
57    inline vector<Double_t> GetYSel() { return fYSel; }
58    inline vector<Int_t> GetCSel() { return fCSel; }
59    inline vector<Int_t> GetIdSel() { return fIdSel; }
60
61    EsafConfigClass(Reco, HoughFit)
62
63private:
64    Float_t fCMaxToCAverage;   
65    Float_t fCMaxToCAverageSel;
66    Float_t fCMaxToCAverageTmp;
67    Float_t fCMaxToCAverageFluttTmp;
68    Float_t fFluttBackgHSpace;
69
70    Float_t fWidthFractionSinusoidal;
71    Float_t fWidthFractionLinear;
72   
73    vector<Double_t> fXSel;
74    vector<Double_t> fYSel;
75    vector<Int_t> fCSel;
76    vector<Int_t> fIdSel;
77    Bool_t fThereIsSignal;
78    Bool_t fDoGraph;
79
80    Float_t fEpsX, fEpsY;
81    Float_t fAbsDev;
82    Int_t fNumPoints;
83    Double_t fMinX,fMinY,fMaxX,fMaxY;
84    vector<Double_t> fPointsX;
85    vector<Double_t> fPointsY;
86    vector<Int_t> fCounts;
87    vector<Int_t> fId;
88    vector<Double_t> fPointsXprime;
89    vector<Double_t> fPointsYprime;
90   
91    Float_t tmpfMinX, tmpfMinY, tmpfMaxX, tmpfMaxY;
92    Float_t fScale;
93    Double_t fX0, fY0;
94
95    Double_t fSlopeToPass;
96    Double_t fOffsetToPass;
97    Double_t fSlope;
98    Double_t fOffset;
99    Double_t fWidth;
100    Int_t fNumPointsSelected;
101   
102    void DoSinusoidal(Int_t firsttimedo);
103    void DoLinear(Int_t firsttimedo);
104    void DoLinear2(Int_t firsttimedo);
105    void DoNumerical();
106    void Clear();
107    void PreProcess();
108
109    TList *fListObj;
110
111    ClassDef(HoughFit,0)
112};
113
114#endif  /* __HOUGHFIT_HH_ */
115
Note: See TracBrowser for help on using the repository browser.