Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

XANAMainFrame.h

Go to the documentation of this file.
00001 #ifndef __XANAMainFrame_h
00002 #define __XANAMainFrame_h
00003 
00009 #include <TROOT.h>
00010 #include <TApplication.h>
00011 #include <TGFrame.h>
00012 #include <TString.h>
00013 
00014 
00015 class TGFrame;
00016 class TGMenuBar;
00017 class TGTextButton;
00018 class TGPopupMenu;
00019 class TRootEmbeddedCanvas;
00020 class TTree;
00021 class TObjArray;
00022 class TGNumberEntryField;
00023 class XANADisplayTitle;
00024 class XANADialogFrame;
00025 class XANADisplay;
00026 class XANAEsdEvent;
00027 
00028 class XANAMainFrame : public TGMainFrame {
00029 
00030 public  :
00031   //Constructor/destructor
00032             XANAMainFrame();
00033             XANAMainFrame(const TGWindow *p,UInt_t w, UInt_t h,TString *fname);
00034   virtual  ~XANAMainFrame(){;} 
00035     
00036   XANADisplay     *getCanvas()    { return fCanvas;}
00037   void             updateDisplayVariables();
00038   
00039   enum MenuBarMessages {
00040     kM_FILE_OPEN=0,
00041     kM_SAVEAS_PS,
00042     kM_SAVEAS_PS_TR,
00043     kM_SAVEAS_EPS,
00044     kM_SAVEAS_GIF,
00045     kM_SAVEAS_EPS_TR,
00046     kM_SAVEAS_GIF_TR,
00047     kM_EXIT,
00048     kM_ECAL,
00049     kM_HCAL,
00050     kM_TRACKER,
00051     kM_MUON,
00052     kM_HIT_STEREO,
00053     kM_HITS,
00054     kM_TRACKHITS,
00055     kM_TRACKS,
00056     kM_ELECTRONS,
00057     kM_CLUSTERS,
00058     kM_RADIAL,
00059     kM_SIDE,
00060     kM_BOTHVIEW,
00061     kM_CALOVIEW,
00062     kM_3D
00063   };
00064 
00065   enum ButtonMessages {
00066     kM_NEXT = 100,
00067     kM_PREVIOUS,
00068     kM_EVENT,
00069     kM_GEOM,
00070     kM_DRAW
00071   };
00072     
00073 private :
00074 
00075  // frame widgets
00076   TGCompositeFrame     *fMainFrame;
00077   TGCompositeFrame     *fDisplayFrame;
00078   TRootEmbeddedCanvas  *fEmbeddedCanvas;
00079   TGMenuBar            *fMenuBar;
00080   TGPopupMenu          *fMenudet,*fMenuOpt,*fMenuView;
00081   TGTextButton         *fNext,*fPrevious,*fEvent,*fGeom;
00082   TGTextButton         *fDraw;
00083   TGNumberEntryField   *fCutClus,*fCutTrak;
00084   XANADisplayTitle     *fTitle;
00085   XANADialogFrame      *fDialog;  
00086   XANADisplay          *fCanvas;
00087   
00088   //Display flags
00089   
00090   //flag true if detector to be drawn      
00091   Bool_t   fECAL;       
00092   Bool_t   fHCAL;
00093   Bool_t   fTRACKER;
00094   Bool_t   fMUON;
00095   //flag true if view to be drawn 
00096   Bool_t   fSide;
00097   Bool_t   fRadial;
00098   Bool_t   fBothView;
00099   Bool_t   caloView_;
00100   // flag true if object to be drawn
00101   Bool_t   okTrack_;    
00102   Bool_t   okHit_;
00103   Bool_t   okTrackHit_;
00104   Bool_t   okClus_;
00105   Bool_t   okElec_;
00106   Bool_t   zoomMode_;
00107   // forces hit double projection mono/stereo if true 
00108   Bool_t   hitStereo_;
00109   // Default color for transparency 
00110   Bool_t   transparency_;                      
00111         
00112   
00113   //methods linked to frame widgets
00114   void             CreateMenubar();
00115   virtual Bool_t   ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
00116   void             toggleSideView();
00117   void             toggleRadialView();
00118   void             toggleBothViews();
00119   void             toggleCaloView();
00120   void             toggle(Bool_t &opt,MenuBarMessages msg);
00121       
00122  
00123   ClassDef(XANAMainFrame,0)  // Main frame of CMS local display   
00124            
00125 };   
00126 #endif

Generated on Tue May 10 10:01:24 2005 for XANADOO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002