00001 #ifndef _VFALGO_H_
00002 #define _VFALGO_H_
00003
00004
00005
00006
00007
00008
00009 #include "Helix.h"
00010 #include "Vertex.h"
00011 #include "VfTrack.h"
00012 #include "CLHEP/Matrix/SymMatrix.h"
00013 #include "CLHEP/Matrix/Vector.h"
00014 #include "CLHEP/Vector/LorentzVector.h"
00015 #include "fortran_def.h"
00016
00017 class VfAlgo {
00018
00019 public:
00020 VfAlgo(){}
00021 virtual ~VfAlgo(){}
00022
00023
00024 virtual bool getResult(const vector<Helix>& vTrack,
00025 HepLorentzVector& motherTrack, HepSymMatrix& covMatrixTrack,
00026 Hep3Vector& endVertex, HepSymMatrix& covMatrixVertex,
00027 HepMatrix& corrVertexTrack,
00028 float& chi2) const = 0;
00029
00030 virtual void setMassC(double mass_c) = 0;
00031
00032 virtual void setVertexC(const Vertex& vertex_c) = 0;
00033
00034
00035 };
00036 #endif
00037