CGEM BOSS
6.6.5.h
BESIII Offline Software System
Loading...
Searching...
No Matches
TrkPoca.h
Go to the documentation of this file.
1
//--------------------------------------------------------------------------
2
// File and Version Information:
3
// $Id: TrkPoca.h,v 1.1.1.1 2005/04/21 06:01:42 zhangy Exp $
4
//
5
// Description:
6
// Calculate the point of closest approach between two trajectories,
7
// or between a trajectory and a point.
8
// Calculates (in ctor) the distance and the flight lengths alongs
9
// the trajectory or trajectories; calculated values are obtained
10
// through accessors. "Precision" is maximum allowed error on distance
11
// (in cm). The input flightlengths are used as a starting point; the
12
// code will find the point-of-closest-approach that is closest to that
13
// point. (A good starting point also reduces CPU time.)
14
// Note that distance is a signed quantity for two trajectories.
15
// Environment:
16
// Software developed for the BaBar Detector at the SLAC B-Factory.
17
//
18
// Author(s): Steve Schaffner; core algorithm stolen from Art Snyder.
19
//
20
//------------------------------------------------------------------------
21
#ifndef TRKPOCA_H
22
#define TRKPOCA_H
23
class
TrkDifTraj
;
24
#include "
TrkBase/TrkPocaBase.h
"
25
26
// Class interface //
27
class
TrkPoca
:
public
TrkPocaBase
{
28
public
:
29
TrkPoca
(
const
Trajectory
& traj1,
double
flt1
,
30
const
Trajectory
& traj2,
double
flt2
,
31
double
precision
=1.e-5);
32
TrkPoca
(
const
Trajectory
& traj,
double
flt,
33
const
HepPoint3D
& pt,
double
precision
=1.e-5);
34
~TrkPoca
() {};
35
36
inline
double
doca
()
const
;
// distance of closest approach
37
/*
38
// The following inherited functions are also available:
39
const TrkErrCode& status() const; // did the calculation succeed?
40
double flt1() const; // path length on traj 1 @ poca
41
double flt2() const;
42
double precision(); // In case anyone wants to know:
43
*/
44
45
private
:
46
double
_doca;
47
48
// private functions
49
void
calcDist(
const
Trajectory
& traj1,
const
Trajectory
& traj2);
50
// Preempt
51
// TrkPoca& operator= (const TrkPoca&);
52
// TrkPoca(const TrkPoca &);
53
};
54
55
// Inlined functions
56
double
TrkPoca::doca
()
const
{
return
_doca;}
57
58
#endif
TrkPocaBase.h
HepGeom::Point3D< double >
Trajectory
Definition
Trajectory.h:35
TrkDifTraj
Definition
TrkDifTraj.h:28
TrkPocaBase
Definition
TrkPocaBase.h:25
TrkPocaBase::precision
double precision()
Definition
TrkPocaBase.h:59
TrkPocaBase::flt2
double flt2() const
Definition
TrkPocaBase.h:68
TrkPocaBase::flt1
double flt1() const
Definition
TrkPocaBase.h:65
TrkPoca
Definition
TrkPoca.h:27
TrkPoca::TrkPoca
TrkPoca(const Trajectory &traj1, double flt1, const Trajectory &traj2, double flt2, double precision=1.e-5)
Definition
TrkPoca.cxx:22
TrkPoca::~TrkPoca
~TrkPoca()
Definition
TrkPoca.h:34
TrkPoca::doca
double doca() const
Definition
TrkPoca.h:56
6.6.5.h
Reconstruction
MdcPatRec
TrkBase
TrkBase-00-01-12
TrkBase
TrkPoca.h
Generated by
1.12.0