ATLAS Offline Software
Loading...
Searching...
No Matches
VxSecVertexInfo.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5/****************************************
6
7 VxSecVertexInfo.h - Description
8 -------------------
9
10 begin: March 2007
11 authors: CSC vertexing note group members :-)
12 work started by: Giacinto Piacquadio (University of Freiburg)
13 e-mail: giacinto.piacquadio@physik.uni-freiburg.de
14 changes: new!
15
16This class represents the base information about secondary vertices, which is
17given by a vector of VxCandidate*. The class OWNS the VxCandidate. Pointers
18 are used to allow inheritance of the extended classes from the VxCandidate.
19
20
21 April 2014: Trk::VxCandidate is replaced by xAOD::Vertex
22
23 May 2014: VxSecVertexInfo doesn't own the corresponding secondary vertices anymore by default.
24 Beware - this leads to a strong memory leak if SV are not explictly deleted before VxSecVertexInfo destructor.
25 VxSecVertexInfo gets back the SV ownership if setSVOwnership(true) is called.
26
27*****************************************/
28
29#ifndef VXSECVERTEX_VXSECVERTEXINFO_H
30#define VXSECVERTEX_VXSECVERTEXINFO_H
31
34#include "xAODTracking/Vertex.h"
35#include <vector>
37
38namespace Trk {
39
41 {
42
43 public:
44
45 /* default constructor for persistency */
47
48 /* constructor with list of VxCandidate. The VxSecVertexInfo takes
49 care of the ownership of the VxCandidate*. Don't delete them
50 afterwards */
51 VxSecVertexInfo(std::vector<xAOD::Vertex*> );
52
53 /* clone method */
54 virtual VxSecVertexInfo* clone() const;
55
56 /* Destructor */
57 virtual ~VxSecVertexInfo();
58
59 /* Copy constructor */
61 VxSecVertexInfo(VxSecVertexInfo &&) noexcept = default;
62
63 /* Assignment operator */
65 VxSecVertexInfo& operator= (VxSecVertexInfo &&) noexcept = default;
66
67 /* get the list of Vertices */
69
70 /* set the list of Vertices */
72
73 /* set Ownership */
74 void setSVOwnership (bool Ownership) {
75 m_SVOwnership=Ownership;
76 }
77
78
79 protected:
80
81 std::vector<xAOD::Vertex*> m_vertices;
83
84 };
85
86
87
89 return new VxSecVertexInfo(*this);
90 }
91
92
93}//end namespace
94
95namespace Trk
96{
98}
99
100
101CLASS_DEF( Trk::VxSecVertexInfo , 170608128 , 1 )
102CLASS_DEF( Trk::VxSecVertexInfoContainer , 1284088780 , 1 )
103
104
105
106#endif
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
An STL vector of pointers that by default owns its pointed-to elements.
Define macros for attributes used to control the static checker.
Derived DataVector<T>.
Definition DataVector.h:795
This class is a simplest representation of a vertex candidate.
VxSecVertexInfo(VxSecVertexInfo &&) noexcept=default
const std::vector< xAOD::Vertex * > & vertices() const
std::vector< xAOD::Vertex * > m_vertices
void setVertices(const std::vector< xAOD::Vertex * > &)
void setSVOwnership(bool Ownership)
virtual VxSecVertexInfo * clone() const
Ensure that the ATLAS eigen extensions are properly loaded.
DataVector< Trk::VxSecVertexInfo > VxSecVertexInfoContainer
STL namespace.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.