/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/RawDataProviderSvc/RawDataProviderSvc-00-03-46/RawDataProviderSvc/MdcRawDataProvider.h

Go to the documentation of this file.
00001 #ifndef MDCRAWDATAPROVIDER_H
00002 #define MDCRAWDATAPROVIDER_H
00003 
00004 #include "GaudiKernel/ISvcLocator.h"
00005 #include "GaudiKernel/IMessageSvc.h"
00006 #include "RawDataProviderSvc/RawDataProviderBase.h"
00007 #include "MdcCalibFunSvc/IMdcCalibFunSvc.h"
00008 #include "MdcRawEvent/MdcDigi.h"
00009 #include <vector>
00010 
00011 typedef std::vector<MdcDigi*> MdcDigiVec;
00012 
00013 // RawDataProvider for MDC
00014 class MdcRawDataProvider : public RawDataProviderBase{ 
00015  public:
00016   MdcRawDataProvider();
00017   MdcRawDataProvider( const char* name );
00018   ~MdcRawDataProvider();
00019 
00020   // initialize service point
00021   StatusCode initialize( ISvcLocator* svcLoc=0, IMessageSvc* pMsg=0 );
00022 
00023   // Incident handler
00024   void handle(const Incident&);
00025 
00026   void setSkipLayers(const std::vector<int>& skipLayers){m_skipLayers=skipLayers;}
00027   void setEffThreshold(float effThreshold){m_effThreshold=effThreshold;}
00028 
00029   MdcDigiVec& getMdcDigiVec(uint32_t control = 0);
00030 
00031   // Mdc Provider's control mode
00032   enum MdcControlMode{
00033     i_maxMdcDigi        = 0x1FFF,
00034     b_keepUnmatch       = 0x2000,
00035     b_dropHot           = 0x4000,
00036     b_keepSkipped       = 0x8000,
00037     b_keepBadTdc        = 0x10000,
00038     b_unRedo            = 0x20000,
00039     b_keepAllChannel    = 0x40000
00040   };
00041 
00042  private:
00043   MdcDigiVec digiRef;
00044   std::vector<int> m_skipLayers;
00045   float            m_effThreshold;
00046   IMdcCalibFunSvc* m_mdcCalibFunSvc;
00047 
00048 };
00049 #endif

Generated on Tue Nov 29 22:58:35 2016 for BOSS_7.0.2 by  doxygen 1.4.7