EveService

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
#ifndef Fireworks_Geometry_EveService_h
#define Fireworks_Geometry_EveService_h
// -*- C++ -*-
//
// Package:     Fireworks/Eve
// Class  :     EveService
//
/**\class EveService EveService.h Fireworks/Geometry/interface/EveService.h

 Description: [one line class summary]

 Usage:
    <usage>

*/
//
// Original Author:  Matevz Tadel
//         Created:  Fri Jun 25 18:56:52 CEST 2010
//

#include <string>
#include <Rtypes.h>

namespace edm {
  class ParameterSet;
  class ActivityRegistry;
  class Run;
  class Event;
  class EventSetup;
  class StreamContext;
  class GlobalContext;
}  // namespace edm

class TEveManager;
class TEveElement;
class TEveMagField;
class TEveTrackPropagator;
class TRint;

class TGTextButton;
class TGLabel;

class EveService {
public:
  EveService(const edm::ParameterSet&, edm::ActivityRegistry&);
  virtual ~EveService();

  // ---------- const member functions ---------------------

  // ---------- static member functions --------------------

  // ---------- member functions ---------------------------

  void postBeginJob();
  void postEndJob();

  void postGlobalBeginRun(edm::GlobalContext const&);

  void postEvent(edm::StreamContext const&);

  void display(const std::string& info = "");

  TEveManager* getManager();
  TEveMagField* getMagField();
  void setupFieldForPropagator(TEveTrackPropagator* prop);

  // Shortcuts for adding top level event and geometry elements.
  void AddElement(TEveElement* el);
  void AddGlobalElement(TEveElement* el);

  // GUI slots -- must be public so that ROOT can call them via CINT.

  void slotExit();
  void slotNextEvent();
  void slotStep();
  void slotContinue();

protected:
  void createEventNavigationGUI();

private:
  EveService(const EveService&);                   // stop default
  const EveService& operator=(const EveService&);  // stop default

  // ---------- member data --------------------------------

  TEveManager* m_EveManager;
  TRint* m_Rint;

  TEveMagField* m_MagField;

  bool m_AllowStep;
  bool m_ShowEvent;

  TGTextButton* m_ContinueButton;
  TGTextButton* m_StepButton;
  TGLabel* m_StepLabel;

  ClassDef(EveService, 0);
};

#endif