BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtPreSelect/EventWriter/EventWriter-00-00-18/EventWriter/EventWriter.h
Go to the documentation of this file.
1#ifndef BESVISALG_H_
2#define BESVISALG_H_
3
4// something needed by Gaudi
5#include "GaudiKernel/Algorithm.h"
6#include "GaudiKernel/IDataProviderSvc.h"
7#include "GaudiKernel/IConversionSvc.h"
8#include "GaudiKernel/IDataManagerSvc.h"
9#include "GaudiKernel/IDataStoreAgent.h"
10#include "GaudiKernel/DataStoreItem.h"
11
12#include "NetDataWriter/NetDataWriter.h"
13// something needed by root
14#include "RootEventData/TRecTrackEvent.h"
15#include "RootEventData/TDigiEvent.h"
16#include "RootEventData/TJobInfo.h"
17#include "RootCnvSvc/commonData.h"
18#include "RootCnvSvc/RootInterface.h"
19
20#include "RootCnvSvc/RootCnvSvc.h"
21#include "TTree.h"
22#include "TFile.h"
23
24
25using namespace std;
26
27class TBossFullEvent;
28
29///////////////////////////////////////////////////////////////////////////////
30
31
32class EventWriter : public Algorithm {
33public:
34 EventWriter (const std::string& name, ISvcLocator* pSvcLocator);
36 StatusCode initialize();
37 StatusCode execute();
38 StatusCode finalize();
39
40private:
41 // some variables needed by semaphore
42
43 // Gaudi service interface
44 IDataManagerSvc *m_pDataManager;
45 IDataProviderSvc *m_pDataProvider;
46 IConversionSvc *m_pConversionSvc;
47 IDataStoreAgent *m_pAgent;
48 DataStoreItem *m_currentItem;
49 RootInterface *m_pRootInterface;
50 RootCnvSvc* m_cnvSvc;
51 TRecTrackEvent *m_trkEvt;
52 TDigiEvent *m_digiEvt;
53 TMcEvent *m_mcEvt;
54 THltEvent *m_hltEvt;
55 TEvtHeader *m_evtHd;
56 virtual std::string getJobOptions();
57 virtual std::string getDecayOptions();
58
59 typedef std::vector<DataStoreItem*> Items;
60 typedef std::vector<std::string> ItemNames;
61
62 commonData m_common;
63 TFile* m_single_outputFiles;
64 TTree* m_single_outputTrees;
65 TTree* m_jobInfoTree;
66 int st;
67 string m_dofileName;
68 string m_dofileName_1;
69 Items m_itemList;
70 ItemNames m_itemNames;
71 StatusCode getSvc();
72 void addItem(Items& itms, const std::string& descriptor);
73 void clearItems(Items& items);
74 DataStoreItem* findItem(const std::string& path);
75 StatusCode collectObjects();
76 std::vector<std::string> m_jobOptions;
77 std::string m_bossVer;
78 std::string m_decayOptions;
79 TJobInfo* jobInfo;
80
81 // for DistBoss
82 int m_mode; //2-OfflineMode, 3-DistBossMode
83 std::string m_svrName;
84 TBossFullEvent *m_TFullEvt;
85 NetDataWriter *m_writer;
86 int m_bufsize;
87 char *m_cbuf;
88};
89
90#endif
StatusCode finalize()
StatusCode execute()
StatusCode initialize()
Definition: EventWriter.cxx:81
Root Event Conversion Service which coordinates all of our converters.