1#ifndef IMDCCALIBFUNSVC_H_
2#define IMDCCALIBFUNSVC_H_
4#include "GaudiKernel/IInterface.h"
5#include "GaudiKernel/Kernel.h"
7#include "MdcGeomSvc/IMdcGeomSvc.h"
8#include "MdcGeomSvc/MdcGeomSvc.h"
9#include "MdcGeomSvc/MdcGeoWire.h"
10#include "MdcGeomSvc/MdcGeoLayer.h"
15static const InterfaceID IID_IMdcCalibFunSvc(
"IMdcCalibFunSvc",1,0);
19 static const InterfaceID&
interfaceID() {
return IID_IMdcCalibFunSvc; }
25 virtual double getTprop(
int lay,
double z)
const = 0;
30 int lr,
double entrance = 0.0)
const = 0;
32 double entrance = 0.0)
const = 0;
37 virtual double getSigma(
int layid,
int lr,
double dist,
38 double entrance = 0.0,
double tanlam = 0.0,
39 double z = 0.0,
double Q = 1000.0)
const = 0;
40 virtual double getSigmaLR(
int layid,
int lr,
double dist,
41 double entrance = 0.0,
double tanlam = 0.0,
42 double z = 0.0,
double Q = 1000.0)
const = 0;
43 virtual double getSigma1(
int layid,
int lr,
double dist,
44 double entrance = 0.0,
double tanlam = 0.0,
45 double z = 0.0,
double Q = 1000.0)
const = 0;
46 virtual double getSigma2(
int layid,
int lr,
double dist,
47 double entrance = 0.0,
double tanlam = 0.0,
48 double z = 0.0,
double Q = 1000.0)
const = 0;
49 virtual double getF(
int layid,
int lr,
double dist,
50 double entrance = 0.0,
double tanlam = 0.0,
51 double z = 0.0,
double Q = 1000.0)
const = 0;
54 double entrance = 0.0,
double tanlam = 0.0,
55 double z = 0.0,
double Q = 1000.0)
const = 0;
57 double entrance = 0.0,
double tanlam = 0.0,
58 double z = 0.0,
double Q = 1000.0)
const = 0;
62 virtual void getXtpar(
int layid,
int entr,
int lr,
double par[])
const = 0;
66 virtual double getT0(
int layid,
int cellid)
const = 0;
67 virtual double getT0(
int wireid)
const = 0;
71 virtual double getQtpar(
int layid,
int ord)
const = 0;
73 virtual double getWireEff(
int layid,
int cellid)
const = 0;
78 virtual void getSdpar(
int layid,
int entr,
int lr,
double par[])
const = 0;
*************DOUBLE PRECISION m_pi *DOUBLE PRECISION m_HvecTau2 DOUBLE PRECISION m_HvClone2 DOUBLE PRECISION m_gamma1 DOUBLE PRECISION m_gamma2 DOUBLE PRECISION m_thet1 DOUBLE PRECISION m_thet2 INTEGER m_IFPHOT *COMMON c_Taupair $ !Spin Polarimeter vector first Tau $ !Spin Polarimeter vector second Tau $ !Clone Spin Polarimeter vector first Tau $ !Clone Spin Polarimeter vector second Tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !phi of HvecTau1 $ !theta of HvecTau1 $ !phi of HvecTau2 $ !theta of HvecTau2 $ !super key
virtual void setXtBegin()=0
virtual void getSdpar(int layid, int entr, int lr, double par[]) const =0
virtual double getDelT0(int wireid) const =0
virtual int getNextXtpar(int &key, double &par)=0
static const InterfaceID & interfaceID()
virtual double driftTimeToDist(double drifttime, int layid, int cellid, int lr, double entrance=0.0) const =0
virtual double getSigmaToTLR(int layid, int lr, double tdr, double entrance=0.0, double tanlam=0.0, double z=0.0, double Q=1000.0) const =0
virtual double getWireEff(int layid, int cellid) const =0
virtual double getF(int layid, int lr, double dist, double entrance=0.0, double tanlam=0.0, double z=0.0, double Q=1000.0) const =0
virtual double getVprop(int lay) const =0
virtual double getSigmaToT(int layid, int lr, double tdr, double entrance=0.0, double tanlam=0.0, double z=0.0, double Q=1000.0) const =0
virtual int getNextSdpar(int &key, double &par)=0
virtual TTree * getR2tTree(int layid) const =0
virtual bool getR2tpar()=0
virtual void getXtpar(int layid, int entr, int lr, double par[]) const =0
virtual bool getNewXtpar()=0
virtual double getSigma(int layid, int lr, double dist, double entrance=0.0, double tanlam=0.0, double z=0.0, double Q=1000.0) const =0
virtual double getSigma2(int layid, int lr, double dist, double entrance=0.0, double tanlam=0.0, double z=0.0, double Q=1000.0) const =0
virtual double getTprop(int lay, double z) const =0
virtual double getSigmaLR(int layid, int lr, double dist, double entrance=0.0, double tanlam=0.0, double z=0.0, double Q=1000.0) const =0
virtual int getXtEntrIndex(double entrance) const =0
virtual double distToDriftTime(double dist, int layid, int cellid, int lr, double entrance=0.0) const =0
virtual double getSigma1(int layid, int lr, double dist, double entrance=0.0, double tanlam=0.0, double z=0.0, double Q=1000.0) const =0
virtual double getWireEff(int wireid) const =0
virtual bool initCalibConst()=0
virtual double getQtpar(int layid, int ord) const =0
virtual void setSdBegin()=0
virtual double getT0(int wireid) const =0
virtual double getT0(int layid, int cellid) const =0
virtual double getTimeWalk(int layid, double Q) const =0
virtual TTree * getNewXtparTree(int layid, int entr, int lr) const =0
virtual int getSdEntrIndex(double entrance) const =0