ATLAS Offline Software
Loading...
Searching...
No Matches
VxCandidate.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef VXVERTEX_VXCANDIDATE_H
6#define VXVERTEX_VXCANDIDATE_H
7
10#include "VxVertex/RecVertex.h"
11#include <vector>
12
19
20class MsgStream;
21
22namespace Trk {
23
24class VxTrackAtVertex;
25
26class VxCandidate : public Trk::ObjectCounter<Trk::VxCandidate>
27{
28public:
33
39 const std::vector<Trk::VxTrackAtVertex*>& vxTrackAtVertex);
40
41 VxCandidate(Trk::RecVertex&& recVertex, std::vector<Trk::VxTrackAtVertex*>&& vxTrackAtVertex);
42
46 virtual ~VxCandidate();
47 VxCandidate(const VxCandidate& rhs);
50 virtual VxCandidate* clone() const;
51
53 virtual MsgStream& dump(MsgStream& sl) const;
55 virtual std::ostream& dump(std::ostream& sl) const;
56
60 const Trk::RecVertex& recVertex(void) const;
61
67
72
77 std::vector<Trk::VxTrackAtVertex*>* vxTrackAtVertex(void);
78
82 const std::vector<Trk::VxTrackAtVertex*>* vxTrackAtVertex(void) const;
83
88
92 VertexType vertexType() const;
93
94protected:
95 // the type of the vertex (see TrkEventPrimitives/VertexType.h for details)
97
98 // the fitted vertex (position plus error matrix)
100
101 // information on used tracks
102 std::vector<Trk::VxTrackAtVertex*> m_vxTrackAtVertex;
103
104}; // end of class definitions
105
108MsgStream&
109operator<<(MsgStream& sl, const VxCandidate& sf);
110std::ostream&
111operator<<(std::ostream& sl, const VxCandidate& sf);
112
113inline void
118
119inline VertexType
121{
122 return m_vertexType;
123}
124
125inline void
130
131inline const Trk::RecVertex&
133{
134 return m_recVertex;
135}
136
137inline Trk::RecVertex&
139{
140 return m_recVertex;
141}
142
143inline std::vector<Trk::VxTrackAtVertex*>*
148
149inline const std::vector<Trk::VxTrackAtVertex*>*
151{
152 return &m_vxTrackAtVertex;
153}
154
155inline Trk::VxCandidate*
157{
158 return new Trk::VxCandidate(*this);
159}
160
161} // end of namespace definitions
162#endif
Helper to enable counting number of instantiations in debug builds.
Trk::RecVertex inherits from Trk::Vertex.
Definition RecVertex.h:44
std::vector< Trk::VxTrackAtVertex * > m_vxTrackAtVertex
void setRecVertex(Trk::RecVertex &recVertex)
RecVertex set method.
void setVertexType(VertexType vertexType)
return the type of the vertex
VertexType vertexType() const
return the type of the vertex
virtual VxCandidate * clone() const
Trk::VertexType m_vertexType
Definition VxCandidate.h:96
Trk::RecVertex m_recVertex
Definition VxCandidate.h:99
virtual ~VxCandidate()
Virtual destructor, copy-constructor and assignement operator.
std::vector< Trk::VxTrackAtVertex * > * vxTrackAtVertex(void)
Unconst pointer to the vector of tracks Required by some of the vertex fitters.
const Trk::RecVertex & recVertex(void) const
Returns a reference to reconstructed vertex.
VxCandidate & operator=(const VxCandidate &)
VxCandidate()
Default constructor for persistency.
Ensure that the ATLAS eigen extensions are properly loaded.
VertexType
This file defines the enums in the Trk namespace for the different vertex types.
Definition VertexType.h:25
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
-event-from-file