/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Muc/MucCalibConstSvc/MucCalibConstSvc-00-01-10/MucCalibConstSvc/MucCalibConstSvc.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------------|
00002 //      [File  ]:                       MucCalibConstSvc.h                      |
00003 //      [Brief ]:       Head file of MUC calibration constants service          |
00004 //      [Author]:       Xie Yuguang, <ygxie@mail.ihep.ac.cn>                    |
00005 //      [Date  ]:       Aug 22, 2006                                            |
00006 //------------------------------------------------------------------------------|
00007 
00008 #ifndef MUC_CALIB_CONST_SVC_H_
00009 #define MUC_CALIB_CONST_SVC_H_
00010 
00011 #include "GaudiKernel/IInterface.h"
00012 #include "GaudiKernel/Kernel.h"
00013 #include "GaudiKernel/Service.h"
00014 #include "GaudiKernel/IDataProviderSvc.h"
00015 #include "GaudiKernel/SmartDataPtr.h"
00016 
00017 #include "MucCalibConstSvc/IMucCalibConstSvc.h"
00018 
00019 class MucCalibConstSvc: public Service, virtual public IMucCalibConstSvc
00020 {
00021   public:
00022     MucCalibConstSvc( const std::string& name, ISvcLocator* svcloc );
00023     ~MucCalibConstSvc();
00024     
00025     virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvUnknown);
00026     virtual StatusCode initialize();
00027     virtual StatusCode finalize();
00028     
00029     //--------- Access by users -------------
00030     inline int    getLevel() const;
00031     
00032     inline double getEff( int part, int segment, int layer, int strip ) const;
00033     inline double getCnt( int part, int segment, int layer, int strip ) const; // all background
00034     inline double getNos( int part, int segment, int layer, int strip ) const; // noise to tracking
00035     inline double getNosRatio( int part, int segment, int layer, int strip ) const; 
00036     inline double getClst(int part, int segment, int layer, double prob ) const;
00037     
00038     inline double getUniformEff()  const;
00039     inline double getUniformCnt()  const;
00040     inline double getUniformNos()  const;
00041     inline double getUniformNosRatio()  const;
00042     inline double getUniformClst() const; // probability = 1(biggest strip window for tracking)
00043     
00044     inline double getLayerEff( int layer ) const; 
00045     inline double getLayerCnt( int layer ) const; 
00046     inline double getLayerNos( int layer ) const; 
00047     inline double getLayerNosRatio( int layer ) const;
00048     inline double getLayerClst( int layer, double prob ) const;
00049     
00050     inline double getBoxEff( int part, int segment, int layer ) const;
00051     inline double getBoxCnt( int part, int segment, int layer ) const;
00052     inline double getBoxNos( int part, int segment, int layer ) const;
00053     inline double getBoxNosRatio( int part, int segment, int layer ) const;
00054     inline double getBoxClst( int part, int segment, int layer, double prob ) const;
00055     
00056     inline double getStripEff( int part, int segment, int layer, int strip ) const;
00057     inline double getStripCnt( int part, int segment, int layer, int strip ) const;
00058     inline double getStripNos( int part, int segment, int layer, int strip ) const;
00059     inline double getStripNosRatio( int part, int segment, int layer, int strip ) const;
00060 
00061   private:
00062 
00063     IDataProviderSvc* m_pCalibDataSvc;
00064     int     m_fConfigMode;
00065     double  m_fUniformEff;
00066     double  m_fUniformCnt;
00067     double  m_fUniformNos;
00068     double  m_fUniformNosRatio;
00069     double  m_fUniformClst;
00070 };
00071 
00072 #endif // MUC_CALIB_CONST_SVC_H_ 

Generated on Tue Nov 29 23:12:55 2016 for BOSS_7.0.2 by  doxygen 1.4.7