![]() |
![]() |
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