1 #ifndef ALITRDTRACKLETOFLHELPER_H
2 #define ALITRDTRACKLETOFLHELPER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 /* $Id: AliTRDtrackletOflHelper.h 45666 2010-11-24 17:00:44Z cblume $ */
8 ////////////////////////////////////////////////////////////////////////////
10 // \class AliTRDtrackletOflHelper //
11 // \brief The TRD offline tracklet helper class //
12 // \author Alexandru Bercuci //
14 ////////////////////////////////////////////////////////////////////////////
20 #ifndef ALITRDTRACKERV1_H
21 #include "AliTRDtrackerV1.h"
27 class AliTRDtrackletOflHelper:public TObject
30 enum ETRDtrackletOflHelper{
38 AliTRDtrackletOflHelper();
39 AliTRDtrackletOflHelper(const AliTRDtrackletOflHelper &ref);
40 AliTRDtrackletOflHelper& operator=(const AliTRDtrackletOflHelper &rhs);
41 virtual ~AliTRDtrackletOflHelper();
43 Int_t ClassifyTopology();
44 Int_t Expand(TObjArray *cls, Int_t *mark=NULL, Int_t groupId=-1);
45 static void FindSolidCls(Bool_t *mark, Int_t *q);
46 static Bool_t Fit(Int_t n, Double_t *dx, Double_t *dy, Double_t *s2, Double_t *par, Double_t sCut=1.5, Double_t *cov=NULL);
47 Bool_t Fit(Double_t *par, Double_t sCut=1.5) const;
48 Bool_t FitPSR(Double_t dy[200], Bool_t useSolid=kFALSE);
49 TObjArray* GetClusters() const {return fClusters;};
50 void GetColSignals(Int_t col, Int_t adc[32], Bool_t mainRow=kTRUE) const;
51 Int_t GetColSpread() const {return fCol[1]-fCol[0]+1;}
52 Int_t GetColStart() const {return fCol[0];}
53 Int_t GetColStop() const {return fCol[1];}
54 Double_t GetQ() const;
55 Int_t GetRow() const {return fRow;}
56 Int_t GetRMS(Double_t &r, Double_t &m, Double_t &s, Double_t xm) const;
57 Double_t GetSyMean() const;
58 Int_t GetTbStart() const {return fTBrange[0];}
59 Int_t GetTbStop() const {return fTBrange[1];}
60 Int_t Init(AliTRDpadPlane *p, TObjArray *cls, Int_t *mark=NULL, Int_t groupId=-1);
61 static Int_t Segmentation(Int_t n, Double_t *x, Double_t *y, Int_t *Index);
62 void SetTbRange(Float_t t0, Float_t vd);
63 void View(TVirtualPad *pad=NULL);
67 static AliTRDtrackerV1::AliTRDLeastSquare& Fitter();
69 Int_t fCol[2]; //! pad col start/stop
70 Int_t fRow; //! main pad row
71 Int_t fTBrange[2]; //! start/stop time bin (t0, vd)
72 TObjArray *fClusters; // cluster array
73 AliTRDpadPlane *fPadPlane; //! pad plane for detector
75 ClassDef(AliTRDtrackletOflHelper, 1) // Offline tracklet helper