BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
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:
30
32
33 virtual ~TrkMomVisitor();
34
35 // ******************
36 // data member access
37 // ******************
38
39 const HelixTraj* helix() const {return _ht;}
40 const TrkCircleTraj* circle() const {return _ct;}
41 const NeutTraj* neut() const {return _nt;}
42 const TrkDifLineTraj* line() const {return _lt;}
43
44 //********************************
45 // The visitor functions:
46 //********************************
47
48 virtual void trkVisitHelixTraj(const HelixTraj*);
49 virtual void trkVisitCircleTraj(const TrkCircleTraj*);
50 virtual void trkVisitNeutTraj(const NeutTraj*);
51 virtual void trkVisitLineTraj(const TrkDifLineTraj*);
52
53private:
54
55 const HelixTraj* _ht;
56 const TrkCircleTraj* _ct;
57 const NeutTraj* _nt;
58 const TrkDifLineTraj* _lt;
59
60};
61
62#endif
const TrkCircleTraj * circle() const
const TrkDifLineTraj * line() const
virtual void trkVisitNeutTraj(const NeutTraj *)
const HelixTraj * helix() const
virtual void trkVisitLineTraj(const TrkDifLineTraj *)
TrkMomVisitor(const TrkSimpTraj &)
virtual ~TrkMomVisitor()
const NeutTraj * neut() const
virtual void trkVisitHelixTraj(const HelixTraj *)
virtual void trkVisitCircleTraj(const TrkCircleTraj *)