ATLAS Offline Software
ISvxAssociation.cxx
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  ISvxConstituents.h - Description
7  -------------------
8  begin : March, 2007
9  authors : CSC b-tagging vertexing note group members
10  worked started by: Giacinto Piacquadio
11  email : giacinto.piacquadio@physik.uni-freiburg.de
12 
13  changes : new!
14 
15 ***************************************************************************/
16 
19 
20 namespace Analysis
21 {
22 
23 
25  m_vertexInfo(0) {}
26 
28  m_vertexInfo(0)
29  { this->setName(name); }
30 
32  {
33 
34  //delete the vertexInfo (if there)
35  if (m_vertexInfo) {
36  delete m_vertexInfo;
38  }
39  }
40 
42  INavigable(rhs),
43  JetAssociationBase(rhs),
44  m_vertexInfo(rhs.m_vertexInfo!=0 ? rhs.m_vertexInfo->clone() : 0)
45  { }
46 
48  JetAssociationBase(rhs),
49  m_vertexInfo(rhs.m_vertexInfo!=0 ? rhs.m_vertexInfo->clone() : 0)
50  { this->setName(name); }
51 
52 
54  { return new ISvxAssociation( *this );}
55 
57  {
58  if (this!=&rhs) {
59  this->setName(rhs.name());
60  if (m_vertexInfo) {
61  delete m_vertexInfo;
62  m_vertexInfo=0;
63  }
64  if (rhs.m_vertexInfo) {
66  }
67  }
68  return *this;
69  }
70 
72  return m_vertexInfo;
73  }
74 
75  //PAY ATTENTION!
76  // Set function (OWNERSHIP of the object is taken by THIS class, so don't delete
77  // the pointer you are providing afterwards)
79  if (m_vertexInfo) {
80  delete m_vertexInfo;
82  }
84  }
85 
86 }//end namespace Analysis
Analysis::ISvxAssociation
Definition: ISvxAssociation.h:41
Analysis::NameType
std::string NameType
string to identify the constituent
Definition: IConstituent.h:39
Analysis::ISvxAssociation::vertexInfo
const Trk::VxSecVertexInfo * vertexInfo() const
Definition: ISvxAssociation.cxx:81
Analysis::ISvxAssociation::m_vertexInfo
const Trk::VxSecVertexInfo * m_vertexInfo
Definition: ISvxAssociation.h:77
ISvxAssociation.h
python.Utilities.clone
clone
Definition: Utilities.py:134
JetAssociationBase::setName
void setName(const name_t &name)
Definition: JetAssociationBase.cxx:15
Analysis::ISvxAssociation::setVertexInfo
void setVertexInfo(const Trk::VxSecVertexInfo *)
Definition: ISvxAssociation.cxx:88
VxSecVertexInfo.h
Analysis::ISvxAssociation::~ISvxAssociation
~ISvxAssociation()
destructor
Definition: ISvxAssociation.cxx:41
INavigable
Definition: INavigable.h:18
JetAssociationBase
Definition: JetAssociationBase.h:21
Analysis::ISvxAssociation::ISvxAssociation
ISvxAssociation()
constructor
Definition: ISvxAssociation.cxx:34
Analysis::ISvxAssociation::operator=
ISvxAssociation & operator=(const ISvxAssociation &)
Definition: ISvxAssociation.cxx:66
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Trk::VxSecVertexInfo
Definition: VxSecVertexInfo.h:63
Trk::VxSecVertexInfo::clone
virtual VxSecVertexInfo * clone() const
Definition: VxSecVertexInfo.h:110
Analysis::ISvxAssociation::clone
virtual ISvxAssociation * clone() const
a clone method for the proper workings of the copy constructor
Definition: ISvxAssociation.cxx:63
NameType
std::string NameType
Definition: JetINav4MomAssociation.h:29
JetAssociationBase::name
const name_t & name() const
Definition: JetAssociationBase.cxx:20