CGEM BOSS 6.6.5.g
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
21static const InterfaceID IID_RawDataInputSvc("RawDataInputSvc", 1, 0);
22
23class RawDataInputSvc: public Service,
24 virtual public IRawDataInputSvc
25{
26 public:
27
28 static const InterfaceID& interfaceID() { return IID_RawDataInputSvc; }
29
30 // Constructors:
31 RawDataInputSvc(const std::string& name, ISvcLocator* svcloc);
32
33 // Destructor.
34 virtual ~RawDataInputSvc();
35
36 // Implementation of the RawDataInputSvc interface methods.
37 virtual StatusCode initialize();
38 virtual StatusCode finalize();
39
40 virtual RAWEVENT* nextEvent();
41 virtual RAWEVENT* currentEvent() ;
42 virtual bool setCurrentEvent(RAWEVENT* m_onlinere);//TR
43
44 std::string currentFile() const { return m_reader->currentFile(); }
45
46 // 0-NormalNetMode, 1-OnlineMode, 2-OfflineMode, 3-DistBossMode
47 int runMode() { return m_mode; }
48
49 uint32_t runNo() { return m_reader->runNo(); }
50
51 private:
52
53 RAWEVENT* m_re;
54 IRawReader* m_reader; // used by OfflineMode and DistBossMode
55
56 // 0-NormalNetMode, 1-OnlineMode, 2-OfflineMode, 3-DistBossMode
57 int m_mode;
58 bool m_keepRdm;
59
60 // OfflineMode parameter
61 std::vector<std::string> m_inputFiles;
62
63 // DistBossMode parameter
64 std::string m_evtServer;
65
66 // SubDetectorFragments & ROBs
67 const uint32_t** m_sds;
68 const uint32_t** m_robs;
69};
70
71#endif
72
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
static const InterfaceID & interfaceID()
virtual RAWEVENT * nextEvent()