BOSS 7.1.0
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"
9#include "CLHEP/Matrix/Vector.h"
10#include "CLHEP/Matrix/SymMatrix.h"
12#include "MdcGeom/MdcSWire.h"
13#include <vector>
14
15//static const InterfaceID IID_IMdcUtilitySvc("IMdcUtilitySvc",1,0);
16
17class IMdcUtilitySvc: virtual public IInterface {
18 public:
19 //static const InterfaceID& interfaceID() { return IID_IMdcUtilitySvc; }
21 virtual int nLayerTrackPassed(const HepVector helix) const = 0;
22 virtual int nLayerTrackPassed(const double helix[5]) const = 0;
23
24 virtual HepVector patPar2BesPar(const HepVector& helixPar) const = 0;
25 virtual HepSymMatrix patErr2BesErr(const HepSymMatrix& err) const = 0;
26 virtual HepVector besPar2PatPar(const HepVector& helixPar) const = 0;
27 virtual HepSymMatrix besErr2PatErr(const HepSymMatrix& err) const = 0;
28
29 virtual double doca(int layer, int cell, const HepVector helix, const HepSymMatrix errMat, bool passCellRequired = true, bool doSag = true) const = 0;
30 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;
31 virtual double doca(int layer, int cell, const MdcSWire* sWire, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired = true) const = 0;
32 virtual double docaPatPar(int layer, int cell, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired = true, bool doSag = true) const = 0;
33 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;
34 virtual double docaPatPar(int layer, int cell, const MdcSWire* sWire, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired = true) const = 0;
35
36 virtual HepPoint3D pointOnHelix(const HepVector helixPar, int lay, int innerOrOuter) const = 0;
37 virtual HepPoint3D pointOnHelixPatPar(const HepVector helixPat, int lay, int innerOrOuter) const = 0;
38 virtual bool cellTrackPassedByPhi(const HepVector helix,int layer, int& cellId_in, int& cellId_out) const = 0;
39 virtual bool cellTrackPassedByPhiPatPar(const HepVector helix,int layer, int& cellId_in, int& cellId_out) const = 0;
40 virtual bool cellTrackPassed(const HepVector helix,int layer,int& cellId_in,int& cellId_out) const = 0;
41 virtual bool cellTrackPassedPatPar(const HepVector helix,int layer,int& cellId_in,int& cellId_out) const = 0;
42
43 virtual HepPoint3D Hel(HepPoint3D piv, double dr,double phi0,double Alpha_L,double kappa,double dz,double dphi,double tanl) const = 0;
44 virtual double p_cms(HepVector helix, int runNo, double mass) const = 0;
45 virtual Hep3Vector momentum(const RecMdcTrack* trk) const = 0;
46 virtual double probab(const int& ndof, const double& chisq) const = 0;
47
48 virtual vector<MdcDigi*> getMdcDigiVec() const=0;
49 //virtual vector<vector<MdcDigi*> > ConnectionHitsGroup(int SameLRange = 1,int DiffLRange = 1) const = 0;
50 //virtual vector<vector<MdcDigi*> > ConnectionHitsGroup(vector<MdcDigi*> &MdcHits,int SameLRange = 1,int DiffLRange = 1) const = 0;
51};
52#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 vector< MdcDigi * > getMdcDigiVec() const =0
virtual HepVector besPar2PatPar(const HepVector &helixPar) const =0
virtual double probab(const int &ndof, const double &chisq) const =0
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
DeclareInterfaceID(IMdcUtilitySvc, 1, 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