554fd9ce4d66c531c021b4f7d5b87ea7541b0e8a
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCADisplay.h
1 //-*- Mode: C++ -*-
2 // @(#) $Id$
3
4 //* This file is property of and copyright by the ALICE HLT Project        * 
5 //* ALICE Experiment at CERN, All rights reserved.                         *
6 //* See cxx source for full Copyright notice                               *
7
8 #ifndef ALIHLTTPCCADISPLAY_H
9 #define ALIHLTTPCCADISPLAY_H
10
11 class AliHLTTPCCATracker;
12 class AliHLTTPCCACell;
13 class AliHLTTPCCATrack;
14
15 #include "TCanvas.h"
16 #include "TArc.h"
17 #include "TLine.h"
18 #include "TPolyLine.h"
19 #include "TBox.h"
20 #include "TCrown.h"
21 #include "TMarker.h"
22 #include "TLatex.h"
23
24
25 /**
26  * @class AliHLTTPCCADisplay
27  */
28 class AliHLTTPCCADisplay
29 {
30  public:
31
32   static AliHLTTPCCADisplay &Instance();
33   
34   AliHLTTPCCADisplay();
35   AliHLTTPCCADisplay( const AliHLTTPCCADisplay& );
36   AliHLTTPCCADisplay& operator=(const AliHLTTPCCADisplay&);
37
38   virtual ~AliHLTTPCCADisplay();
39
40   void Init();
41   void Update();
42   void Clear();
43   void Ask();
44   void SetSectorView();
45   void SetTPCView();
46   void SetCurrentSector( AliHLTTPCCATracker *sec ); 
47
48   Int_t GetColor( Double_t z ) const ;
49   void Global2View( Double_t x, Double_t y, Double_t *xv, Double_t *yv ) const ;
50   void Sec2View( Double_t x, Double_t y, Double_t *xv, Double_t *yv ) const ;
51
52   void DrawTPC();
53   void DrawSector( AliHLTTPCCATracker *sec ); 
54
55   void DrawHit( Int_t iRow,Int_t iHit, Int_t color=-1 );
56   void DrawCell( Int_t iRow, AliHLTTPCCACell &cell, Int_t width=1, Int_t color=-1 );
57   void DrawCell( Int_t iRow, Int_t iCell, Int_t width=1, Int_t color=-1 );
58
59   void ConnectCells( Int_t iRow1, AliHLTTPCCACell &cell1, Int_t iRow2, AliHLTTPCCACell &cell2, Int_t color=-1 );
60
61   void DrawTrack( AliHLTTPCCATrack &track, Int_t color=-1 );
62
63  protected:
64
65   TCanvas *fXY, *fZY;               // two views
66   Bool_t fAsk;                      // flag to ask for the pressing key
67   Bool_t fSectorView;               // switch between sector/TPC zoomv
68   AliHLTTPCCATracker *fSector;      // current CA tracker, includes sector geometry
69   Double_t fCos, fSin, fZMin, fZMax;// view parameters
70   Double_t fRInnerMin, fRInnerMax, fROuterMin, fROuterMax,fTPCZMin, fTPCZMax; // view parameters
71
72   TArc fArc;       // parameters of drawing objects are copied from this members
73   TLine fLine;     //!
74   TPolyLine fPLine;//!
75   TMarker fMarker; //!
76   TBox fBox;       //!
77   TCrown fCrown;   //!
78   TLatex fLatex;   //!
79
80   ClassDef(AliHLTTPCCADisplay,1);
81
82 };
83
84 #endif