BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Mdc/MdcCheckUtil/MdcUtilitySvc/include/MdcUtilitySvc/IMdcUtilitySvc.h
Go to the documentation of this file.
1#ifndef IMDCUTILITYSVC_H
2#define IMDCUTILITYSVC_H
3
4#include "CLHEP/Matrix/SymMatrix.h"
5#include "CLHEP/Matrix/Vector.h"
6#include "GaudiKernel/IInterface.h"
7#include "GaudiKernel/Kernel.h"
8#include "GaudiKernel/Service.h"
9#include "MdcGeom/MdcSWire.h"
10#include "MdcRawEvent/MdcDigi.h"
11#include "MdcRecEvent/RecMdcTrack.h"
12#include <vector>
13
14// static const InterfaceID IID_IMdcUtilitySvc("IMdcUtilitySvc",1,0);
15
16class IMdcUtilitySvc : virtual public IInterface {
17public:
18 // static const InterfaceID& interfaceID() { return IID_IMdcUtilitySvc; }
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,
29 bool passCellRequired = true, bool doSag = true ) const = 0;
30 virtual double doca( int layer, int cell, HepPoint3D eastP, HepPoint3D westP,
31 const HepVector helixBes, const HepSymMatrix errMatBes,
32 bool passCellRequired = true, bool doSag = true ) const = 0;
33 virtual double doca( int layer, int cell, const MdcSWire* sWire, const HepVector helixPat,
34 const HepSymMatrix errMatPat, bool passCellRequired = true ) const = 0;
35 virtual double docaPatPar( int layer, int cell, const HepVector helixPat,
36 const HepSymMatrix errMatPat, bool passCellRequired = true,
37 bool doSag = true ) const = 0;
38 virtual double docaPatPar( int layer, int cell, HepPoint3D eastP, HepPoint3D westP,
39 const HepVector helixBes, const HepSymMatrix errMatBes,
40 bool passCellRequired = true, bool doSag = true ) const = 0;
41 virtual double docaPatPar( int layer, int cell, const MdcSWire* sWire,
42 const HepVector helixPat, const HepSymMatrix errMatPat,
43 bool passCellRequired = true ) const = 0;
44
45 virtual HepPoint3D pointOnHelix( const HepVector helixPar, int lay,
46 int innerOrOuter ) const = 0;
47 virtual HepPoint3D pointOnHelixPatPar( const HepVector helixPat, int lay,
48 int innerOrOuter ) const = 0;
49 virtual bool cellTrackPassedByPhi( const HepVector helix, int layer, int& cellId_in,
50 int& cellId_out ) const = 0;
51 virtual bool cellTrackPassedByPhiPatPar( const HepVector helix, int layer, int& cellId_in,
52 int& cellId_out ) const = 0;
53 virtual bool cellTrackPassed( const HepVector helix, int layer, int& cellId_in,
54 int& cellId_out ) const = 0;
55 virtual bool cellTrackPassedPatPar( const HepVector helix, int layer, int& cellId_in,
56 int& cellId_out ) const = 0;
57
58 virtual HepPoint3D Hel( HepPoint3D piv, double dr, double phi0, double Alpha_L, double kappa,
59 double dz, double dphi, double tanl ) const = 0;
60 virtual double p_cms( HepVector helix, int runNo, double mass ) const = 0;
61 virtual Hep3Vector momentum( const RecMdcTrack* trk ) const = 0;
62 virtual double probab( const int& ndof, const double& chisq ) const = 0;
63
64 virtual vector<MdcDigi*> getMdcDigiVec() const = 0;
65 // virtual vector<vector<MdcDigi*> > ConnectionHitsGroup(int SameLRange = 1,int DiffLRange =
66 // 1) const = 0; virtual vector<vector<MdcDigi*> > ConnectionHitsGroup(vector<MdcDigi*>
67 // &MdcHits,int SameLRange = 1,int DiffLRange = 1) const = 0;
68};
69#endif /* IMDCUTILITYSVC_H*/
double mass
HepGeom::Point3D< double > HepPoint3D
int runNo
Definition DQA_TO_DB.cxx:13
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