1#ifndef MDCTUNNINGSVC_H_
2#define MDCTUNNINGSVC_H_
4#include "GaudiKernel/IInterface.h"
5#include "GaudiKernel/Kernel.h"
6#include "GaudiKernel/Service.h"
7#include "GaudiKernel/IIncidentListener.h"
8#include "GaudiKernel/IDataProviderSvc.h"
17 virtual public IIncidentListener{
19 MdcTunningSvc(
const std::string& name, ISvcLocator* svcloc );
22 virtual StatusCode
queryInterface(
const InterfaceID& riid,
void** ppvUnknown);
27 void handle(
const Incident&);
39 double NewSig(
int layerId,
double driftD);
40 double DeldriftD(
int layerId,
double driftD);
41 double Delcostta(
int layerId,
double costta);
42 double GetEff(
int layerId,
int cellId,
double driftD,
double cosTheta,
int posFlag);
43 double GetRes(
int layerId,
int cellId,
double driftD,
double cosTheta,
int posFlag,
double entranceAngle,
double& mean,
double& sigma);
44 double GetRes2(
int layerId,
int cellId,
double driftD,
double cosTheta,
int posFlag,
double entranceAngle,
double& f,
double& mean1,
double& sigma1,
double& mean2,
double& sigma2);
45 double GetRes3(
int layerId,
int cellId,
double driftD,
double cosTheta,
int posFlag,
double entranceAngle,
double& f,
double& mean1,
double& sigma1,
double& mean2,
double& sigma2,
double& ResLargest,
double& ResSmallest,
double& ResRatio);
46 double ResvEntr(
int layerId,
double enterA,
int ilr,
double driftD);
47 double DelEtr_Sig(
int lay,
double enterA,
int ilr,
double driftD);
55 static const int docaNo=60;
56 static const int thetaNo=40;
58 double docaEff[43][docaNo];
59 double thetaEff[43][thetaNo];
60 double cellEff[43][288];
61 double docaRes[43][docaNo][2][2];
62 double docaF[43][docaNo][2];
63 double docaMean1[43][docaNo][2];
64 double docaSigma1[43][docaNo][2];
65 double docaMean2[43][docaNo][2];
66 double docaSigma2[43][docaNo][2];
69 double resLargest[43][docaNo][2];
70 double resSmallest[43][docaNo][2];
71 double resRatio[43][docaNo][2];
72 double resLargest_2[43][docaNo][2];
73 double resSmallest_2[43][docaNo][2];
74 double resRatio_2[43][docaNo][2];
76 double docaEff_2[43][docaNo];
77 double thetaEff_2[43][thetaNo];
78 double cellEff_2[43][288];
79 double docaRes_2[43][docaNo][2][2];
80 double docaF_2[43][docaNo][2];
81 double docaMean1_2[43][docaNo][2];
82 double docaSigma1_2[43][docaNo][2];
83 double docaMean2_2[43][docaNo][2];
84 double docaSigma2_2[43][docaNo][2];
86 std::string m_ParBossVer;
90 std::string m_effFile;
91 std::string m_resFile;
92 std::string m_effFile_endcap;
93 std::string m_resFile_endcap;
98 IDataProviderSvc* m_eventSvc;
103 std::string userName;
104 std::string password;
105 unsigned int serialNo;
double get_cellEff(int i, int j)
double DelEtr_Sig(int lay, double enterA, int ilr, double driftD)
void setMdcRes(std::string path)
bool setMcRes2(std::string res_con)
double get_docaEff(int i, int j)
bool setMcRes3(std::string res_con)
StatusCode getMdcTuningTableInfo()
double Delcostta(int layerId, double costta)
double get_thetaEff(int i, int j)
void handle(const Incident &)
double ResvEntr(int layerId, double enterA, int ilr, double driftD)
bool setMcEff(std::string eff_con)
double NewSig(int layerId, double driftD)
double DeldriftD(int layerId, double driftD)
double GetRes(int layerId, int cellId, double driftD, double cosTheta, int posFlag, double entranceAngle, double &mean, double &sigma)
double GetEff(int layerId, int cellId, double driftD, double cosTheta, int posFlag)
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvUnknown)
virtual StatusCode finalize()
double GetRes2(int layerId, int cellId, double driftD, double cosTheta, int posFlag, double entranceAngle, double &f, double &mean1, double &sigma1, double &mean2, double &sigma2)
double GetRes3(int layerId, int cellId, double driftD, double cosTheta, int posFlag, double entranceAngle, double &f, double &mean1, double &sigma1, double &mean2, double &sigma2, double &ResLargest, double &ResSmallest, double &ResRatio)
virtual StatusCode initialize()