4#include "GaudiKernel/IInterface.h"
5#include "GaudiKernel/Kernel.h"
6#include "GaudiKernel/Service.h"
7#include "GaudiKernel/IDataProviderSvc.h"
8#include "CLHEP/Matrix/Vector.h"
9#include "CLHEP/Matrix/SymMatrix.h"
11#include "MdcRecEvent/RecMdcTrack.h"
12#include "MdcGeomSvc/MdcGeomSvc.h"
13#include "MagneticField/IMagneticFieldSvc.h"
14#include "MdcUtilitySvc/IMdcUtilitySvc.h"
36 double doca(
int layer,
int cell,
const HepVector helix,
const HepSymMatrix errMat,
bool passCellRequired =
true,
bool doSag =
true)
const;
37 double doca(
int layer,
int cell,
HepPoint3D eastP,
HepPoint3D westP,
const HepVector helixBes,
const HepSymMatrix errMatBes,
bool passCellRequired =
true,
bool doSag =
true)
const;
38 double doca(
int layer,
int cell,
const MdcSWire* sWire,
const HepVector helixPat,
const HepSymMatrix errMatPat,
bool passCellRequired =
true)
const;
39 double docaPatPar(
int layer,
int cell,
const HepVector helixPat,
const HepSymMatrix errMatPat,
bool passCellRequired =
true,
bool doSag =
true)
const;
40 double docaPatPar(
int layer,
int cell,
HepPoint3D eastP,
HepPoint3D westP,
const HepVector helixBes,
const HepSymMatrix errMatBes,
bool passCellRequired =
true,
bool doSag =
true)
const;
41 double docaPatPar(
int layer,
int cell,
const MdcSWire* sWire,
const HepVector helixPat,
const HepSymMatrix errMatPat,
bool passCellRequired =
true)
const;
47 bool cellTrackPassed(
const HepVector helix,
int layer,
int& cellId_in,
int& cellId_out)
const;
50 HepPoint3D Hel(
HepPoint3D piv,
double dr,
double phi0,
double Alpha_L,
double kappa,
double dz,
double dphi,
double tanl)
const;
53 double probab(
const int& ndof,
const double& chisq)
const;
virtual double getReferField()=0
MdcUtilitySvc(const std::string &name, ISvcLocator *svcloc)
HepVector besPar2PatPar(const HepVector &helixPar) const
bool cellTrackPassedByPhi(const HepVector helix, int layer, int &cellId_in, int &cellId_out) const
HepSymMatrix patErr2BesErr(const HepSymMatrix &err) const
HepPoint3D Hel(HepPoint3D piv, double dr, double phi0, double Alpha_L, double kappa, double dz, double dphi, double tanl) const
HepSymMatrix besErr2PatErr(const HepSymMatrix &err) const
virtual StatusCode initialize()
bool cellTrackPassedByPhiPatPar(const HepVector helix, int layer, int &cellId_in, int &cellId_out) const
HepVector patPar2BesPar(const HepVector &helixPar) const
StatusCode queryInterface(const InterfaceID &riid, void **ppvUnknown)
double probab(const int &ndof, const double &chisq) const
Hep3Vector momentum(const RecMdcTrack *trk) const
double doca(int layer, int cell, const HepVector helix, const HepSymMatrix errMat, bool passCellRequired=true, bool doSag=true) const
double doca(int layer, int cell, HepPoint3D eastP, HepPoint3D westP, const HepVector helixBes, const HepSymMatrix errMatBes, bool passCellRequired=true, bool doSag=true) const
virtual StatusCode finalize()
double docaPatPar(int layer, int cell, HepPoint3D eastP, HepPoint3D westP, const HepVector helixBes, const HepSymMatrix errMatBes, bool passCellRequired=true, bool doSag=true) const
int nLayerTrackPassed(const HepVector helix) const
bool cellTrackPassed(const HepVector helix, int layer, int &cellId_in, int &cellId_out) const
double p_cms(HepVector helix, int runNo, double mass) const
double docaPatPar(int layer, int cell, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired=true, bool doSag=true) const
double docaPatPar(int layer, int cell, const MdcSWire *sWire, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired=true) const
HepPoint3D pointOnHelixPatPar(const HepVector helixPat, int lay, int innerOrOuter) const
double doca(int layer, int cell, const MdcSWire *sWire, const HepVector helixPat, const HepSymMatrix errMatPat, bool passCellRequired=true) const
HepPoint3D pointOnHelix(const HepVector helixPar, int lay, int innerOrOuter) const
int nLayerTrackPassed(const double helix[5]) const
bool cellTrackPassedPatPar(const HepVector helix, int layer, int &cellId_in, int &cellId_out) const