BOSS 7.1.2
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 extends<Service, IRawDataProviderSvc>,
17//class RawDataProviderSvc: public Service, virtual public IRawDataProviderSvc,
18 virtual public IIncidentListener{
19
20public:
21 RawDataProviderSvc( const std::string& name, ISvcLocator* svcloc );
23 virtual StatusCode initialize();
24 virtual StatusCode finalize();
25 //virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvInterface );
26 //virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvInterface );
27 // Incident handler
28 void handle(const Incident&);
29
30 MdcDigiVec& getMdcDigiVec(uint32_t control = 0) { return m_mdcProvider->getMdcDigiVec(control); }
31
32 TofDataMap& tofDataMapOnlineMode(uint32_t control = 1) { return m_tofProvider->tofDataMapOnlineMode(control); }
33 TofDataVector& tofDataVectorOnlineMode(uint32_t control = 1) { return m_tofProvider->tofDataVectorOnlineMode(control); }
34 TofDataMap& tofDataMapEstime() { return m_tofProvider->tofDataMapEstime(); }
36 TofDataMap& tofDataMapTof(double estime = 0.0) { return m_tofProvider->tofDataMapTof(estime); }
37 TofDataVector& tofDataVectorTof(double estime = 0.0) { return m_tofProvider->tofDataVectorTof(estime); }
38 TofDataMap& tofDataMapEmc(double estime = 0.0) { return m_tofProvider->tofDataMapEmc(estime); }
39 TofDataVector& tofDataVectorEmc(double estime = 0.0) { return m_tofProvider->tofDataVectorEmc(estime); }
40
41 EmcDigiCol& getEmcDigiVec(uint32_t control) {return m_emcProvider->getEmcDigiVec(control); }
42
43 MdcRawDataProvider* getMdcProvider() { return m_mdcProvider; }
44 TofRawDataProvider* getTofProvider() { return m_tofProvider; }
45 EmcRawDataProvider* getEmcProvider() { return m_emcProvider; }
46 bool isOnlineMode() { return m_onlineMode; }
47
48private:
49
50 MdcRawDataProvider* m_mdcProvider;
51 TofRawDataProvider* m_tofProvider;
52 EmcRawDataProvider* m_emcProvider;
53
54 std::vector<int> m_skipLayers; // Mdc skip layer flag
55 float m_effThreshold; // Mdc wire efficiency threshold
56 std::vector<float> m_adcThresholds; // Mdc ADC thresholds
57 float m_elow; // Emc low threshold of energy for single crystal (MeV)
58 uint32_t m_tlow; // Emc low threshold of time
59 uint32_t m_thigh; // Emc high threshold of time
60 std::vector<uint32_t> m_hotVec; // Emc hot channels' id
61 std::vector<uint32_t> m_deadVec; // Emc dead channels' id
62 bool m_onlineMode; // if online mode, true
63};
64
65#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()
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)
RawDataProviderSvc(const std::string &name, ISvcLocator *svcloc)
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)