5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/MsgStream.h"
7#include "GaudiKernel/AlgFactory.h"
8#include "GaudiKernel/ISvcLocator.h"
9#include "GaudiKernel/SmartDataPtr.h"
10#include "GaudiKernel/IDataProviderSvc.h"
11#include "GaudiKernel/PropertyMgr.h"
12#include "GaudiKernel/Tokenizer.h"
13#include "GaudiKernel/IRegistry.h"
14#include "GaudiKernel/IAlgManager.h"
15#include "GaudiKernel/IConversionSvc.h"
16#include "GaudiKernel/IDataManagerSvc.h"
17#include "GaudiKernel/IPersistencySvc.h"
18#include "GaudiKernel/IOpaqueAddress.h"
19#include "GaudiKernel/IDataStoreAgent.h"
20#include "GaudiKernel/strcasecmp.h"
21#include "GaudiKernel/DataObject.h"
22#include "GaudiKernel/DataStoreItem.h"
37#include <TRootEmbeddedCanvas.h>
39#include <TApplication.h>
40#include <TInterpreter.h>
45#include <TGeoManager.h>
49#include <TGStatusBar.h>
50#include <TGFileDialog.h>
51#include <TGNumberEntry.h>
53#include <TGProgressBar.h>
55#include <TGSplitter.h>
58#include <TGListTree.h>
60#include <TGButtonGroup.h>
61#include <TGTextEntry.h>
62#include <TGTextBuffer.h>
74#include <TVirtualGeoPainter.h>
75#include <TRootHelpDialog.h>
79#include "RootEventData/TRecTrackEvent.h"
80#include "RootEventData/TDigiEvent.h"
81#include "RootCnvSvc/commonData.h"
82#include "RootCnvSvc/RootInterface.h"
83#include "RootCnvSvc/RootCnvSvc.h"
100#include "EventModel/EventModel.h"
101#include "EventModel/Event.h"
112#include "ReconEvent/ReconEvent.h"
113#include "MdcRecEvent/RecMdcTrack.h"
114#include "MdcRecEvent/RecMdcKalTrack.h"
115#include "MdcRecEvent/RecMdcDedx.h"
116#include "TofRecEvent/RecTofTrack.h"
117#include "EmcRecEventModel/RecEmcShower.h"
118#include "MucRecEvent/RecMucTrack.h"
119#include "RootEventData/TDisTrack.h"
121#include "CLHEP/Matrix/Vector.h"
122#include "CLHEP/Matrix/SymMatrix.h"
123#include "CLHEP/Vector/ThreeVector.h"
133using namespace Event;
134using CLHEP::Hep3Vector;
135using CLHEP::HepSymMatrix;
138#define BUFFER "./buffer"
151class TRootEmbeddedCanvas;
160class TGHorizontal3DLine;
174class TGPictureButton;
193 BesVisAlg (
const std::string& name, ISvcLocator* pSvcLocator);
202 std::vector<std::string> testVec;
203 std::string f_rootOutputFile;
204 std::string f_geoInputFile;
209 int sem_value_F, sem_value_O;
211 struct semid_ds sem_buf;
216 IDataManagerSvc *m_pDataManager;
217 IDataProviderSvc *m_pDataProvider;
218 IConversionSvc *m_pConversionSvc;
219 IDataStoreAgent *m_pAgent;
220 DataStoreItem *m_currentItem;
224 typedef std::vector<DataStoreItem*> Items;
225 typedef std::vector<std::string> ItemNames;
238 StatusCode producer(
int p_sleep);
240 StatusCode hasWrite();
241 void addItem(Items& itms,
const std::string& descriptor);
242 void clearItems(Items& items);
243 DataStoreItem* findItem(
const std::string& path);
244 StatusCode collectObjects();
246 StatusCode finishSvc();
247 StatusCode write2file();
double arg(const EvtComplex &c)
Root Event Conversion Service which coordinates all of our converters.