BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/MdcPatRec/TrkBase/include/TrkBase/TrkMomVisitor.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3//
4// Description: TrkMomVisitor is an implementation of the Visitor pattern
5// for use in calculating momenta for different types of
6// trajectories. (See the book _Design Patterns_ or one of the
7// authors for a definition of the Visitor pattern.)
8//
9// Environment:
10// Software developed for the BaBar Detector at the SLAC B-Factory.
11//
12// Author(s): Justin Albert, Steve Schaffner
13//
14//------------------------------------------------------------------------
15#ifndef TRKMOMVISITOR_H
16#define TRKMOMVISITOR_H
17
18#include "TrkBase/TrkVisitor.h"
19
20class TrkSimpTraj;
21class HelixTraj;
22class TrkCircleTraj;
23class NeutTraj;
24class TrkDifLineTraj;
25
26// Class interface //
27class TrkMomVisitor : public TrkVisitor {
28
29public:
31
32 virtual ~TrkMomVisitor();
33
34 // ******************
35 // data member access
36 // ******************
37
38 const HelixTraj* helix() const { return _ht; }
39 const TrkCircleTraj* circle() const { return _ct; }
40 const NeutTraj* neut() const { return _nt; }
41 const TrkDifLineTraj* line() const { return _lt; }
42
43 //********************************
44 // The visitor functions:
45 //********************************
46
47 virtual void trkVisitHelixTraj( const HelixTraj* );
48 virtual void trkVisitCircleTraj( const TrkCircleTraj* );
49 virtual void trkVisitNeutTraj( const NeutTraj* );
50 virtual void trkVisitLineTraj( const TrkDifLineTraj* );
51
52private:
53 const HelixTraj* _ht;
54 const TrkCircleTraj* _ct;
55 const NeutTraj* _nt;
56 const TrkDifLineTraj* _lt;
57};
58
59#endif
virtual void trkVisitCircleTraj(const TrkCircleTraj *)
virtual void trkVisitHelixTraj(const HelixTraj *)
TrkMomVisitor(const TrkSimpTraj &)
virtual void trkVisitNeutTraj(const NeutTraj *)
virtual ~TrkMomVisitor()
virtual void trkVisitLineTraj(const TrkDifLineTraj *)