BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
RawDataProviderSvc.h
Go to the documentation of this file.
1#ifndef RAWDATAPROVIDERSVC_H
2#define RAWDATAPROVIDERSVC_H
3
4#include "GaudiKernel/IInterface.h"
5#include "GaudiKernel/IIncidentListener.h"
6#include "GaudiKernel/Kernel.h"
7#include "GaudiKernel/Service.h"
8#include "GaudiKernel/SmartDataPtr.h"
9#include "GaudiKernel/DataSvc.h"
10#include "MdcRawEvent/MdcDigi.h"
11#include "EventModel/Event.h"
12#include <vector>
15
16class RawDataProviderSvc: public Service, virtual public IRawDataProviderSvc,
17 virtual public IIncidentListener{
18
19public:
20 RawDataProviderSvc( const std::string& name, ISvcLocator* svcloc );
22 virtual StatusCode initialize();
23 virtual StatusCode finalize();
24 virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvInterface );
25
26 // Incident handler
27 void handle(const Incident&);
28
29 MdcDigiVec& getMdcDigiVec(uint32_t control = 0) { return m_mdcProvider->getMdcDigiVec(control); }
30
31 TofDataMap& tofDataMapOnlineMode(uint32_t control = 1) { return m_tofProvider->tofDataMapOnlineMode(control); }
32 TofDataVector& tofDataVectorOnlineMode(uint32_t control = 1) { return m_tofProvider->tofDataVectorOnlineMode(control); }
33 TofDataMap& tofDataMapEstime() { return m_tofProvider->tofDataMapEstime(); }
35 TofDataMap& tofDataMapTof(double estime = 0.0) { return m_tofProvider->tofDataMapTof(estime); }
36 TofDataVector& tofDataVectorTof(double estime = 0.0) { return m_tofProvider->tofDataVectorTof(estime); }
37 TofDataMap& tofDataMapEmc(double estime = 0.0) { return m_tofProvider->tofDataMapEmc(estime); }
38 TofDataVector& tofDataVectorEmc(double estime = 0.0) { return m_tofProvider->tofDataVectorEmc(estime); }
39
40 EmcDigiCol& getEmcDigiVec(uint32_t control) {return m_emcProvider->getEmcDigiVec(control); }
41
42 MdcRawDataProvider* getMdcProvider() { return m_mdcProvider; }
43 TofRawDataProvider* getTofProvider() { return m_tofProvider; }
44 EmcRawDataProvider* getEmcProvider() { return m_emcProvider; }
45 bool isOnlineMode() { return m_onlineMode; }
46
47private:
48
49 MdcRawDataProvider* m_mdcProvider;
50 TofRawDataProvider* m_tofProvider;
51 EmcRawDataProvider* m_emcProvider;
52
53 std::vector<int> m_skipLayers; // Mdc skip layer flag
54 float m_effThreshold; // Mdc wire efficiency threshold
55 float m_elow; // Emc low threshold of energy for single crystal (MeV)
56 uint32_t m_tlow; // Emc low threshold of time
57 uint32_t m_thigh; // Emc high threshold of time
58 std::vector<uint32_t> m_hotVec; // Emc hot channels' id
59 std::vector<uint32_t> m_deadVec; // Emc dead channels' id
60 bool m_onlineMode; // if online mode, true
61};
62
63#endif
ObjectVector< EmcDigi > EmcDigiCol
Definition: EmcDigi.h:43
std::vector< MdcDigi * > MdcDigiVec
std::multimap< unsigned int, TofData * > TofDataMap
Definition: TofData.h:244
std::vector< TofData * > TofDataVector
Definition: TofData.h:247
EmcDigiCol & getEmcDigiVec(uint32_t control)
MdcDigiVec & getMdcDigiVec(uint32_t control=0)
virtual StatusCode finalize()
EmcDigiCol & getEmcDigiVec(uint32_t control)
EmcRawDataProvider * getEmcProvider()
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface)
void handle(const Incident &)
MdcRawDataProvider * getMdcProvider()
TofRawDataProvider * getTofProvider()
TofDataVector & tofDataVectorEmc(double estime=0.0)
TofDataMap & tofDataMapTof(double estime=0.0)
MdcDigiVec & getMdcDigiVec(uint32_t control=0)
TofDataMap & tofDataMapOnlineMode(uint32_t control=1)
TofDataMap & tofDataMapEstime()
TofDataMap & tofDataMapEmc(double estime=0.0)
TofDataVector & tofDataVectorTof(double estime=0.0)
TofDataVector & tofDataVectorOnlineMode(uint32_t control=1)
virtual StatusCode initialize()
TofDataVector & tofDataVectorEstime()
TofDataMap & tofDataMapTof(double estime=0.0)
TofDataVector & tofDataVectorTof(double estime=0.0)
TofDataMap & tofDataMapOnlineMode(uint32_t control=1)
TofDataMap & tofDataMapEstime()
TofDataVector & tofDataVectorEmc(double estime=0.0)
TofDataVector & tofDataVectorEstime()
TofDataVector & tofDataVectorOnlineMode(uint32_t control=1)
TofDataMap & tofDataMapEmc(double estime=0.0)