00001
00002
00003
00004
00005
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
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;
00034 inline double getNos( int part, int segment, int layer, int strip ) const;
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;
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_