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