// ESAF : Euso Simulation and Analysis Framework // $Id: HoughFit.hh,v 1.3 2005/06/22 07:18:48 pesce Exp $ // Elena Taddei created Mar, 29 2005 /***************************************************************************** * ESAF: Euso Simulation and Analysis Framework * * * * Id: HoughFit * * Package: Fitting * * Coordinator: * * * *****************************************************************************/ #ifndef __HOUGHFIT_HH_ #define __HOUGHFIT_HH_ #include #include "euso.hh" #include "EsafConfigurable.hh" #include "EsafMsgSource.hh" #include ////////////////////////////////////////////////////////////////////////////// // // // HoughFit // // // // // ////////////////////////////////////////////////////////////////////////////// //container for the numerical fit struct HoughData : public TObject { void Clear(); vector fX; vector fY; vector fCounts; Double_t fRadius; Int_t fNumPoints; }; class HoughFit : public EsafConfigurable, public EsafMsgSource { public: // ctor HoughFit( vector x, vector y, vector c, Int_t fDoSelection, Float_t ex, Float_t ey, vector id = vector() ); // dtor virtual ~HoughFit(); // getters inline Double_t GetSlope() const { return fSlopeToPass; } inline Double_t GetOffset() const { return fOffsetToPass; } inline Double_t Getwidth() const { return fWidth; } inline Int_t GetNumPoints() const { return fNumPoints; } inline Int_t GetNumPointsSelected() const { return fNumPointsSelected; } inline Double_t GetMinX() const { return fMinX; } inline Double_t GetMinY() const { return fMinY; } inline Double_t GetMaxX() const { return fMaxX; } inline Double_t GetMaxY() const { return fMaxY; } inline Float_t GetAbsDev() const { return fAbsDev; } inline Float_t GetMaxToMedium() const { return fCMaxToCAverage; } inline Float_t GetMaxToMediumSel() const { return fCMaxToCAverageSel; } inline Bool_t IsSignal() const { return fThereIsSignal; } inline vector GetXSel() { return fXSel; } inline vector GetYSel() { return fYSel; } inline vector GetCSel() { return fCSel; } inline vector GetIdSel() { return fIdSel; } EsafConfigClass(Reco, HoughFit) private: Float_t fCMaxToCAverage; Float_t fCMaxToCAverageSel; Float_t fCMaxToCAverageTmp; Float_t fCMaxToCAverageFluttTmp; Float_t fFluttBackgHSpace; vector fXSel; vector fYSel; vector fCSel; vector fIdSel; Bool_t fThereIsSignal; Bool_t fDoGraph; Float_t fEpsX, fEpsY; Float_t fAbsDev; Int_t fNumPoints; Double_t fMinX,fMinY,fMaxX,fMaxY; vector fPointsX; vector fPointsY; vector fCounts; vector fId; vector fPointsXprime; vector fPointsYprime; Float_t tmpfMinX, tmpfMinY, tmpfMaxX, tmpfMaxY; Float_t fScale; Double_t fX0, fY0; Double_t fSlopeToPass; Double_t fOffsetToPass; Double_t fSlope; Double_t fOffset; Double_t fWidth; Int_t fNumPointsSelected; void DoSinusoidal(Int_t firsttimedo); void DoLinear(Int_t firsttimedo); void DoNumerical(); void Clear(); void PreProcess(); ClassDef(HoughFit,0) }; #endif /* __HOUGHFIT_HH_ */