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

DisplayCanvas.h

Go to the documentation of this file.
00001 
00002 #ifndef DCANVAS
00003 #define DCANVAS
00004 
00005 #include "TNode.h"
00006 #include "TBRIK.h"
00007 #include "TView.h"
00008 #include "TPaveText.h"
00009 #include "TPolyLine.h"
00010 #include "TString.h"
00011 #include "TCanvas.h"
00012 
00013 #include "bfemDisplay/EDControl.h"
00014 #include "bfemDisplay/AcdDisplay.h"
00015 #include "bfemDisplay/CalDisplay.h"
00016 #include "bfemDisplay/TkrDisplay.h"
00017 #include "bfemDisplay/Enum.h"
00018 
00019 #include "TObjectTable.h"
00020 
00021 
00023 
00024 // N Lumb, G Spandre; INFN-Pisa; July 2001.
00025 
00026 class DisplayCanvas {
00027 
00028  private:
00029  
00030    // Pads for each of the different views.
00031 
00032    TCanvas* m_canvas;
00033    TPad* m_infoPad;
00034    TPad* m_3DPad;
00035    TPad* m_zxpad;
00036    TPad* m_zypad;
00037    TPad* m_xyTopPad;
00038    TPad* m_yxTopPad;
00039 
00040    // Top-level nodes.
00041 
00042    TNode* m_frameNode;
00043    TNode* m_towerNode;
00044 
00045 
00046    // Classes for drawing each of the sub-detectors.
00047 
00048    CalDisplay *m_CAL;
00049    AcdDisplay *m_Acd;
00050    TkrDisplay *m_Tkr;
00051 
00052    EDControl  *m_evtCtrl;   // Copy of the event control class object.
00053 
00054    DigiEvent  *m_event;     // <<======= The new digiclass definition
00055    Recon      *m_recon;
00056    TTree      *fTree;
00057    TTree      *rTree;
00058 
00059    TObjArray  *m_ped;       // Array of CAL pedestals.
00060    TObjArray  *m_acdped;    // Array of ACD pedestals.
00061    TObjArray  *m_xgtped;
00062 
00063    TObjArray  *m_eventTextList;  // Array of TPaveTexts for one event.
00064 
00065    Bool_t m_scanForward;   // True if scan direction for displayed evts is positive.
00066    Int_t m_currentevent;
00067 
00068    Float_t m_axis_width;
00069    Float_t m_TowerHeight ;      // Tower height 
00070    Float_t m_TowerWidth ;       // Tower width
00071 
00072 
00073    Float_t scale_factor;
00074    Float_t frame_x, frame_y, frame_z;
00075 
00076    void drawAxes();             
00077 
00078    void AnnotatePad( TPad *pad, Char_t *title, UShort_t opt );
00079 
00080    void DrawEventInfo( TPad *pad );
00081 
00082    void addEnergyScale();       // Add Energy Scale
00083 
00084    TString *m_TextLine;
00085 
00086    Char_t* getText(TString color, Float_t energy);       
00087    Char_t* getTextInt(TString str, Int_t number);       
00088 
00089 
00090    public :
00091 
00092    DisplayCanvas( EDControl *evtCtrl );
00093 
00095    //   ~DisplayCanvas();
00096 
00097    friend class TkrDisplay;
00098    friend class CalDisplay;
00099    friend class AcdDisplay;
00100 
00101    void Draw( Bool_t dataType );
00102 
00103 
00105 
00108    void Draw(Int_t event, Bool_t dataType ) {
00109      m_currentevent = event;
00110      Draw( dataType );
00111    }
00112 
00113    Int_t getCurrentEvent() { return m_currentevent; }
00114    void setCurrentEvent( Int_t evt ) { m_currentevent = evt; }
00115    Bool_t getScanDirection() { return m_scanForward; }
00116    void setScanDirection( Bool_t direction ) { m_scanForward = direction; }
00117 
00118    void setDrawingPads();
00119 
00121    void setCalDisplay(Float_t cal1, Float_t cal2, Float_t cal3);
00122    void setCanvasforProj();
00123 
00124 };
00125 
00126 #endif
00127 
00128 
00129 
00130 

Generated at Mon Nov 26 18:20:06 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000