/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Mdc/MdcCalibFunSvc/MdcCalibFunSvc-00-03-16/MdcCalibFunSvc/IMdcCalibFunSvc.h

Go to the documentation of this file.
00001 #ifndef IMDCCALIBFUNSVC_H_
00002 #define IMDCCALIBFUNSVC_H_
00003 
00004 #include "GaudiKernel/IInterface.h"
00005 #include "GaudiKernel/Kernel.h"
00006 
00007 #include "MdcGeomSvc/IMdcGeomSvc.h"
00008 #include "MdcGeomSvc/MdcGeomSvc.h"
00009 #include "MdcGeomSvc/MdcGeoWire.h"
00010 #include "MdcGeomSvc/MdcGeoLayer.h"
00011 
00012 #include "TTree.h"
00013 
00014 /* Declaration of the interface ID */
00015 static const InterfaceID IID_IMdcCalibFunSvc("IMdcCalibFunSvc",1,0);
00016 
00017 class IMdcCalibFunSvc: virtual public IInterface{
00018 public:
00019      static const InterfaceID& interfaceID() { return IID_IMdcCalibFunSvc; }
00020 
00021      /* propagation velocity of the signal in the wire. unit: mm/ns */
00022      virtual double getVprop(int lay) const = 0;
00023 
00024      /* get propagation time. the unit of z is mm */
00025      virtual double getTprop(int lay, double z) const = 0;
00026 
00027      /* DriftTime is real drift time, that is 
00028         DriftTime = Tdc - TOF - T0 - TimeWalk */
00029      virtual double driftTimeToDist(double drifttime, int layid, int cellid,
00030                                     int lr, double entrance = 0.0) const = 0;
00031      virtual double distToDriftTime(double dist, int layid, int cellid, int lr, 
00032                                     double entrance = 0.0) const = 0;
00033 
00034      /* Sigma1 and Sigma2 are the smaller and the bigger sigma of
00035         the two gaussian distribution, respectively.
00036         Sigma = sqrt( F*Sigma1^2 + (1-F)*Sigma2^2 ) */
00037      virtual double getSigma(int layid, int lr, double dist,
00038                              double entrance = 0.0, double tanlam = 0.0,
00039                              double z = 0.0, double Q = 1000.0) const = 0;
00040      virtual double getSigmaLR(int layid, int lr, double dist,
00041                                double entrance = 0.0, double tanlam = 0.0,
00042                                double z = 0.0, double Q = 1000.0) const = 0;
00043      virtual double getSigma1(int layid, int lr, double dist,
00044                               double entrance = 0.0, double tanlam = 0.0,
00045                               double z = 0.0, double Q = 1000.0) const = 0;
00046      virtual double getSigma2(int layid, int lr, double dist,
00047                               double entrance = 0.0, double tanlam = 0.0,
00048                               double z = 0.0, double Q = 1000.0) const = 0;
00049      virtual double getF(int layid, int lr, double dist,
00050                          double entrance = 0.0, double tanlam = 0.0,
00051                          double z = 0.0, double Q = 1000.0) const = 0;
00052 
00053      virtual double getSigmaToT(int layid, int lr, double tdr,
00054                                 double entrance = 0.0, double tanlam = 0.0,
00055                                 double z = 0.0, double Q = 1000.0) const = 0;
00056      virtual double getSigmaToTLR(int layid, int lr, double tdr,
00057                                   double entrance = 0.0, double tanlam = 0.0,
00058                                   double z = 0.0, double Q = 1000.0) const = 0;
00059 
00060      virtual void setXtBegin() = 0;
00061      virtual int  getNextXtpar(int& key, double& par) = 0;
00062      virtual void getXtpar(int layid, int entr, int lr, double par[]) const = 0;
00063      virtual bool   getNewXtpar() = 0;
00064      virtual TTree* getNewXtparTree(int layid, int entr, int lr) const = 0;
00065 
00066      virtual double getT0(int layid, int cellid) const = 0;
00067      virtual double getT0(int wireid) const = 0;
00068      virtual double getDelT0(int wireid) const = 0;
00069 
00070      virtual double getTimeWalk(int layid, double Q) const = 0;
00071      virtual double getQtpar(int layid, int ord) const = 0;
00072 
00073      virtual double getWireEff(int layid, int cellid) const = 0;
00074      virtual double getWireEff(int wireid) const = 0;
00075 
00076      virtual void setSdBegin() = 0;
00077      virtual int  getNextSdpar(int& key, double& par) = 0;
00078      virtual void getSdpar(int layid, int entr, int lr, double par[]) const = 0;
00079      virtual bool   getR2tpar() = 0;
00080      virtual TTree* getR2tTree(int layid) const = 0;
00081 
00082      virtual int getXtEntrIndex(double entrance) const = 0;
00083      virtual int getSdEntrIndex(double entrance) const = 0;
00084 
00085 /*      virtual std::string getCalibDataFile() = 0; */
00086 
00087      //add for ganga
00088      virtual bool initCalibConst()=0;
00089 };
00090 
00091 #endif /* IMDCCALIBFUNSVC_H_ */

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