BOSS 7.0.7
BESIII Offline Software System
Loading...
Searching...
No Matches
RawDataInputSvc.h
Go to the documentation of this file.
1#ifndef RAWDATACNVSVC_RAWDATAFILEINPUTSVC_H
2#define RAWDATACNVSVC_RAWDATAFILEINPUTSVC_H
3
4//===================================================================
5// RawDataFileInputSvc.h
6//===================================================================
7//
8// Description: This class implements the interface RawDataInputSvc for
9// event selector to read the events for Files.
10//
11//-------------------------------------------------------------------
12
13
14// Include files.
15#include "GaudiKernel/Service.h"
16#include "GaudiKernel/ISvcLocator.h"
17#include "IRawFile/IRawReader.h"
20
21class OfflineRevise;
22
23static const InterfaceID IID_RawDataInputSvc("RawDataInputSvc", 1, 0);
24
25class RawDataInputSvc: public Service,
26 virtual public IRawDataInputSvc
27{
28 public:
29
30 static const InterfaceID& interfaceID() { return IID_RawDataInputSvc; }
31
32 // Constructors:
33 RawDataInputSvc(const std::string& name, ISvcLocator* svcloc);
34
35 // Destructor.
36 virtual ~RawDataInputSvc();
37
38 // Implementation of the RawDataInputSvc interface methods.
39 virtual StatusCode initialize();
40 virtual StatusCode finalize();
41
42 virtual RAWEVENT* nextEvent();
43 virtual RAWEVENT* currentEvent() ;
44 virtual bool setCurrentEvent(RAWEVENT* m_onlinere);//TR
45
46 std::string currentFile() const { return m_reader->currentFile(); }
47
48 // 0-NormalNetMode, 1-OnlineMode, 2-OfflineMode, 3-DistBossMode
49 int runMode() { return m_mode; }
50
51 uint32_t runNo() { return m_reader->runNo(); }
52
53 OfflineRevise* offlineRevisor() { return m_revisor; }
54
55 private:
56
57 RAWEVENT* m_re;
58 IRawReader* m_reader; // used by OfflineMode and DistBossMode
59 OfflineRevise* m_revisor;
60
61 // 0-NormalNetMode, 1-OnlineMode, 2-OfflineMode, 3-DistBossMode
62 int m_mode;
63 bool m_keepRdm;
64
65 // OfflineMode parameter
66 std::vector<std::string> m_inputFiles;
67
68 // DistBossMode parameter
69 std::string m_evtServer;
70
71 // The config file for offline revision
72 std::string m_conf4Revise;
73
74 // SubDetectorFragments & ROBs
75 const uint32_t** m_sds;
76 const uint32_t** m_robs;
77};
78
79#endif
80
virtual std::string currentFile()=0
virtual uint32_t runNo()=0
uint32_t runNo()
virtual bool setCurrentEvent(RAWEVENT *m_onlinere)
virtual StatusCode initialize()
virtual StatusCode finalize()
virtual ~RawDataInputSvc()
virtual RAWEVENT * currentEvent()
std::string currentFile() const
OfflineRevise * offlineRevisor()
static const InterfaceID & interfaceID()
virtual RAWEVENT * nextEvent()