]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - EVE/Alieve/AliEveTrackFitter.h
Remove trailing whitespace.
[u/mrichter/AliRoot.git] / EVE / Alieve / AliEveTrackFitter.h
... / ...
CommitLineData
1// $Id$
2// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4/**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
7 * full copyright notice. *
8 **************************************************************************/
9
10#ifndef ALIEVE_TrackFitter_H
11#define ALIEVE_TrackFitter_H
12
13#include <TEvePointSet.h>
14#include <TQObject.h>
15#include <map>
16
17class TGraphErrors;
18class TGraph;
19class AliRieman;
20
21class TEveTrackList;
22
23
24class AliEveTrackFitter : public TEvePointSet
25{
26private:
27 AliEveTrackFitter(const AliEveTrackFitter&); // Not implemented
28 AliEveTrackFitter& operator=(const AliEveTrackFitter&); // Not implemented
29
30 TGraph *fGraphSelected; // graph of selected points
31 TGraphErrors *fGraphFitted; // graph of fitted points
32
33protected:
34 struct Point_t
35 {
36 // inner structure to check duplicates
37 TEvePointSet* fPS; // selected pointset
38 Int_t fIdx; // location in the point set array
39 Point_t(TEvePointSet* ps, Int_t i): fPS(ps), fIdx(i){}
40 bool operator<(const Point_t& o) const
41 { if (fPS != o.fPS) return fPS < o.fPS; return fIdx < o.fIdx; }
42 };
43
44 Float_t fAlpha; // transformation agle to local system (where x>>y)
45 AliRieman* fRieman; // rieman fitter
46
47 Bool_t fConnected; // object connected to pointset Ctrl-shift signal
48
49 TEveTrackList* fTrackList; // track list created with rieman fit
50
51 std::map<Point_t, Int_t> fMapPS; // map of selected points from different TEvePointSet
52public:
53 AliEveTrackFitter(const Text_t* name, Int_t n_points=0);
54 virtual ~AliEveTrackFitter();
55
56 virtual void AddFitPoint(TEvePointSet*,Int_t); // slot for PointCtrlClicked() signal
57
58 virtual void DestroyElements(); // *MENU*
59
60 virtual void Start();
61 virtual void Stop();
62 virtual void FitTrack();
63 virtual void Reset(Int_t n_points=0, Int_t n_int_ids=0);
64
65 Bool_t GetConnected(){ return fConnected; }
66 AliRieman* GetRieman(){ return fRieman; }
67
68 void DrawRiemanGraph();
69
70 TGraph* GetGraphSelected() { return fGraphSelected; }
71 TGraphErrors* GetGraphFitted() { return fGraphFitted; }
72
73 ClassDef(AliEveTrackFitter, 0); // Interface to AliRieman fit.
74}; // endclass AliEveTrackFitter
75
76#endif