CMS 3D CMS Logo

FWFFLooper.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWFFLooper_h
2 #define Fireworks_Core_FWFFLooper_h
3 
11 #include <string>
12 #include <Rtypes.h>
13 #include <memory>
14 
15 namespace edm
16 {
17  class ParameterSet;
18  class ActivityRegistry;
19  class Run;
20  class Event;
21  class EventSetup;
23  class ModuleChanger;
24  class ParameterSet;
25  class LuminosityBlockPrincipal;
26 }
27 
28 class FWFFNavigator;
30 class FWPathsPopup;
31 
32 namespace fireworks
33 {
34  class Context;
35 }
36 
37 class TEveManager;
38 class TEveElement;
39 class TEveMagField;
40 class TEveTrackPropagator;
41 class TRint;
42 class TGWindow;
43 
45 {
46 public:
48  ~FWFFLooper() override;
49 
50  // ---------- const member functions ---------------------
51 
52  // ---------- static member functions --------------------
53 
54  // ---------- member functions ---------------------------
55 
56  void attachTo(edm::ActivityRegistry &) override;
57  void postBeginJob();
58  void postEndJob();
59 
60  void beginRun(const edm::Run&, const edm::EventSetup&) override;
61 
62  void display(const std::string& info="");
63 
64  TEveMagField* getMagField();
65  void setupFieldForPropagator(TEveTrackPropagator* prop);
66 
67  void checkPosition() override;
68  void stopPlaying() override ;
69  void autoLoadNewEvent() override;
70 
71  void showPathsGUI(const TGWindow *p);
72 
73  void quit() override;
74 
75  void startingNewLoop(unsigned int) override;
76  edm::EDLooperBase::Status endOfLoop(const edm::EventSetup&, unsigned int) override;
78  void requestChanges(const std::string &, const edm::ParameterSet &);
79 
80  void remakeGeometry(const DisplayGeomRecord& dgRec);
81 
82 private:
83  FWFFLooper(const FWFFLooper&); // stop default
84  const FWFFLooper& operator=(const FWFFLooper&); // stop default
85 
86  void loadDefaultGeometryFile( void );
87 
89  std::unique_ptr<FWFFNavigator> m_navigator;
90  std::unique_ptr<FWFFMetadataManager> m_metadataManager;
91  std::unique_ptr<fireworks::Context> m_context;
92 
93  TEveManager *m_EveManager;
94  TRint *m_Rint;
95 
96  TEveMagField *m_MagField;
97 
102 
103  typedef std::map<std::string, edm::ParameterSet> ModuleChanges;
104  ModuleChanges m_scheduledChanges;
109 
111 };
112 
113 #endif
edm::ESWatcher< DisplayGeomRecord > m_geomWatcher
Definition: FWFFLooper.h:110
bool m_ShowEvent
Definition: FWFFLooper.h:99
static const TGPicture * info(bool iBackgroundIsBlack)
bool m_isLastEvent
Definition: FWFFLooper.h:108
ModuleChanges m_scheduledChanges
Definition: FWFFLooper.h:104
TEveManager * m_EveManager
Definition: FWFFLooper.h:93
FWPathsPopup * m_pathsGUI
Definition: FWFFLooper.h:101
TEveMagField * m_MagField
Definition: FWFFLooper.h:96
bool m_autoReload
Definition: FWFFLooper.h:106
std::unique_ptr< FWFFMetadataManager > m_metadataManager
Definition: FWFFLooper.h:90
TRint * m_Rint
Definition: FWFFLooper.h:94
bool m_firstTime
Definition: FWFFLooper.h:100
bool m_isFirstEvent
Definition: FWFFLooper.h:107
edm::Service< FWFFHelper > m_appHelper
Definition: FWFFLooper.h:88
std::unique_ptr< FWFFNavigator > m_navigator
Definition: FWFFLooper.h:89
bool m_AllowStep
Definition: FWFFLooper.h:98
HLT enums.
std::unique_ptr< fireworks::Context > m_context
Definition: FWFFLooper.h:91
std::map< std::string, edm::ParameterSet > ModuleChanges
Definition: FWFFLooper.h:103
edm::EventID m_nextEventId
Definition: FWFFLooper.h:105
Definition: Run.h:45