CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/Fireworks/Core/interface/FWDisplayEvent.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #ifndef Fireworks_Core_FWDisplayEvent_h
00003 #define Fireworks_Core_FWDisplayEvent_h
00004 //
00005 // Package:     Core
00006 // Class  :     FWDisplayEvent
00007 //
00016 //
00017 // Original Author:
00018 //         Created:  Mon Dec  3 08:34:30 PST 2007
00019 // $Id: FWDisplayEvent.h,v 1.32 2010/09/07 15:46:46 yana Exp $
00020 //
00021 
00022 // system include files
00023 #include <vector>
00024 #include <string>
00025 #include <memory>
00026 #include <boost/shared_ptr.hpp>
00027 #include "Rtypes.h"
00028 
00029 // user include files
00030 //#include "FWGeometry.h"
00031 
00032 // forward declarations
00033 class TGPictureButton;
00034 class TGComboBox;
00035 class TGTextButton;
00036 class TGTextEntry;
00037 class FWEventItemsManager;
00038 class FWViewManagerManager;
00039 class FWModelChangeManager;
00040 class FWSelectionManager;
00041 class FWGUIManager;
00042 class FWEventItem;
00043 class FWPhysicsObjectDesc;
00044 class FWConfigurationManager;
00045 class FWColorManager;
00046 class FWGeometry;
00047 
00048 namespace fwlite {
00049    class Event;
00050 }
00051 
00052 class FWDisplayEvent
00053 {
00054 
00055 public:
00056    FWDisplayEvent(const std::string& iConfigFileName = std::string(),
00057                   bool iEnableDebug = false, bool iNewLego = true);
00058    virtual ~FWDisplayEvent();
00059 
00060    // ---------- const member functions ---------------------
00061    int draw(const fwlite::Event& ) const;
00062 
00063    const FWGeometry& getGeom() const {
00064       return m_geom;
00065    }
00066 
00067    void writeConfigurationFile(const std::string& iFileName) const;
00068    // ---------- static member functions --------------------
00069    static double getMagneticField() {
00070       return m_magneticField;
00071    }
00072    static void   setMagneticField(double var) {
00073       m_magneticField = var;
00074    }
00075    static double getCaloScale() {
00076       return m_caloScale;
00077    }
00078    static void   setCaloScale(double var) {
00079       m_caloScale = var;
00080    }
00081 
00082    // ---------- member functions ---------------------------
00083    int draw(const fwlite::Event& );
00084 
00085    void registerPhysicsObject(const FWPhysicsObjectDesc&);
00086 private:
00087    FWDisplayEvent(const FWDisplayEvent&);    // stop default
00088 
00089    const FWDisplayEvent& operator=(const FWDisplayEvent&);    // stop default
00090 
00091    // ---------- member data --------------------------------
00092    std::auto_ptr<FWConfigurationManager> m_configurationManager;
00093    std::auto_ptr<FWModelChangeManager> m_changeManager;
00094    std::auto_ptr<FWColorManager> m_colorManager;
00095    std::auto_ptr<FWSelectionManager> m_selectionManager;
00096    std::auto_ptr<FWEventItemsManager> m_eiManager;
00097    std::auto_ptr<FWViewManagerManager> m_viewManager;
00098    std::auto_ptr<FWGUIManager> m_guiManager;
00099 
00100    FWGeometry m_geom;
00101    std::string m_configFileName;
00102    static double m_magneticField;
00103    static double m_caloScale;
00104 };
00105 
00106 
00107 #endif