CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
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
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&
63
64double
65TrkPocaBase::flt1() const {return _flt1;}
66
67double
68TrkPocaBase::flt2() const {return _flt2;}
69
70#endif
TFile * f1
HepGeom::Point3D< double > HepPoint3D
Definition: TrkPocaBase.h:20
TrkErrCode _status
Definition: TrkPocaBase.h:42
void stepToPointPoca(const Trajectory &traj, const HepPoint3D &pt)
static double _extrapToler
Definition: TrkPocaBase.h:54
double _precision
Definition: TrkPocaBase.h:39
const TrkErrCode & status() const
Definition: TrkPocaBase.h:62
double precision()
Definition: TrkPocaBase.h:59
void minimize(const Trajectory &traj1, double f1, const Trajectory &traj2, double f2)
Definition: TrkPocaBase.cxx:32
double flt2() const
Definition: TrkPocaBase.h:68
virtual ~TrkPocaBase()
void stepTowardPoca(const Trajectory &traj1, const Trajectory &traj2)
double _flt2
Definition: TrkPocaBase.h:41
static double _maxDist
Definition: TrkPocaBase.h:52
double flt1() const
Definition: TrkPocaBase.h:65
double _flt1
Definition: TrkPocaBase.h:40
static int _maxTry
Definition: TrkPocaBase.h:53