LCFIVertex  0.7.2
vertex_lcfi/inc/event.h
1 #ifndef LCFIEVENT_H
2 #define LCFIEVENT_H
3 
4 #include "../util/inc/vector3.h"
5 #include "../util/inc/matrix.h"
6 #include <vector>
7 
8 namespace vertex_lcfi
9 {
10  using namespace util;
11 
12  //Forward Declarations
13  class Track;
14  class Jet;
15  class Vertex;
16 
18 
23  class Event
24  {
25  public:
27 
30  Event();
31 
33 
37  Event(const Vector3 & Position, const SymMatrix3x3 & Error);
38 
40 
43  Event(Vertex* ipVertex);
44 
46 
49  void addJet(Jet* Jet);
50 
52 
55  const std::vector<Jet*> & jets() const;
56 
58 
61  void addTrack(Track* Track);
62 
64 
67  const std::vector<Track*> & tracks() const;
68 
70 
73  inline void replacePrimaryVertex(Vertex* NewPrimary)
74  {_IPVertex = NewPrimary;}
75 
77 
80  const Vector3 & interactionPoint() const;
81 
83 
86  const SymMatrix3x3 & interactionPointError() const;
87 
89 
92  Vertex* ipVertex() const;
93 
94 
95  private:
96  Vertex* _IPVertex;
97  //Depreceated in favour of holding a complete vertex object
98  //Vector3 _IPPosition;
99  //SymMatrix3x3 _IPError;
100  std::vector<Jet*> _Jets;
101  std::vector<Track*> _Tracks;
102  };
103 
104  }
105 #endif //LCFIEVENT_H
106 
107 
void replacePrimaryVertex(Vertex *NewPrimary)
Replace Primary Vertex.