]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpDEVisu.h
Update manu serial number files (Christian)
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpDEVisu.h
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>
15 #include "AliMpPlaneType.h"
16
17 class TObject;
18 class TString;
19 class TList;
20 class TArrayI;
21 class TRootEmbeddedCanvas;
22 class TGComboBox;
23 class TGMainFrame;
24 class TGWindow;
25 class AliMpVPainter;
26 class TGNumberEntry;
27 class TGCheckButton;
28 class TGTextView;
29 class AliMpSlat;
30 class AliMpSector;
31 class AliMpVSegmentation;
32 class AliMpDDLStore;
33 class TGTextEntry;
34
35 class AliMpDEVisu : public TGFrame {
36
37
38 public:
39     AliMpDEVisu(UInt_t w = 1200, UInt_t h = 600);
40     virtual ~AliMpDEVisu();
41
42
43     void   UpdateComboDE();
44     Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
45     void   DrawDE();
46     void   NextDE();
47     void   DrawManuMotif(Bool_t popup = kFALSE);
48     void   DrawQuadrant(Option_t* option, Bool_t popup = kFALSE);
49     void   DrawSlat(Option_t* option, Bool_t popup = kFALSE);
50
51     void   ResetManu();
52     void   UpdateNameView();
53     void   PopUpManuMotif(AliMpSlat* slat);
54     void   PopUpManuMotif(AliMpSector* sector);
55
56     void   ClosedPopUpMotif(Int_t id);
57     void   InfoDE();
58     void   DeletePopUp();
59     void   SaveLogMessage();
60     void   ClearLogMessage();
61
62     void   HandleMovement(Int_t eventType, Int_t eventX, Int_t eventY, TObject* select);
63
64 private:
65
66     const TGWindow*    fkMainWindow; //!< main window
67     TGMainFrame*       fMain;        //!< main frame
68     TRootEmbeddedCanvas* fEcanvas;   //!< canvas for detection elt
69
70     TGComboBox*    fChamberCombo;    //!< chamber botton 
71     TGComboBox*    fDECombo;         //!< DE botton
72     TGNumberEntry* fNumberEntry;     //!< manu id button
73     TGCheckButton* fPlaneButton;     //!< check button for NB plane, defaultwise B plane
74     TGTextView*    fNameDEView;      //!< name of the DE
75     TGTextView*    fLogMessage;      //!< log message
76     TGTextEntry*   fLogFile;         //!< text entry for log file name
77     TList          fTrashList;       //!< list of transient windows to delete
78
79     TArrayI        fDEComboIdx;      //!< array for index vs DE id
80
81     AliMp::PlaneType fCurrentPlane;   //!< current plane type
82     Int_t            fCurrentDetElem; //!< current DE
83     TString          fCurrentDEName;  //!< current DE name
84
85     const AliMpVSegmentation* fSegmentation; //!< segmentation instance
86     AliMpDDLStore*            fDDLStore;     //!< DDL Store
87
88     Int_t            fNumberOfPopUp;   //!< number of manu motif popup window open    
89
90     enum {kChamberCombo, kDECombo, kPlaneType, kDEName, kManuEntries, kLogMessage};
91
92
93     AliMpDEVisu(const AliMpDEVisu& src);
94     AliMpDEVisu& operator=(const AliMpDEVisu& src);
95
96     ClassDef(AliMpDEVisu,1)
97 };
98 #endif