BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/RawDataProviderSvc/include/RawDataProviderSvc/MdcRawDataProvider.h
Go to the documentation of this file.
1#ifndef MDCRAWDATAPROVIDER_H
2#define MDCRAWDATAPROVIDER_H
3
4#include "GaudiKernel/IMessageSvc.h"
5#include "GaudiKernel/ISvcLocator.h"
6#include "GaudiKernel/Incident.h"
7
8#include "MdcCalibFunSvc/IMdcCalibFunSvc.h"
9#include "MdcRawEvent/MdcDigi.h"
10#include "RawDataProviderBase.h"
11#include <vector>
12
13typedef std::vector<MdcDigi*> MdcDigiVec;
14
15// RawDataProvider for MDC
17public:
19 MdcRawDataProvider( const char* name );
21
22 // initialize service point
23 StatusCode initialize( ISvcLocator* svcLoc = 0, IMessageSvc* pMsg = 0 );
24
25 // Incident handler
26 void handle( const Incident& );
27
28 void setSkipLayers( const std::vector<int>& skipLayers ) { m_skipLayers = skipLayers; }
29 void setEffThreshold( float effThreshold ) { m_effThreshold = effThreshold; }
30 void setAdcThresholds( const std::vector<float>& adcThresholds ) {
31 m_adcThresholds = adcThresholds;
32 }
33
34 MdcDigiVec& getMdcDigiVec( uint32_t control = 0 );
35
36 // Mdc Provider's control mode
38 i_maxMdcDigi = 0x1FFF,
39 b_keepUnmatch = 0x2000,
40 b_dropHot = 0x4000,
41 b_keepSkipped = 0x8000,
42 b_keepBadTdc = 0x10000,
43 b_unRedo = 0x20000,
45 };
46
47private:
48 MdcDigiVec digiRef;
49 std::vector<int> m_skipLayers;
50 float m_effThreshold;
51 std::vector<float> m_adcThresholds;
52 IMdcCalibFunSvc* m_mdcCalibFunSvc;
53};
54#endif
void handle(const Incident &)
void setAdcThresholds(const std::vector< float > &adcThresholds)
MdcDigiVec & getMdcDigiVec(uint32_t control=0)
StatusCode initialize(ISvcLocator *svcLoc=0, IMessageSvc *pMsg=0)
RawDataProviderBase(const char *name)