ATLAS Offline Software
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 
20 class MsgStream;
21 
22 namespace Trk {
23 
24 class VxTrackAtVertex;
25 
26 class VxCandidate : public Trk::ObjectCounter<Trk::VxCandidate>
27 {
28 public:
32  VxCandidate();
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);
49  VxCandidate& operator=(VxCandidate&&) noexcept;
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 
94 protected:
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 
108 MsgStream&
109 operator<<(MsgStream& sl, const VxCandidate& sf);
110 std::ostream&
111 operator<<(std::ostream& sl, const VxCandidate& sf);
112 
113 inline void
115 {
117 }
118 
119 inline VertexType
121 {
122  return m_vertexType;
123 }
124 
125 inline void
127 {
129 }
130 
131 inline const Trk::RecVertex&
133 {
134  return m_recVertex;
135 }
136 
137 inline Trk::RecVertex&
139 {
140  return m_recVertex;
141 }
142 
143 inline std::vector<Trk::VxTrackAtVertex*>*
145 {
146  return &m_vxTrackAtVertex;
147 }
148 
149 inline const std::vector<Trk::VxTrackAtVertex*>*
151 {
152  return &m_vxTrackAtVertex;
153 }
154 
155 inline Trk::VxCandidate*
157 {
158  return new Trk::VxCandidate(*this);
159 }
160 
161 } // end of namespace definitions
162 #endif
RecVertex.h
Trk::VxCandidate::recVertex
const Trk::RecVertex & recVertex(void) const
Returns a reference to reconstructed vertex.
Definition: VxCandidate.h:132
Trk::VxCandidate::m_vertexType
Trk::VertexType m_vertexType
Definition: VxCandidate.h:96
Trk::VertexType
VertexType
Definition: VertexType.h:25
Trk::VxCandidate::vertexType
VertexType vertexType() const
return the type of the vertex
Definition: VxCandidate.h:120
TrkObjectCounter.h
Trk::VxCandidate::operator=
VxCandidate & operator=(const VxCandidate &)
Definition: VxCandidate.cxx:66
Trk::VxCandidate::setRecVertex
void setRecVertex(Trk::RecVertex &recVertex)
RecVertex set method.
Definition: VxCandidate.h:126
Trk::ObjectCounter
Helper to enable counting number of instantiations in debug builds.
Definition: TrkObjectCounter.h:18
Trk::RecVertex
Trk::RecVertex inherits from Trk::Vertex.
Definition: RecVertex.h:44
Trk::VxCandidate::VxCandidate
VxCandidate()
Default constructor for persistency.
Definition: VxCandidate.cxx:27
Trk::VxCandidate::m_recVertex
Trk::RecVertex m_recVertex
Definition: VxCandidate.h:99
Trk::VxCandidate::vxTrackAtVertex
std::vector< Trk::VxTrackAtVertex * > * vxTrackAtVertex(void)
Unconst pointer to the vector of tracks Required by some of the vertex fitters.
Definition: VxCandidate.h:144
Trk::VxCandidate::m_vxTrackAtVertex
std::vector< Trk::VxTrackAtVertex * > m_vxTrackAtVertex
Definition: VxCandidate.h:102
Trk::VxCandidate::dump
virtual MsgStream & dump(MsgStream &sl) const
Output Method for MsgStream, to be overloaded by child classes.
Definition: VxCandidate.cxx:106
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
xAOD::vertexType
vertexType
Definition: Vertex_v1.cxx:166
Trk::VxCandidate::~VxCandidate
virtual ~VxCandidate()
Virtual destructor, copy-constructor and assignement operator.
Definition: VxCandidate.cxx:98
VertexType.h
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition: AlignModule.cxx:204
Trk::VxCandidate
Definition: VxCandidate.h:27
Trk::VxCandidate::clone
virtual VxCandidate * clone() const
Definition: VxCandidate.h:156
Trk::VxCandidate::setVertexType
void setVertexType(VertexType vertexType)
return the type of the vertex
Definition: VxCandidate.h:114