BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcPatRec/TrkBase/TrkBase-00-01-12/TrkBase/TrkVisitor.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3//
4// Description: TrkVisitor is an implementation of the Visitor pattern
5// for use in calculating various things for different types of
6// trajectories. (See the book _Design Patterns_ or one of the
7// authors for a definition of the Visitor pattern.) It is the
8// abstract base class for visitors such as MomVisitor (the
9// momentum visitor) and others.
10//
11// Environment:
12// Software developed for the BaBar Detector at the SLAC B-Factory.
13//
14// Author(s): Justin Albert, Steve Schaffner
15//
16//------------------------------------------------------------------------
17
18#ifndef TRKVISITOR_H
19#define TRKVISITOR_H
20
21class HelixTraj;
22class TrkCircleTraj;
23class NeutTraj;
24class TrkDifLineTraj;
25
26// Class interface //
27class TrkVisitor {
28
29public:
30
32 virtual ~TrkVisitor();
33
34 //********************************
35 //The visitor functions:
36 //********************************
37
38 virtual void trkVisitHelixTraj(const HelixTraj*) = 0;
39 virtual void trkVisitCircleTraj(const TrkCircleTraj*) = 0;
40 virtual void trkVisitNeutTraj(const NeutTraj*) = 0;
41 virtual void trkVisitLineTraj(const TrkDifLineTraj*) = 0;
42
43
44};
45
46#endif
virtual void trkVisitCircleTraj(const TrkCircleTraj *)=0
virtual void trkVisitNeutTraj(const NeutTraj *)=0
virtual ~TrkVisitor()
virtual void trkVisitLineTraj(const TrkDifLineTraj *)=0
virtual void trkVisitHelixTraj(const HelixTraj *)=0