ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::VxSecVertexInfo Class Reference

#include <VxSecVertexInfo.h>

Inheritance diagram for Trk::VxSecVertexInfo:
Collaboration diagram for Trk::VxSecVertexInfo:

Public Member Functions

 VxSecVertexInfo ()
 VxSecVertexInfo (std::vector< xAOD::Vertex * >)
virtual VxSecVertexInfoclone () const
virtual ~VxSecVertexInfo ()
 VxSecVertexInfo (const VxSecVertexInfo &)
 VxSecVertexInfo (VxSecVertexInfo &&) noexcept=default
VxSecVertexInfooperator= (const VxSecVertexInfo &)
VxSecVertexInfooperator= (VxSecVertexInfo &&) noexcept=default
const std::vector< xAOD::Vertex * > & vertices () const
void setVertices (const std::vector< xAOD::Vertex * > &)
void setSVOwnership (bool Ownership)

Protected Attributes

std::vector< xAOD::Vertex * > m_vertices
bool m_SVOwnership

Detailed Description

Definition at line 40 of file VxSecVertexInfo.h.

Constructor & Destructor Documentation

◆ VxSecVertexInfo() [1/4]

Trk::VxSecVertexInfo::VxSecVertexInfo ( )

Definition at line 24 of file VxSecVertexInfo.cxx.

24: m_SVOwnership(false) {}

◆ VxSecVertexInfo() [2/4]

Trk::VxSecVertexInfo::VxSecVertexInfo ( std::vector< xAOD::Vertex * > vertices)

Definition at line 26 of file VxSecVertexInfo.cxx.

26 : m_vertices(std::move(vertices)), m_SVOwnership(false) {
27
28 }
const std::vector< xAOD::Vertex * > & vertices() const
std::vector< xAOD::Vertex * > m_vertices

◆ ~VxSecVertexInfo()

Trk::VxSecVertexInfo::~VxSecVertexInfo ( )
virtual

Definition at line 30 of file VxSecVertexInfo.cxx.

30 {
31 std::vector<xAOD::Vertex*>::const_iterator verticesBegin=m_vertices.begin();
32 std::vector<xAOD::Vertex*>::const_iterator verticesEnd=m_vertices.end();
33
34 if(m_SVOwnership){ // Delete vertices only if ownership is set explicitly
35 for (std::vector<xAOD::Vertex*>::const_iterator verticesIter=verticesBegin;
36 verticesIter!=verticesEnd;++verticesIter) {
37 xAOD::Vertex* myCandidate=*verticesIter;
38 if (myCandidate!=nullptr) {
39 delete myCandidate;
40 } else {
41 std::cout << " Warning in VxSecVertexInfo: tried to delete a zero pointer --> Inconsistency found. " << std::endl;
42 }
43 }
44 }
45 }
Vertex_v1 Vertex
Define the latest version of the vertex class.

◆ VxSecVertexInfo() [3/4]

Trk::VxSecVertexInfo::VxSecVertexInfo ( const VxSecVertexInfo & rhs)

Definition at line 47 of file VxSecVertexInfo.cxx.

47 {
48
49 std::vector<xAOD::Vertex*>::const_iterator verticesBegin=rhs.m_vertices.begin();
50 std::vector<xAOD::Vertex*>::const_iterator verticesEnd=rhs.m_vertices.end();
51
52 for (std::vector<xAOD::Vertex*>::const_iterator verticesIter=verticesBegin;
53 verticesIter!=verticesEnd;++verticesIter) {
54 xAOD::Vertex* myCandidate=*verticesIter;
55 if (myCandidate!=nullptr) {
56 m_vertices.push_back(new xAOD::Vertex(*myCandidate));
57 } else {
58 std::cout << " Warning in VxSecVertexInfo: tried in copy constructor to copy over a zero pointer Vertex " << std::endl;
59 }
60 }
61 m_SVOwnership=false;
62 }

◆ VxSecVertexInfo() [4/4]

Trk::VxSecVertexInfo::VxSecVertexInfo ( VxSecVertexInfo && )
defaultnoexcept

Member Function Documentation

◆ clone()

VxSecVertexInfo * Trk::VxSecVertexInfo::clone ( ) const
inlinevirtual

Reimplemented in Trk::VxJetFitterVertexInfo, and Trk::VxSecVKalVertexInfo.

Definition at line 88 of file VxSecVertexInfo.h.

88 {
89 return new VxSecVertexInfo(*this);
90 }

◆ operator=() [1/2]

VxSecVertexInfo & Trk::VxSecVertexInfo::operator= ( const VxSecVertexInfo & rhs)

Definition at line 64 of file VxSecVertexInfo.cxx.

64 {
65
66 if (this!=&rhs) {
67
68 m_vertices.clear();
69
70 std::vector<xAOD::Vertex*>::const_iterator verticesBegin=rhs.m_vertices.begin();
71 std::vector<xAOD::Vertex*>::const_iterator verticesEnd=rhs.m_vertices.end();
72
73 for (std::vector<xAOD::Vertex*>::const_iterator verticesIter=verticesBegin;
74 verticesIter!=verticesEnd;++verticesIter) {
75 xAOD::Vertex* myCandidate=*verticesIter;
76 if (myCandidate!=nullptr) {
77 m_vertices.push_back(new xAOD::Vertex(*myCandidate));
78 } else {
79 std::cout << " Warning in VxSecVertexInfo: tried in copy constructor to copy over a zero pointer Vertex " << std::endl;
80 }
81 }
82 m_SVOwnership=false;
83 }
84 return *this;
85 }

◆ operator=() [2/2]

VxSecVertexInfo & Trk::VxSecVertexInfo::operator= ( VxSecVertexInfo && )
defaultnoexcept

◆ setSVOwnership()

void Trk::VxSecVertexInfo::setSVOwnership ( bool Ownership)
inline

Definition at line 74 of file VxSecVertexInfo.h.

74 {
75 m_SVOwnership=Ownership;
76 }

◆ setVertices()

void Trk::VxSecVertexInfo::setVertices ( const std::vector< xAOD::Vertex * > & vertices)

Definition at line 92 of file VxSecVertexInfo.cxx.

92 {
94 }

◆ vertices()

const std::vector< xAOD::Vertex * > & Trk::VxSecVertexInfo::vertices ( ) const

Definition at line 88 of file VxSecVertexInfo.cxx.

88 {
89 return m_vertices;
90 }

Member Data Documentation

◆ m_SVOwnership

bool Trk::VxSecVertexInfo::m_SVOwnership
protected

Definition at line 82 of file VxSecVertexInfo.h.

◆ m_vertices

std::vector<xAOD::Vertex*> Trk::VxSecVertexInfo::m_vertices
protected

Definition at line 81 of file VxSecVertexInfo.h.


The documentation for this class was generated from the following files: