/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Mdc/MdcCheckUtil/MdcUtilitySvc/MdcUtilitySvc-00-00-07/MdcUtilitySvc/IMdcUtilitySvc.h

Go to the documentation of this file.
00001 #ifndef IMDCUTILITYSVC_H
00002 #define IMDCUTILITYSVC_H
00003 
00004 #include "GaudiKernel/IInterface.h"
00005 #include "GaudiKernel/Kernel.h"
00006 #include "GaudiKernel/Service.h"
00007 
00008 #include "CLHEP/Matrix/Vector.h"
00009 #include "CLHEP/Matrix/SymMatrix.h"
00010 #include "MdcRecEvent/RecMdcTrack.h"
00011 #include "MdcGeom/MdcSWire.h"
00012 #include <vector>
00013 
00014 static const InterfaceID IID_IMdcUtilitySvc("IMdcUtilitySvc",1,0);
00015 
00016 class IMdcUtilitySvc: virtual public IInterface {
00017   public:
00018     static const InterfaceID& interfaceID() { return IID_IMdcUtilitySvc; }
00019 
00020     virtual int nLayerTrackPassed(const HepVector helix) const = 0;
00021     virtual int nLayerTrackPassed(const double helix[5]) const = 0;
00022 
00023     virtual HepVector patPar2BesPar(const HepVector& helixPar) const = 0;
00024     virtual HepSymMatrix patErr2BesErr(const HepSymMatrix& err) const = 0;
00025     virtual HepVector besPar2PatPar(const HepVector& helixPar) const = 0;
00026     virtual HepSymMatrix besErr2PatErr(const HepSymMatrix& err) const = 0;
00027 
00028     virtual double doca(int layer, int cell, const HepVector helix, const HepSymMatrix errMat, bool passCellRequired = true, bool doSag = true) const = 0;
00029     virtual double doca(int layer, int cell, HepPoint3D eastP, HepPoint3D westP, const HepVector helixBes,const HepSymMatrix errMatBes, bool passCellRequired = true, bool doSag = true) const = 0;
00030     virtual double doca(int layer, int cell, const MdcSWire* sWire, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired = true) const = 0;
00031     virtual double docaPatPar(int layer, int cell, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired = true, bool doSag = true) const = 0;
00032     virtual double docaPatPar(int layer, int cell, HepPoint3D eastP, HepPoint3D westP, const HepVector helixBes,const HepSymMatrix errMatBes, bool passCellRequired = true, bool doSag = true) const = 0;
00033     virtual double docaPatPar(int layer, int cell, const MdcSWire* sWire, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired = true) const = 0;
00034 
00035     virtual HepPoint3D pointOnHelix(const HepVector helixPar, int lay, int innerOrOuter) const = 0;
00036     virtual HepPoint3D pointOnHelixPatPar(const HepVector helixPat, int lay, int innerOrOuter) const = 0;
00037     virtual bool cellTrackPassedByPhi(const HepVector helix,int layer, int& cellId_in, int& cellId_out) const = 0;
00038     virtual bool cellTrackPassedByPhiPatPar(const HepVector helix,int layer, int& cellId_in, int& cellId_out) const = 0;
00039     virtual bool cellTrackPassed(const HepVector helix,int layer,int& cellId_in,int& cellId_out) const = 0;
00040     virtual bool cellTrackPassedPatPar(const HepVector helix,int layer,int& cellId_in,int& cellId_out) const = 0;
00041 
00042     virtual HepPoint3D Hel(HepPoint3D piv, double dr,double phi0,double Alpha_L,double kappa,double dz,double dphi,double tanl) const = 0;
00043     virtual double p_cms(HepVector helix, int runNo, double mass) const = 0;
00044     virtual Hep3Vector momentum(const RecMdcTrack* trk) const = 0;
00045     virtual double probab(const int& ndof, const double& chisq) const = 0;
00046 };
00047 #endif /* IMDCUTILITYSVC_H*/

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