]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpDEVisu.h
Comments for Doxygen (mostly added comments for inline functions)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpDEVisu.h
CommitLineData
e4d2775e 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
4
5/// \ingroup graphics
6/// \class AliMpDEVisu
7/// \brief GUI for drawing detection element segmentation
8///
9/// \author Ch. Finck
10
11#ifndef ALI_MP_DE_VISU_H
12#define ALI_MP_DE_VISU_H
13
14#include <TGFrame.h>
215d5755 15
e4d2775e 16#include "AliMpPlaneType.h"
17
215d5755 18#include <TArrayI.h>
19#include <TObjArray.h>
20
e4d2775e 21class TObject;
22class TString;
e4d2775e 23class TRootEmbeddedCanvas;
24class TGComboBox;
25class TGMainFrame;
26class TGWindow;
27class AliMpVPainter;
28class TGNumberEntry;
29class TGCheckButton;
30class TGTextView;
31class AliMpSlat;
32class AliMpSector;
33class AliMpVSegmentation;
34class AliMpDDLStore;
35class TGTextEntry;
215d5755 36class AliMpMotifPosition;
e4d2775e 37
215d5755 38class AliMpDEVisu : public TGFrame
39{
e4d2775e 40
41public:
42 AliMpDEVisu(UInt_t w = 1200, UInt_t h = 600);
43 virtual ~AliMpDEVisu();
44
45
46 void UpdateComboDE();
47 Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
215d5755 48 void DrawDE(Bool_t info = kTRUE);
97c15de5 49 void NextDE();
e4d2775e 50 void DrawManuMotif(Bool_t popup = kFALSE);
51 void DrawQuadrant(Option_t* option, Bool_t popup = kFALSE);
52 void DrawSlat(Option_t* option, Bool_t popup = kFALSE);
53
54 void ResetManu();
55 void UpdateNameView();
56 void PopUpManuMotif(AliMpSlat* slat);
57 void PopUpManuMotif(AliMpSector* sector);
215d5755 58 void PopUpZoom(Int_t ix0, Int_t iy0, Int_t ix1, Int_t iy1);
59
60 void ClosePopupWindow(Int_t id);
e4d2775e 61 void InfoDE();
215d5755 62 void InfoManuMotif(AliMpMotifPosition* motifPos);
e4d2775e 63 void DeletePopUp();
64 void SaveLogMessage();
65 void ClearLogMessage();
66
67 void HandleMovement(Int_t eventType, Int_t eventX, Int_t eventY, TObject* select);
68
215d5755 69private:
70 void EventToReal(Int_t eventX, Int_t eventY, Double_t& x, Double_t& y) const;
71 void CreatePopupWindow(Int_t w, Int_t h, const char* title,
72 AliMpVPainter* painter,
73 const char* option);
74
e4d2775e 75private:
71a2d3aa 76 /// Not implemented
77 AliMpDEVisu(const AliMpDEVisu& src);
78 /// Not implemented
79 AliMpDEVisu& operator=(const AliMpDEVisu& src);
e4d2775e 80
81 const TGWindow* fkMainWindow; //!< main window
82 TGMainFrame* fMain; //!< main frame
83 TRootEmbeddedCanvas* fEcanvas; //!< canvas for detection elt
84
85 TGComboBox* fChamberCombo; //!< chamber botton
86 TGComboBox* fDECombo; //!< DE botton
87 TGNumberEntry* fNumberEntry; //!< manu id button
88 TGCheckButton* fPlaneButton; //!< check button for NB plane, defaultwise B plane
215d5755 89 TGCheckButton* fZoomButton; //!< check button to activate zoom mode, default wise disable
e4d2775e 90 TGTextView* fNameDEView; //!< name of the DE
91 TGTextView* fLogMessage; //!< log message
92 TGTextEntry* fLogFile; //!< text entry for log file name
215d5755 93 TObjArray fTrashList; //!< list of transient windows to delete
e4d2775e 94
95 TArrayI fDEComboIdx; //!< array for index vs DE id
96
97 AliMp::PlaneType fCurrentPlane; //!< current plane type
98 Int_t fCurrentDetElem; //!< current DE
99 TString fCurrentDEName; //!< current DE name
100
101 const AliMpVSegmentation* fSegmentation; //!< segmentation instance
102 AliMpDDLStore* fDDLStore; //!< DDL Store
103
215d5755 104 Bool_t fZoomMode; //!< flag for zoom mode on canvas instead of click mode
e4d2775e 105
215d5755 106 enum {kChamberCombo, kDECombo, kPlaneType, kDEName, kManuEntries, kLogMessage, kZoomMode};
e4d2775e 107
e4d2775e 108 ClassDef(AliMpDEVisu,1)
109};
110#endif
215d5755 111