BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcPatRec/TrkBase/TrkBase-00-01-12/TrkBase/TrkPocaBase.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: TrkPocaBase.h,v 1.2 2006/03/28 01:02:36 zhangy Exp $
4//
5// Description:
6// Base class for various Poca classes; holds infrastructure, and one
7// common algorithm. Ctor and dtor protected, to prevent instantiation.
8//
9// Environment:
10// Software developed for the BaBar Detector at the SLAC B-Factory.
11//
12// Author(s): Steve Schaffner
13//------------------------------------------------------------------------
14#ifndef TRKPOCABASE_H
15#define TRKPOCABASE_H
16
17#include "TrkBase/TrkErrCode.h"
18#include "CLHEP/Geometry/Point3D.h"
19#ifndef ENABLE_BACKWARDS_COMPATIBILITY
21#endif
22class Trajectory;
23
24// Class interface
25class TrkPocaBase {
26
27protected:
28 TrkPocaBase(double flt1, double flt2, double precision);
29 TrkPocaBase(double flt1, double precision);
30 virtual ~TrkPocaBase();
31
32public:
33 inline const TrkErrCode& status() const; // did the calculation succeed?
34 inline double flt1() const; // path length on traj 1 @ poca
35 inline double flt2() const;
36 inline double precision(); // In case anyone wants to know
37
38protected:
39 double _precision;
40 double _flt1;
41 double _flt2;
43
44 void minimize(const Trajectory& traj1, double f1,
45 const Trajectory& traj2, double f2);
46 void minimize(const Trajectory& traj1, double f1,
47 const HepPoint3D& pt);
48
49 void stepTowardPoca(const Trajectory& traj1, const Trajectory& traj2);
50 void stepToPointPoca(const Trajectory& traj, const HepPoint3D& pt);
51
52 static double _maxDist; // step > maxDist => parallel
53 static int _maxTry;
54 static double _extrapToler; // error allowed in picking step size
55};
56
57// Inlined functions
58double
60
61const TrkErrCode&
62TrkPocaBase::status() const {return _status;}
63
64double
65TrkPocaBase::flt1() const {return _flt1;}
66
67double
68TrkPocaBase::flt2() const {return _flt2;}
69
70#endif
TFile * f1
void stepToPointPoca(const Trajectory &traj, const HepPoint3D &pt)
void minimize(const Trajectory &traj1, double f1, const HepPoint3D &pt)
TrkPocaBase(double flt1, double flt2, double precision)
const TrkErrCode & status() const
TrkPocaBase(double flt1, double precision)
void minimize(const Trajectory &traj1, double f1, const Trajectory &traj2, double f2)
void stepTowardPoca(const Trajectory &traj1, const Trajectory &traj2)
virtual ~TrkPocaBase()