BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcPatRec/TrkBase/include/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:
31 virtual ~TrkVisitor();
32
33 //********************************
34 // The visitor functions:
35 //********************************
36
37 virtual void trkVisitHelixTraj( const HelixTraj* ) = 0;
38 virtual void trkVisitCircleTraj( const TrkCircleTraj* ) = 0;
39 virtual void trkVisitNeutTraj( const NeutTraj* ) = 0;
40 virtual void trkVisitLineTraj( const TrkDifLineTraj* ) = 0;
41};
42
43#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