File indexing completed on 2024-04-06 12:11:45
0001 #ifndef Fireworks_Geometry_EveService_h
0002 #define Fireworks_Geometry_EveService_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #include <string>
0022 #include <Rtypes.h>
0023
0024 namespace edm {
0025 class ParameterSet;
0026 class ActivityRegistry;
0027 class Run;
0028 class Event;
0029 class EventSetup;
0030 class StreamContext;
0031 class GlobalContext;
0032 }
0033
0034 class TEveManager;
0035 class TEveElement;
0036 class TEveMagField;
0037 class TEveTrackPropagator;
0038 class TRint;
0039
0040 class TGTextButton;
0041 class TGLabel;
0042
0043 class EveService {
0044 public:
0045 EveService(const edm::ParameterSet&, edm::ActivityRegistry&);
0046 virtual ~EveService();
0047
0048
0049
0050
0051
0052
0053
0054 void postBeginJob();
0055 void postEndJob();
0056
0057 void postGlobalBeginRun(edm::GlobalContext const&);
0058
0059 void postEvent(edm::StreamContext const&);
0060
0061 void display(const std::string& info = "");
0062
0063 TEveManager* getManager();
0064 TEveMagField* getMagField();
0065 void setupFieldForPropagator(TEveTrackPropagator* prop);
0066
0067
0068 void AddElement(TEveElement* el);
0069 void AddGlobalElement(TEveElement* el);
0070
0071
0072
0073 void slotExit();
0074 void slotNextEvent();
0075 void slotStep();
0076 void slotContinue();
0077
0078 protected:
0079 void createEventNavigationGUI();
0080
0081 private:
0082 EveService(const EveService&);
0083 const EveService& operator=(const EveService&);
0084
0085
0086
0087 TEveManager* m_EveManager;
0088 TRint* m_Rint;
0089
0090 TEveMagField* m_MagField;
0091
0092 bool m_AllowStep;
0093 bool m_ShowEvent;
0094
0095 TGTextButton* m_ContinueButton;
0096 TGTextButton* m_StepButton;
0097 TGLabel* m_StepLabel;
0098
0099 ClassDef(EveService, 0);
0100 };
0101
0102 #endif