BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Mdc/MdcCalibFunSvc/include/MdcCalibFunSvc/IMdcCalibFunSvc.h
Go to the documentation of this file.
1#ifndef IMDCCALIBFUNSVC_H_
2#define IMDCCALIBFUNSVC_H_
3
4#include "GaudiKernel/IInterface.h"
5#include "GaudiKernel/Kernel.h"
6
7#include "MdcGeomSvc/IMdcGeomSvc.h"
8#include "MdcGeomSvc/MdcGeoLayer.h"
9#include "MdcGeomSvc/MdcGeoWire.h"
10
11#include "TTree.h"
12
13/* Declaration of the interface ID */
14// static const InterfaceID IID_IMdcCalibFunSvc("IMdcCalibFunSvc",1,0);
15
16class IMdcCalibFunSvc : virtual public IInterface {
17public:
18 // static const InterfaceID& interfaceID() { return IID_IMdcCalibFunSvc; }
20 /* propagation velocity of the signal in the wire. unit: mm/ns */
21 virtual double getVprop( int lay ) const = 0;
22
23 /* get propagation time. the unit of z is mm */
24 virtual double getTprop( int lay, double z ) const = 0;
25
26 /* DriftTime is real drift time, that is
27 DriftTime = Tdc - TOF - T0 - TimeWalk */
28 virtual double driftTimeToDist( double drifttime, int layid, int cellid, int lr,
29 double entrance = 0.0 ) const = 0;
30 virtual double distToDriftTime( double dist, int layid, int cellid, int lr,
31 double entrance = 0.0 ) const = 0;
32
33 /* Sigma1 and Sigma2 are the smaller and the bigger sigma of
34 the two gaussian distribution, respectively.
35 Sigma = sqrt( F*Sigma1^2 + (1-F)*Sigma2^2 ) */
36 virtual double getSigma( int layid, int lr, double dist, double entrance = 0.0,
37 double tanlam = 0.0, double z = 0.0, double Q = 1000.0 ) const = 0;
38 virtual double getSigmaLR( int layid, int lr, double dist, double entrance = 0.0,
39 double tanlam = 0.0, double z = 0.0,
40 double Q = 1000.0 ) const = 0;
41 virtual double getSigma1( int layid, int lr, double dist, double entrance = 0.0,
42 double tanlam = 0.0, double z = 0.0, double Q = 1000.0 ) const = 0;
43 virtual double getSigma2( int layid, int lr, double dist, double entrance = 0.0,
44 double tanlam = 0.0, double z = 0.0, double Q = 1000.0 ) const = 0;
45 virtual double getF( int layid, int lr, double dist, double entrance = 0.0,
46 double tanlam = 0.0, double z = 0.0, double Q = 1000.0 ) const = 0;
47
48 virtual double getSigmaToT( int layid, int lr, double tdr, double entrance = 0.0,
49 double tanlam = 0.0, double z = 0.0,
50 double Q = 1000.0 ) const = 0;
51 virtual double getSigmaToTLR( int layid, int lr, double tdr, double entrance = 0.0,
52 double tanlam = 0.0, double z = 0.0,
53 double Q = 1000.0 ) const = 0;
54
55 virtual void setXtBegin() = 0;
56 virtual int getNextXtpar( int& key, double& par ) = 0;
57 virtual void getXtpar( int layid, int entr, int lr, double par[] ) const = 0;
58 virtual bool getNewXtpar() = 0;
59 virtual TTree* getNewXtparTree( int layid, int entr, int lr ) const = 0;
60
61 virtual double getT0( int layid, int cellid ) const = 0;
62 virtual double getT0( int wireid ) const = 0;
63 virtual double getDelT0( int wireid ) const = 0;
64
65 virtual double getTimeWalk( int layid, double Q ) const = 0;
66 virtual double getQtpar( int layid, int ord ) const = 0;
67
68 virtual double getWireEff( int layid, int cellid ) const = 0;
69 virtual double getWireEff( int wireid ) const = 0;
70
71 virtual void setSdBegin() = 0;
72 virtual int getNextSdpar( int& key, double& par ) = 0;
73 virtual void getSdpar( int layid, int entr, int lr, double par[] ) const = 0;
74 virtual bool getR2tpar() = 0;
75 virtual TTree* getR2tTree( int layid ) const = 0;
76
77 virtual int getXtEntrIndex( double entrance ) const = 0;
78 virtual int getSdEntrIndex( double entrance ) const = 0;
79
80 /* virtual std::string getCalibDataFile() = 0; */
81
82 // add for ganga
83 virtual bool initCalibConst() = 0;
84};
85
86#endif /* IMDCCALIBFUNSVC_H_ */
*************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
Definition Taupair.h:42
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
DeclareInterfaceID(IMdcCalibFunSvc, 1, 0)
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