CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/Fireworks/FWInterface/interface/FWFFService.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWFFService_h
00002 #define Fireworks_Core_FWFFService_h
00003 
00004 
00005 #include "Fireworks/Core/interface/CmsShowMainBase.h"
00006 #include "Fireworks/FWInterface/interface/FWFFHelper.h"
00007 #include <string>
00008 #include <Rtypes.h>
00009 #include <memory>
00010 
00011 namespace edm
00012 {
00013    class ParameterSet;
00014    class ActivityRegistry;
00015    class Run;
00016    class Event;
00017    class EventSetup;
00018 }
00019 
00020 class FWFFNavigator;
00021 class FWFFMetadataManager;
00022 
00023 namespace fireworks
00024 {
00025    class Context;
00026 }
00027 
00028 class TEveManager;
00029 class TEveElement;
00030 class TEveMagField;
00031 class TEveTrackPropagator;
00032 class TRint;
00033 
00034 class FWFFService : public CmsShowMainBase
00035 {
00036 public:
00037    FWFFService(const edm::ParameterSet&, edm::ActivityRegistry&);
00038    virtual ~FWFFService();
00039 
00040    // ---------- const member functions ---------------------
00041 
00042    // ---------- static member functions --------------------
00043 
00044    // ---------- member functions ---------------------------
00045 
00046    void postBeginJob();
00047    void postEndJob();
00048 
00049    void postBeginRun(const edm::Run&, const edm::EventSetup&);
00050 
00051    void postProcessEvent(const edm::Event&, const edm::EventSetup&);
00052 
00053    void display(const std::string& info="");
00054 
00055    TEveMagField* getMagField();
00056    void          setupFieldForPropagator(TEveTrackPropagator* prop);
00057 
00058    virtual void checkPosition();
00059    virtual void stopPlaying() {}
00060    virtual void autoLoadNewEvent() {}
00061 
00062    void quit();
00063 private:
00064    FWFFService(const FWFFService&);                  // stop default
00065    const FWFFService& operator=(const FWFFService&); // stop default
00066 
00067    // ---------- member data --------------------------------
00068    
00069    std::auto_ptr<FWFFNavigator>        m_navigator;
00070    std::auto_ptr<FWFFMetadataManager>  m_metadataManager;
00071    std::auto_ptr<fireworks::Context>   m_context;
00072 
00073    FWFFHelper    m_appHelper;
00074    TEveManager  *m_EveManager;
00075    TRint        *m_Rint;
00076 
00077    TEveMagField *m_MagField;
00078    
00079 
00080    bool          m_AllowStep;
00081    bool          m_ShowEvent;
00082    bool          m_firstTime;
00083 };
00084 
00085 #endif