0. General code clean-up, including messages, and the like.
[u/mrichter/AliRoot.git] / FMD / AliFMDDisplay.h
CommitLineData
bf000c32 1#ifndef AliFMDDISPLAY_H
2#define AliFMDDISPLAY_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4 * reserved.
5 *
6 * See cxx source for full Copyright notice
7 */
8//___________________________________________________________________
9//
10// The classes defined here, are utility classes for reading in data
11// for the FMD. They are put in a seperate library to not polute the
12// normal libraries. The classes are intended to be used as base
13// classes for customized class that do some sort of analysis on the
14// various types of data produced by the FMD.
15//
16#include "AliFMDInput.h"
17class TObjArray;
18class TCanvas;
19class TPad;
20class TButton;
21
22//___________________________________________________________________
23class AliFMDDisplay : public AliFMDInput
24{
25public:
26 AliFMDDisplay(const char* gAliceFile="galice.root");
27 virtual ~AliFMDDisplay() {}
28 static AliFMDDisplay* Instance();
29
30 void Continue() { fWait = kFALSE; }
31 void Zoom() { fZoomMode = kTRUE; }
32 void Pick() { fZoomMode = kFALSE; }
33 void ExecuteEvent(Int_t event, Int_t px, Int_t py);
34 Int_t DistanceToPrimitive(Int_t px, Int_t py);
35
36
37 virtual Bool_t Init();
38 virtual Bool_t Begin(Int_t event);
39 virtual Bool_t End();
40 virtual Bool_t ProcessHit(AliFMDHit* hit, TParticle* p);
41 virtual Bool_t ProcessDigit(AliFMDDigit* digit);
42 virtual Bool_t ProcessRecPoint(AliFMDRecPoint* recpoint);
43 virtual Int_t LookupColor(Float_t x, Float_t max) const;
44protected:
45 static AliFMDDisplay* fgInstance; // Static instance
46 Bool_t fWait; // Wait until user presses `Continue'
47 TObjArray* fMarkers; // Cache of markers
48 TObjArray* fHits; // Cache of `hits'
49 TCanvas* fCanvas; // Canvas to draw in
50 TPad* fPad; // View pad.
51 TButton* fButton; // Continue button
52 TButton* fZoom; // Zoom button
53 TButton* fPick; // Pick button
54 Bool_t fZoomMode; // Whether we're in Zoom mode
55 Float_t fX0; // X at lower left corner or range
56 Float_t fY0; // Y at lower left corner or range
57 Float_t fX1; // X at upper right corner or range
58 Float_t fY1; // Y at upper right corner or range
59 Int_t fXPixel; // X pixel of mark
60 Int_t fYPixel; // Y pixel of mark
61 Int_t fOldXPixel; // Old x pixel of mark
62 Int_t fOldYPixel; // Old y pixel of mark
63 Bool_t fLineDrawn; // Whether we're drawing a box
64 ClassDef(AliFMDDisplay,0) // FMD specialised event display
65};
66
67#endif
68//____________________________________________________________________
69//
70// Local Variables:
71// mode: C++
72// End:
73//
74// EOF
75//