BOSS 7.0.7
BESIII Offline Software System
Loading...
Searching...
No Matches
IMdcUtilitySvc.h
Go to the documentation of this file.
1#ifndef IMDCUTILITYSVC_H
2#define IMDCUTILITYSVC_H
3
4#include "GaudiKernel/IInterface.h"
5#include "GaudiKernel/Kernel.h"
6#include "GaudiKernel/Service.h"
7
8#include "CLHEP/Matrix/Vector.h"
9#include "CLHEP/Matrix/SymMatrix.h"
11#include "MdcGeom/MdcSWire.h"
12#include <vector>
13
14static const InterfaceID IID_IMdcUtilitySvc("IMdcUtilitySvc",1,0);
15
16class IMdcUtilitySvc: virtual public IInterface {
17 public:
18 static const InterfaceID& interfaceID() { return IID_IMdcUtilitySvc; }
19
20 virtual int nLayerTrackPassed(const HepVector helix) const = 0;
21 virtual int nLayerTrackPassed(const double helix[5]) const = 0;
22
23 virtual HepVector patPar2BesPar(const HepVector& helixPar) const = 0;
24 virtual HepSymMatrix patErr2BesErr(const HepSymMatrix& err) const = 0;
25 virtual HepVector besPar2PatPar(const HepVector& helixPar) const = 0;
26 virtual HepSymMatrix besErr2PatErr(const HepSymMatrix& err) const = 0;
27
28 virtual double doca(int layer, int cell, const HepVector helix, const HepSymMatrix errMat, bool passCellRequired = true, bool doSag = true) const = 0;
29 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;
30 virtual double doca(int layer, int cell, const MdcSWire* sWire, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired = true) const = 0;
31 virtual double docaPatPar(int layer, int cell, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired = true, bool doSag = true) const = 0;
32 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;
33 virtual double docaPatPar(int layer, int cell, const MdcSWire* sWire, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired = true) const = 0;
34
35 virtual HepPoint3D pointOnHelix(const HepVector helixPar, int lay, int innerOrOuter) const = 0;
36 virtual HepPoint3D pointOnHelixPatPar(const HepVector helixPat, int lay, int innerOrOuter) const = 0;
37 virtual bool cellTrackPassedByPhi(const HepVector helix,int layer, int& cellId_in, int& cellId_out) const = 0;
38 virtual bool cellTrackPassedByPhiPatPar(const HepVector helix,int layer, int& cellId_in, int& cellId_out) const = 0;
39 virtual bool cellTrackPassed(const HepVector helix,int layer,int& cellId_in,int& cellId_out) const = 0;
40 virtual bool cellTrackPassedPatPar(const HepVector helix,int layer,int& cellId_in,int& cellId_out) const = 0;
41
42 virtual HepPoint3D Hel(HepPoint3D piv, double dr,double phi0,double Alpha_L,double kappa,double dz,double dphi,double tanl) const = 0;
43 virtual double p_cms(HepVector helix, int runNo, double mass) const = 0;
44 virtual Hep3Vector momentum(const RecMdcTrack* trk) const = 0;
45 virtual double probab(const int& ndof, const double& chisq) const = 0;
46};
47#endif /* IMDCUTILITYSVC_H*/
double mass
int runNo
Definition: DQA_TO_DB.cxx:12
virtual int nLayerTrackPassed(const double helix[5]) const =0
virtual HepPoint3D Hel(HepPoint3D piv, double dr, double phi0, double Alpha_L, double kappa, double dz, double dphi, double tanl) const =0
virtual HepVector besPar2PatPar(const HepVector &helixPar) const =0
virtual double probab(const int &ndof, const double &chisq) const =0
static const InterfaceID & interfaceID()
virtual double p_cms(HepVector helix, int runNo, double mass) const =0
virtual bool cellTrackPassedByPhiPatPar(const HepVector helix, int layer, int &cellId_in, int &cellId_out) const =0
virtual HepSymMatrix patErr2BesErr(const HepSymMatrix &err) const =0
virtual HepVector patPar2BesPar(const HepVector &helixPar) const =0
virtual double doca(int layer, int cell, const HepVector helix, const HepSymMatrix errMat, bool passCellRequired=true, bool doSag=true) const =0
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
virtual HepSymMatrix besErr2PatErr(const HepSymMatrix &err) const =0
virtual double doca(int layer, int cell, const MdcSWire *sWire, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired=true) const =0
virtual Hep3Vector momentum(const RecMdcTrack *trk) const =0
virtual double docaPatPar(int layer, int cell, const MdcSWire *sWire, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired=true) const =0
virtual bool cellTrackPassedPatPar(const HepVector helix, int layer, int &cellId_in, int &cellId_out) const =0
virtual HepPoint3D pointOnHelixPatPar(const HepVector helixPat, int lay, int innerOrOuter) const =0
virtual double docaPatPar(int layer, int cell, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired=true, bool doSag=true) const =0
virtual int nLayerTrackPassed(const HepVector helix) const =0
virtual HepPoint3D pointOnHelix(const HepVector helixPar, int lay, int innerOrOuter) const =0
virtual bool cellTrackPassed(const HepVector helix, int layer, int &cellId_in, int &cellId_out) const =0
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
virtual bool cellTrackPassedByPhi(const HepVector helix, int layer, int &cellId_in, int &cellId_out) const =0