BOSS 8.0.0
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 "EventModel/Event.h"
5// #include "GaudiKernel/DataSvc.h"
6#include "GaudiKernel/IIncidentListener.h"
7// #include "GaudiKernel/IInterface.h"
8// #include "GaudiKernel/Kernel.h"
9#include "GaudiKernel/Service.h"
10// #include "GaudiKernel/SmartDataPtr.h"
11// #include "MdcRawEvent/MdcDigi.h"
12#include "RawDataProviderSvc/IRawDataProviderSvc.h"
13#include "RawDataProviderSvc/TofData.h"
14#include <vector>
15
16class RawDataProviderSvc : public extends<Service, IRawDataProviderSvc>,
17 // class RawDataProviderSvc: public Service, virtual
18 // public IRawDataProviderSvc,
19 virtual public IIncidentListener {
20
21public:
22 RawDataProviderSvc( const std::string& name, ISvcLocator* svcloc );
24 virtual StatusCode initialize();
25 virtual StatusCode finalize();
26 // virtual StatusCode queryInterface( const InterfaceID& riid, void**
27 // ppvInterface ); virtual StatusCode queryInterface( const InterfaceID& riid,
28 // void** ppvInterface );
29 // Incident handler
30 void handle( const Incident& );
31
32 MdcDigiVec& getMdcDigiVec( uint32_t control = 0 ) {
33 return m_mdcProvider->getMdcDigiVec( control );
34 }
35
36 TofDataMap& tofDataMapOnlineMode( uint32_t control = 1 ) {
37 return m_tofProvider->tofDataMapOnlineMode( control );
38 }
39 TofDataVector& tofDataVectorOnlineMode( uint32_t control = 1 ) {
40 return m_tofProvider->tofDataVectorOnlineMode( control );
41 }
42 TofDataMap& tofDataMapEstime() { return m_tofProvider->tofDataMapEstime(); }
43 TofDataVector& tofDataVectorEstime() { return m_tofProvider->tofDataVectorEstime(); }
44 TofDataMap& tofDataMapTof( double estime = 0.0 ) {
45 return m_tofProvider->tofDataMapTof( estime );
46 }
47 TofDataVector& tofDataVectorTof( double estime = 0.0 ) {
48 return m_tofProvider->tofDataVectorTof( estime );
49 }
50 TofDataMap& tofDataMapEmc( double estime = 0.0 ) {
51 return m_tofProvider->tofDataMapEmc( estime );
52 }
53 TofDataVector& tofDataVectorEmc( double estime = 0.0 ) {
54 return m_tofProvider->tofDataVectorEmc( estime );
55 }
56
57 EmcDigiCol& getEmcDigiVec( uint32_t control ) {
58 return m_emcProvider->getEmcDigiVec( control );
59 }
60
61 MdcRawDataProvider* getMdcProvider() { return m_mdcProvider; }
62 TofRawDataProvider* getTofProvider() { return m_tofProvider; }
63 EmcRawDataProvider* getEmcProvider() { return m_emcProvider; }
64 bool isOnlineMode() { return m_onlineMode; }
65
66private:
67 MdcRawDataProvider* m_mdcProvider;
68 TofRawDataProvider* m_tofProvider;
69 EmcRawDataProvider* m_emcProvider;
70
71 std::vector<int> m_skipLayers; // Mdc skip layer flag
72 float m_effThreshold; // Mdc wire efficiency threshold
73 std::vector<float> m_adcThresholds; // Mdc ADC thresholds
74 float m_elow; // Emc low threshold of energy for single crystal (MeV)
75 uint32_t m_tlow; // Emc low threshold of time
76 uint32_t m_thigh; // Emc high threshold of time
77 std::vector<uint32_t> m_hotVec; // Emc hot channels' id
78 std::vector<uint32_t> m_deadVec; // Emc dead channels' id
79 bool m_onlineMode; // if online mode, true
80};
81
82#endif
ObjectVector< EmcDigi > EmcDigiCol
std::multimap< unsigned int, TofData * > TofDataMap
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()