| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

OnXSvc.h

Go to the documentation of this file.
00001 #ifndef OnXSvc_OnXSvc_h
00002 #define OnXSvc_OnXSvc_h
00003 
00004 #include <Lib/Interfaces/ISession.h>
00005 
00006 // Gaudi :
00007 #include <GaudiKernel/Service.h>
00008 #include <GaudiKernel/IRunable.h>
00009 #include <GaudiKernel/SmartIF.h>
00010 #include <GaudiKernel/SmartDataPtr.h>
00011 #include <GaudiKernel/IDataManagerSvc.h>
00012 #include <GaudiKernel/DataObject.h>
00013 
00014 // OnXSvc :
00015 #include <OnXSvc/IUserInterfaceSvc.h>
00016 
00017 template <typename T> class SvcFactory;
00018 class IAppMgrUI;
00019 class IDataProviderSvc;
00020 class IDataSelector;
00021 class ISoConversionSvc;
00022 class IHistogramSvc;
00023 class MsgStream;
00024 
00025 namespace OnX { class Main;}
00026 namespace Slash {namespace UI {class IUI;}}
00027 
00028 class OnXSvc 
00029 :public Service
00030 ,virtual public IRunable
00031 ,virtual public IUserInterfaceSvc 
00032 { 
00033 public: //IInterface
00034   virtual StatusCode queryInterface(const InterfaceID&,void**);
00035 public: //IService
00036   virtual StatusCode initialize();
00037   virtual StatusCode finalize();
00038 public: //IRunable
00039   virtual StatusCode run();
00040 public: //IUserInterfaceSvc
00041   virtual StatusCode visualize(const std::string&);
00042   virtual StatusCode visualize(const DataObject&);
00043   virtual StatusCode visualize(const AIDA::IHistogram&);
00044   virtual StatusCode visualize(const Gaudi::XYZPoint&);
00045   virtual StatusCode visualize(const std::vector<Gaudi::XYZPoint>&,RepType = LINES);
00046   virtual std::vector<std::string> dataChildren(const std::string&); 
00047   virtual void ls(const std::string&,int depth = -1);
00048   virtual bool writeToString(const std::string&,std::string&);
00049   virtual void nextEvent();
00050   virtual IService* getService(const std::string&);
00051   virtual void clearDetectorStore();
00052   virtual StatusCode changeGeometry(const std::string&);
00053   virtual StatusCode changeColors(const std::string&);
00054   virtual void openEventFile(const std::string&);
00055   virtual std::string torgb(const std::string&);
00056   virtual void* topointer(const std::string&) const;
00057   virtual IAppMgrUI* appMgr() const;
00058   virtual SoPage* currentSoPage();
00059   virtual SoRegion* currentSoRegion();
00060   virtual const std::string& cuts() const;
00061   virtual IWidget* currentWidget();
00062   virtual void setSession(Slash::Core::ISession*);
00063   virtual Slash::Core::ISession* session();
00064   virtual Slash::Core::IWriter& printer();
00065   virtual void addType(Slash::Data::IAccessor*);
00066   virtual Slash::Data::IProcessor* typeManager();
00067   virtual Slash::Data::IAccessor* metaType();
00068   virtual std::vector<std::string> getHighlightedSoShapeNames();
00069   virtual std::vector<ContainedObject*> getHighlightedContainedObject();
00070 protected:
00071   // No instantiation via new, only via the factory.
00072   OnXSvc(const std::string&,ISvcLocator*);
00073   virtual ~OnXSvc();
00074   friend class SvcFactory<OnXSvc>;
00075 private:
00076   virtual void eventInfo();
00077   bool visitToXML(IDataProviderSvc*,
00078                   SmartIF<IDataManagerSvc>&,
00079                   SmartDataPtr<DataObject>&,
00080                   std::string&); 
00081   IDataProviderSvc* dataProvider(const std::string&); 
00082   bool ls(IDataProviderSvc*,
00083           SmartIF<IDataManagerSvc>&,
00084           SmartDataPtr<DataObject>&,
00085           MsgStream&,
00086           int,int&);
00087   Slash::UI::IUI* findUI();
00088 private:
00089   IAppMgrUI* fAppMgrUI;
00090   ISoConversionSvc* fSoCnvSvc;
00091   IDataProviderSvc* fEventDataSvc;
00092   IDataProviderSvc* fDetectorDataSvc;
00093   IHistogramSvc* fHistogramSvc;
00094   ISession* fSession;
00095   bool fThreaded;
00096   std::string fToolkit;
00097   std::string fFile;
00098   int fVerboseLevel;
00099   bool fOutputToTerminal;
00100   std::string fCuts;
00101   MsgStream* fLog;
00102   OnX::Main* fOnXMain;
00103   Slash::Data::IProcessor* fTypeManager; //FIXME fAccessorManager
00104   std::vector<Slash::Data::IAccessor*> fTypes;
00105   Slash::Data::IAccessor* fMetaType;
00106   Slash::Core::IWriter* fLibPrinter;
00107   Slash::Core::IWriter* fGaudiPrinter;
00108 };
00109 
00110 #endif
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:02:00 2011 for OnXSvc by doxygen 1.4.7